whitphx / vscode-emacs-mcx

Awesome Emacs Keymap - VSCode emacs keybinding with multi cursor support
https://marketplace.visualstudio.com/items?itemName=tuttieee.emacs-mcx
Other
369 stars 63 forks source link

using vscode-emacs-mcx with vspace would break the visual mode of the latter #1860

Open AnabasisXu opened 6 months ago

AnabasisXu commented 6 months ago

I tried to recreate the Evil mode experience with VScode so I installed VSpaceCode | VSpaceCode.

As C-v is binded to Scroll Up, I deleted this keybinding and all the other binding of C-v to prevent conflict. However, the both visual mode and visual line mode of vim does not work properly.

whitphx commented 4 months ago

I don't know about that plugin. Please describe the details of the problem and tell me what I should fix on our side.

AnabasisXu commented 3 months ago

When both vscode-emacs-mcx and vspace are enabled, suppose we have 3 lines:

111
222
333
  1. Press V at 111 and we have visual line at this line, which is what it should be: image

  2. Continue to press down twice, the visual area will not follow the cursor:

image

  1. Press y to try to copy from 111 to 333, yet only 111 is copied.

In contrast, if we use Emacs Friendly Keymap, the same steps 1 and 2 works fine:

image

I like vscode-emacs-mcx more than Emacs Friendly Keymap, but have to use the latter because of the visual mode selection bug. I would appreciate it if you could kindly fix it. Thank you!

whitphx commented 2 months ago

This extension manages the mark-mode and selection state in its internals and provides customized cursor movement commands such as emacs-mcx.nextLine which is assigned to "down" and ctrl+n for example. So I think it doesn't work well with VSpaceCode's V command which is of course not compatible with this extension's mark-mode management. One option is to disable the keybindings defined by this extension such as "down" so they are fallen back to the original keybindings with which the VSpaceCode's selection commands work well.