Skip to content

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

Description

@syko

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):

  • Extension (VsCodeVim) version: 1.21.6
  • VSCode version: 1.59.0
  • OS: Windows 11 Pro

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions