|
166 | 166 | { keys: 'Y', type: 'operatorMotion', operator: 'yank', motion: 'moveToEol', motionArgs: { inclusive: true }, operatorMotionArgs: { visualLine: true }}, |
167 | 167 | { keys: 'C', type: 'operatorMotion', operator: 'change', motion: 'moveToEol', motionArgs: { inclusive: true }, operatorMotionArgs: { visualLine: true }}, |
168 | 168 | { keys: '~', type: 'operatorMotion', operator: 'swapcase', operatorArgs: { shouldMoveCursor: true }, motion: 'moveByCharacters', motionArgs: { forward: true }}, |
| 169 | + { keys: '<C-w>', type: 'operatorMotion', operator: 'delete', motion: 'moveByWords', motionArgs: { forward: false, wordEnd: false }, context: 'insert' }, |
169 | 170 | // Actions |
170 | 171 | { keys: '<C-i>', type: 'action', action: 'jumpListWalk', actionArgs: { forward: true }}, |
171 | 172 | { keys: '<C-o>', type: 'action', action: 'jumpListWalk', actionArgs: { forward: false }}, |
|
235 | 236 | var name = ''; |
236 | 237 | if (e.ctrlKey) { name += 'C-'; } |
237 | 238 | if (e.altKey) { name += 'A-'; } |
238 | | - if (mac && e.metaKey || (!hasModifier || e.shiftKey) && key.length < 2) { |
| 239 | + if (mac && e.metaKey || (!hasModifier && e.shiftKey) && key.length < 2) { |
239 | 240 | // Shift key bindings can only specified for special characters. |
240 | 241 | return; |
241 | | - } else if (e.shiftKey) { name += 'S-'; } |
| 242 | + } else if (e.shiftKey && !/^[A-Za-z]$/.test(key)) { |
| 243 | + name += 'S-'; |
| 244 | + } |
242 | 245 | if (key.length == 1) { key = key.toLowerCase(); } |
243 | 246 | name += key; |
244 | 247 | if (name.length > 1) { name = '<' + name + '>'; } |
|
0 commit comments