Vim Motion
You already use vim mode every day. You moved your editor — Zed, maybe VS Code —
into vim mode months ago, and the basics are muscle memory: h j k l, i to
insert, dd to nuke a line, :w to save. But there are moves you still do the
slow way. To copy a word you select it first — drag, or v then a fistful of
ls — and then yank. To grab the inside of a string you eyeball the quotes and
shift-select between them. It works, but it’s the same select-then-act reflex you
brought over from your old editor, and it’s exactly the reflex Vim was built to
delete.
This guide fixes the mental model, not just your keybindings. Once the model clicks, the keystrokes stop being a list to memorize and become something you can derive on the spot.
The core idea: verb, then noun
Section titled “The core idea: verb, then noun”Vim is a tiny grammar. You don’t select text and then act on it — you state an
operator (the verb: y yank, d delete, c change) and then a motion or
text object (the noun: a word, the inside of the quotes, to the next comma).
You edit by naming the target, not by selecting it first. yiw is “yank inside
word.” ci( is “change inside parentheses.” Learn a handful of operators and a
handful of objects and you get their product for free — every verb composes with
every noun, so you never memorize yiw and ci( as separate facts. That single
shift, from selecting to naming, is what the whole guide is about.
The lessons
Section titled “The lessons”Lesson 1 is live. The rest are on the way and listed below so you can see where this is headed.
Upcoming lessons:
| Lesson | What it covers |
|---|---|
| Operators & text objects, in depth | The full verb x noun table — iw/aw, i"/a", i(/i{, tags — and why composition beats memorization |
| Motions & navigation | f and t, w/b/e, %, and search-as-motion with / |
| Change & delete | c and d over the same objects, and why ciw replaces a whole rename |
| Registers & macros | Named registers, the clipboard register, and recording a q macro |
| Visual mode mastery | When selecting first is genuinely the right call — and how to do it well |
| Dot-repeat & efficiency | . to replay your last change, and shaping edits so it works for you |
How the lessons work
Section titled “How the lessons work”Every lesson is example-driven, and each one ships an interactive Vim playground right on the page. You read the idea, then practice it in a real editor embedded in the doc — no setup, no switching windows. The playground runs actual vim mode, gives you small challenges (yank this word, grab the inside of that string), and checks what landed in your register, so you get immediate feedback while the model is still fresh.
When you’re ready, start with Selection & Yanking.