You Don't Need Vim

Vim keybindings work in almost every editor and IDE

This is a book about an editing language, not an editor. The grammar is the same in Neovim, VS Code, JetBrains, Emacs, and a dozen other places.

The demos in this book use Neovim โ€” a modern, community-driven fork of Vim with clean defaults and a fast UI. We use it because it photographs well and ships sane defaults. But here is the secret: you do not have to use Neovim. You do not even have to use Vim.

Vim keybindings โ€” the editing language โ€” are available almost everywhere. Most readers of this book will use them inside a tool they already love.

Editor / Environment What to install
VS Code Vim extension (vscodevim.vim)
JetBrains IDEs (IntelliJ, PyCharm, GoLand, Rider, โ€ฆ) IdeaVim plugin
Visual Studio VsVim extension
Sublime Text Vintage / NeoVintageous
Emacs Evil mode (or Doom Emacs / Spacemacs)
Xcode Xvim2 plugin
Eclipse Vrapper
Atom (RIP) vim-mode-plus
Chrome / Firefox / Safari Vimium / Tridactyl / Vimari
Obsidian Built-in Vim mode (Settings โ†’ Editor)
JupyterLab jupyterlab-vim
Bash / Zsh shell set -o vi (or bindkey -v)
readline (everywhere it is used) set editing-mode vi in ~/.inputrc

diw deletes a word in Vim, in Neovim, in VS Code with the Vim extension, in IntelliJ with IdeaVim, and at the Bash prompt with set -o vi. The grammar is universal. This book teaches the grammar โ€” not any specific editor.

From here on, when this book says "Vim," we mean the editing language. The simulator demos run on real Neovim, but the keys you learn work in whatever you use.

See also: Modal Editing, Vi โ†’ Vim โ†’ Neovim, Vim in Other Editors