
VSCodeVim
Vim keybindings and modes inside Visual Studio Code, as a VS Code extension.VSCodeVim/Vim
- Stars
- 15.2k
- Forks
- 1.5k
- Licence
- MIT
- Language
- TypeScript
- Last update
- 7 days ago
- Type
- App
What it is
VSCodeVim is an extension that makes Visual Studio Code behave like the Vim text editor, so you can edit text with Vim's keyboard commands and modes. People use it when they already know Vim and want those habits inside VS Code. The README describes it as a Vim emulator rather than real Vim, and it supports settings, key remapping, and a .vimrc file.
- Edit code in VS Code using Vim motions, operators, and modes
- Remap keys such as a double-j to Escape in insert mode via settings.json
- Set a leader key and custom normal-mode bindings
- Emulate common Vim plugins such as surround and commentary
Great for
- Developers who already know Vim and want its keybindings in VS Code
- People who want to customize keys with settings.json remappings
- Users who want to load parts of an existing .vimrc into VS Code
Not ideal for
- Users who have never used Vim and want a simple editor, since the modal keys have a learning curve
- People expecting full Vim feature parity, because the README calls it an emulator and lists some plugin emulations rather than the full set
How to get it
- 1
Download the app
You'll need: Visual Studio Code
Clone the repository
git clone https://github.com/VSCodeVim/Vim.git - 2
Run it
- Install VSCodeVim from the VS Code Marketplace or OpenVSX Marketplace
- Open VS Code and start editing a file in normal mode
- Optionally add settings such as vim.leader or key bindings in settings.json
- 3
Get the most out of it
- Use vim.insertModeKeyBindings and normal-mode non-recursive bindings to create custom shortcuts
- Set vim.useSystemClipboard to share the system clipboard with Vim yank and paste
- Use vim.handleKeys to hand specific keys back to VS Code
- Change cursor shape per mode with vim.cursorStylePerMode
Downloads
Strengths
- Brings familiar Vim keybindings into VS Code
- Configurable through VS Code settings and key remapping options
- Open source under the MIT license with an active issue tracker
Trade-offs
- Emulation is not identical to real Vim, so some behavior may differ
- On Mac, key-repeat needs a terminal command and a logout to work properly
- On Windows it takes over control keys unless you adjust the useCtrlKeys and handleKeys settings
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| Vim (this) | 15.2k | App | beginner | 7 days ago | Developers who already know Vim and want its keybindings in VS Code |
| ideavim | 10.3k | App | beginner | 4 days ago | Developers who already know Vim and want its keys inside a JetBrains IDE |
| pretty-ts-errors | 14.1k | App | beginner | 6 days ago | Developers working in VS Code on TypeScript projects with complex or generic types |
| git-history | 13.7k | App | beginner | 2.1 years ago | Developers trying to understand why a file looks the way it does |
| kilocode | 27.8k | AI model / agent | beginner | 4 days ago | Developers who want an AI coding agent inside VS Code or JetBrains |
| vim-airline | 18k | App | beginner | 23 days ago | Vim users who want a clearer status bar without heavy configuration |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.