Analysis updated 2026-06-24 · repo last pushed 2026-05-21
Get Vim modal editing inside VS Code without leaving the editor for a terminal.
Load an existing .vimrc and reuse familiar key remappings in VS Code.
Emulate plugins like vim-surround, vim-easymotion, and vim-commentary without installing real Vim plugins.
Hand off Ex commands to a real Neovim process for richer command handling.
| vscodevim/vim | jupyterlab/jupyterlab | different-ai/openwork | |
|---|---|---|---|
| Stars | 15,147 | 15,142 | 15,157 |
| Language | TypeScript | TypeScript | TypeScript |
| Last pushed | 2026-05-21 | — | 2026-05-22 |
| Maintenance | Maintained | — | Maintained |
| Setup difficulty | easy | easy | moderate |
| Complexity | 2/5 | 3/5 | 3/5 |
| Audience | developer | data | vibe coder |
Figures from each repo's GitHub metadata at analysis time.
macOS users need a defaults write tweak to make key repeat work, Windows users may need to adjust useCtrlKeys.
VSCodeVim is an extension for Visual Studio Code that makes the editor behave like Vim. Vim is the long-running text editor whose distinguishing feature is modal editing: you press keys in normal mode to navigate and run commands, switch to insert mode to type text, and visual mode to select. People who learned Vim tend to want those same key combinations everywhere they edit code, and this extension brings them inside VS Code so they can keep that muscle memory while still using the rest of VS Code's interface. Installation is through the VS Code extension marketplace or the OpenVSX marketplace. On macOS the README points out a quirk: by default, holding a key down does not repeat the key the way Vim users expect, because of an accessibility feature called press-and-hold. The fix is a one-line defaults write command for the relevant VS Code build (regular, Insiders, VSCodium, or Windsurf), then a logout and restart. On Windows the extension takes over control-key shortcuts by default, which the README notes can be controlled by the useCtrlKeys and handleKeys settings. Configuration lives in VS Code's settings.json file. A worked example in the README turns on EasyMotion, incremental search, and the system clipboard, sets the leader key to space, maps jj in insert mode to escape, and remaps Ctrl-A and Ctrl-F back to VS Code's native handlers. Key remapping is broken down per Vim mode: insertModeKeyBindings, normalModeKeyBindings, visualModeKeyBindings, and operatorPendingModeKeyBindings, each with a Non-Recursive variant that does not re-trigger other mappings. The extension also supports loading an existing .vimrc file. A Neovim integration option lets the extension hand off Ex commands (the ones you type after a colon) to a real Neovim process for handling. The extension supports multi-cursor mode and emulates a number of popular Vim plugins, listed in the README: vim-airline, vim-easymotion, vim-surround, vim-commentary, vim-indent-object, vim-sneak, CamelCaseMotion, an input-method helper, ReplaceWithRegister, vim-textobj-entire, and vim-textobj-arguments. These are reimplementations inside the extension, so installing them as real Vim plugins is not needed. The settings table is long and covers everything from cursor styles per mode to custom digraph shorthands. The README also includes a tricks section and a frequently asked questions section, followed by contributor guidance and shoutouts. Reporting bugs and missing features is directed to the GitHub issue tracker, and a changelog file documents breaking, major, and minor updates between releases. The full README is longer than what was shown.
VSCodeVim is a Visual Studio Code extension that adds Vim modal editing, key remapping, and popular Vim plugin emulations directly inside the editor.
Mainly TypeScript. The stack also includes TypeScript, VS Code, Neovim.
Maintained — commit in last 6 months (last push 2026-05-21).
MIT licensed: use freely in personal and commercial projects as long as the copyright notice is kept.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.