How to use vim (key-bindings) with Visual Studio Code vim extension

Solution 1:

Add the following to settings.json (open the Command Pallete and search for "User Settings"):

"vim.insertModeKeyBindings": [
     {
         "before": ["j", "j"],
         "after": ["<esc>"]
     }
]

That should do it.

Solution 2:

If you running on Linux and have used setxkbmap to remap Esc to Caps-Lock and have problems, I suggest the following workaround Fix for Esc remapping.

The solution is to add the following to your User Settings

"keyboard.dispatch": "keyCode"

You should save and restart after that enter image description here

Solution 3:

From this issue, I learned that you can use something like

{ "key": "j j", "command": "extension.vim_esc", "when": "editorTextFocus" },

But it does come with a problem of not being able to use j for movement.

PS. I know this is not a complete answer but something to get going.