VSCodeVim / Vim

:star: Vim for Visual Studio Code
http://aka.ms/vscodevim
MIT License
13.94k stars 1.32k forks source link

Exiting Insert mode loses multiple cursors when Insert mode was entered from Visual mode via `I` or `A` #7008

Open syko opened 3 years ago

syko commented 3 years ago

Describe the bug When selecting multiple occurrences of a word or selection via Ctrl + D, then entering Insert mode with c, then entering Normal mode via Escape, the multiple cursors are preserved (great!). However if Insert mode was entered via Shift +i or Shift + a, then the additional cursors are lost. In both cases Insert mode was entered directly from Visual mode but afterwards they behave differently. I believe this is a discrepancy that shouldn't exist and makes me sad :(

The best workaround I can see is to enter Normal mode (from Visual mode) via Ctrl + [ before entering Insert mode. That way the cursors are preserved upon exiting Insert mode.

To Reproduce Steps to reproduce the behavior:

  1. Select multiple occurrences of a word or selection via Ctrl + D
  2. Enter Insert mode via Shift + i or Shift + a
  3. Type some text (optional)
  4. Exit Insert mode via Escape
  5. Only the first cursor remains

Expected behavior Exiting Insert mode into Normal mode should retain all cursors. Then pressing Escape once more in Normal mode should clear the additional cursors.

Environment (please complete the following information):

alexisthual commented 1 year ago

I would love to this this solved as well as I hit this unintended behaviour everyday I think haha. @J-Fields happy to try and help if you could point me to the right direction!