Skip to content

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.

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.

Lesson 1 is live. The rest are on the way and listed below so you can see where this is headed.

Upcoming lessons:

LessonWhat it covers
Operators & text objects, in depthThe full verb x noun table — iw/aw, i"/a", i(/i{, tags — and why composition beats memorization
Motions & navigationf and t, w/b/e, %, and search-as-motion with /
Change & deletec and d over the same objects, and why ciw replaces a whole rename
Registers & macrosNamed registers, the clipboard register, and recording a q macro
Visual mode masteryWhen 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

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.