Vsvim: Changing Handling of Keybindings to VsVim doesn't seem to work correctly

Created on 4 Jul 2017  ·  4Comments  ·  Source: VsVim/VsVim

Setup: VS2017 + Resharper ( not sure if that causes a problem or not)

When I try to change the Ctrl-E and Ctrl-D to be handled by VsVim and save setting, it hangs for a long time (> 1 minute). It eventually becomes responsive, and it says it is handling it, however

Ctrl-E binding is wrong, it thinks it's a chord and waits for the second part of the chord.

Ctrl-D is handled correctly

keyboard conflict

Most helpful comment

The only current solution for this problem is to check the "Include All Scopes" checkbox when assigning keys to VsVim or Visual Studio. It is really a bug that Visual Studio processes the first key of a chord that only refers to commands in scopes that do not apply. I have the same problem with <C-t> and always use "Include All Scopes" and "Handle all with VsVim" when setting up a new installation of Visual Studio with VsVim.

The blocking delay is related to how long it takes to look up and perform key bindings. That only takes a couple of seconds on my laptop, but others have also reported long delays as you have experienced.

All 4 comments

Resharper definitely isn't the problem because I am experiencing the same thing with Ctrl-E and I don't have Resharper.

Ctrl-E binding is wrong, it thinks it's a chord and waits for the second part of the chord.

I think that's the clue. vsvim seems to have problems with (vistual studio) shortcuts that consist of 2 keystrokes. Like this:
image
I noticed this with Ctrl-R and SSDT ( which introduce a bunch of chords as shortcut that start with ctrl-r in 2017 ).
I think there is way to get these Ctrl-E (or -R) working in vsvim: delete all chords that start with them. You can do this, by going to: Options -> Env. -> Keyboard and then press ctrl-e (like in the screenshot) and delete (backspace) all shortcuts that show up.

The only current solution for this problem is to check the "Include All Scopes" checkbox when assigning keys to VsVim or Visual Studio. It is really a bug that Visual Studio processes the first key of a chord that only refers to commands in scopes that do not apply. I have the same problem with <C-t> and always use "Include All Scopes" and "Handle all with VsVim" when setting up a new installation of Visual Studio with VsVim.

The blocking delay is related to how long it takes to look up and perform key bindings. That only takes a couple of seconds on my laptop, but others have also reported long delays as you have experienced.

Had the same problem. Fresh installation of VsVim, Ctrl-E wouldn't work despite having a) assigned all keys to VsVim in the Tools -> Options -> VsVim -> Keyboard dialog b) made sure Ctrl+E was not used by any other short cuts in the Tools -> Options -> Environment -> Keyboard dialog. Once I followed the suggestion of @ricksladkey and checked the 'Include all scopes' in the VsVim configuration dialog, Ctrl+E then worked properly.

Was this page helpful?
0 / 5 - 0 ratings