|
358 | 358 | cm.setOption('disableInput', true); |
359 | 359 | cm.setOption('showCursorWhenSelecting', false); |
360 | 360 | CodeMirror.signal(cm, "vim-mode-change", {mode: "normal"}); |
361 | | - cm.on('beforeSelectionChange', beforeSelectionChange); |
362 | 361 | cm.on('cursorActivity', onCursorActivity); |
363 | 362 | maybeInitVimState(cm); |
364 | 363 | CodeMirror.on(cm.getInputField(), 'paste', getOnPasteFn(cm)); |
365 | 364 | } else if (cm.state.vim) { |
366 | 365 | cm.setOption('keyMap', 'default'); |
367 | 366 | cm.setOption('disableInput', false); |
368 | | - cm.off('beforeSelectionChange', beforeSelectionChange); |
369 | 367 | cm.off('cursorActivity', onCursorActivity); |
370 | 368 | CodeMirror.off(cm.getInputField(), 'paste', getOnPasteFn(cm)); |
371 | 369 | cm.state.vim = null; |
|
2471 | 2469 | CodeMirror.signal(cm, "vim-mode-change", {mode: "normal"}); |
2472 | 2470 | if (vim.fakeCursor) { |
2473 | 2471 | vim.fakeCursor.clear(); |
2474 | | - cm.setOption('showCursorWhenSelecting', true); |
2475 | 2472 | } |
2476 | 2473 | } |
2477 | 2474 |
|
|
4338 | 4335 | } else if (cm.doc.history.lastSelOrigin == '*mouse') { |
4339 | 4336 | // Reset lastHPos if mouse click was done in normal mode. |
4340 | 4337 | vim.lastHPos = cm.doc.getCursor().ch; |
4341 | | - } |
4342 | | - if (cm.somethingSelected()) { |
4343 | | - vim.visualMode = true; |
4344 | | - cm.setOption('showCursorWhenSelecting', false); |
| 4338 | + if (cm.somethingSelected()) { |
| 4339 | + // If something is still selected, enter visual mode. |
| 4340 | + vim.visualMode = true; |
| 4341 | + } |
4345 | 4342 | } |
4346 | 4343 | if (vim.visualMode) { |
4347 | 4344 | var from, head; |
|
0 commit comments