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?
VSCodeVim is a Vim emulator for Visual Studio Code. 🚚 For a full list of supported Vim features, please refer to our roadmap. 📃 Our change log outlines the breaking/major/minor updates between releases. Report missing features/bugs on GitHub.
All keyboard shortcuts in VS Code can be customized via the keybindings. json file. To configure keyboard shortcuts through the JSON file, open Keyboard Shortcuts editor and select the Open Keyboard Shortcuts (JSON) button on the right of the editor title bar. This will open your keybindings.
It's much faster and much more configurable than VS Code. It has all the main features from VS Code + others. Remember: vim is born to be used from terminal and to be paired with all the terminal tricks that exist around. It's a the perfect match on linux.
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.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With