Is Vim worth learning? The honest costs and benefits
For most people who write code or edit text every day, yes: learning Vim's motions pays back within weeks and keeps paying, because the same keys work in VS Code, JetBrains IDEs, Zed, Obsidian, Emacs and on any server. You don't have to switch editors to get that. The costs are real: a slower first week or two, and a configuration hobby you may not want. If you rarely edit text, it probably isn't worth it.
| Where | How you get Vim keys | Notes |
|---|---|---|
| Vim and Neovim | Built in | The full set |
| Any Linux or Unix server | vi or vim | vi is specified by POSIX and almost always installed |
| VS Code | VSCodeVim or vscode-neovim extension | vscode-neovim runs a real Neovim |
| JetBrains IDEs (IntelliJ, PyCharm, WebStorm…) | IdeaVim plugin | Macros, registers and marks supported; config in ~/.ideavimrc |
| Zed | Built-in Vim mode ("vim_mode": true) | Zed says it does not replicate Vim one-to-one |
| Obsidian | Settings, Editor: "Use Vim key bindings when editing" | For writing notes in Markdown |
| Emacs | Evil package (or Doom Emacs, Spacemacs) | Vim modes and motions inside Emacs |
| Web browsers | Extensions such as Vimium (Chrome, Edge, Firefox) | Navigation keys: j/k to scroll, f to open a link |
| Your shell | set -o vi in bash | Edit the command line with Vim keys |
What you actually get
The thing worth learning is not the Vim program so much as its editing language. In Normal mode, keys combine: an operator (d delete, c change, y copy) plus a motion or text object says what to act on. dw deletes a word, ci" replaces everything inside the quotes, dap deletes a paragraph, and . repeats the last change. A few dozen keys combine into hundreds of precise edits, without reaching for the mouse or holding modifiers.
The practical benefits:
- Fewer keystrokes for common edits, especially changing text inside brackets, quotes and tags, and repeating a change across a file.
- It travels. The same motions work in the editors in the table above, so changing IDEs or jobs doesn't reset your skills.
- You are never stuck on a server. SSH into any machine, run
vi, and you can edit a config file properly. - Bigger tools when you need them: macros,
:ssubstitutions over ranges and:gto act on every matching line.
Predict the edit
The cursor is on Vim. You press ci", type Yes and press Esc. What is the line now?
The two-minute test
Feel the payoff before you decide. Mark the first task done with ciw and the new word, repeat that on the next line with j and ., then swap the last two lines with dd and p. The key count shown is par; most people need a couple of goes.
This editor needs a keyboard. Read on, and play it at your computer.
The honest costs
- A slow start. For the first days you will be slower than in your current editor, and modal editing feels odd until switching modes becomes automatic. It is uncomfortable to go through this on a deadline.
- Unlearning. Habits like holding an arrow key or selecting with the mouse keep pulling you back, and it takes deliberate practice to replace them.
- The configuration rabbit hole. Vim and especially Neovim invite endless tinkering with plugins and settings. That can be fun, but it is not the same as learning to edit, and it can eat the time you meant to save. You can skip it entirely by using Vim keys inside the editor you already have.
- Small mismatches. Vim modes in other editors are emulations, and each one covers slightly different ground. Zed, for example, says plainly that its Vim mode is not one-to-one with Vim.
Who it is not for
Vim is probably not worth it if you edit text only occasionally, if most of your work is in tools with no Vim mode (spreadsheets, design tools, word processors), or if you already have fast, comfortable habits in another editor and no itch to change. It is also fine to learn only the survival keys for servers (i, Esc, :wq, :q!) and stop there; how to exit Vim covers that in two minutes.
How long it takes to get productive
Nobody has measured this well, so treat the following as typical experience rather than data. With 15 to 30 minutes of deliberate practice a day, many people are comfortable with the basics (moving, inserting, deleting, undo, saving) after a few days, and back to their old speed after one to three weeks of using Vim keys for real work. Feeling clearly faster usually takes a month or two, as text objects, . and search-based motions become habits. People who try to learn everything at once, or switch editors and configs at the same time, tend to take longer.
The useful thing to know is that you don't need the whole of Vim. A small core of motions and operators gives most of the benefit, and the rest can be added one habit at a time.
A sensible way to start
1. Do vimtutor once. Run vimtutor in a terminal (in Neovim, :Tutor). The Vim docs describe it as a 30-minute tutorial in two chapters that teaches the basics hands-on. - Turn on Vim keys where you already work. Install the Vim extension or plugin for your editor rather than switching editors; the VS Code and IdeaVim lesson shows how. - Learn one thing a week and use it. Words (w, b, e), then operators, then text objects like ciw and ci(, then . and search. Keep the cheat sheet open. - Practise a little every day. Short, regular practice beats a long weekend. If you want structured exercises, the course teaches the motions in a browser, step by step, and the practice drills keep them fresh.
Leave plugins and a big config for later, if ever. They are much easier to judge once the core keys are automatic.
Questions
- Is Vim still worth learning in 2026?
- Yes, if you edit text or code daily. Vim keybindings are supported in VS Code, JetBrains IDEs, Zed, Obsidian and Emacs, and vi is on nearly every server, so the skill stays useful whichever editor you use.
- Should I learn Vim or Neovim?
- The keys are identical, so it hardly matters for learning. Neovim adds a Lua config and built-in LSP; Vim is more often already installed. See Vim vs Neovim.
- Do I have to stop using VS Code?
- No. Most people get the benefit by installing a Vim extension in the editor they already use.