I just started using Visual Studio Code and think it's really great.
Also installed the vim extension, but I'm struggling with mapping esc to a another key.
Normally I have this:
:imap jj <Esc>
And I can see that VS Code has a keybindings.json file. I tried this:
[{
"key": "jj",
"command": "vim.Esc",
"when": "editorTextFocus"
}]
Also there is a settings.json file, so I tried:
{
"vim.keyboardLayout": "en-US (QWERTY)",
"vim.insertModeKeyBindings": {
"j": "vim.Esc"
}
}
Also did not work. So does anyone know how to use the a vim extension with VS Code where I can map jj
to Esc
or something else to Esc
perhaps?
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.
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.
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