Vim Basics
A small language, not a long list
An operator takes a region. A count multiplies it. A text object names a region without travelling to it. Three slots and thirty pieces generate several hundred commands, so instead of fifty facts you get the rule that produces the fifty-first. Every drill has one exact answer: this buffer, this cursor, this command.
- Modules
- 6
- Drills
- 9
- Build steps
- 2
- Time
- ~4h
Walk out able to
Predict the exact line a command leaves behind, say which register the text went to, and build a command for an edit nobody has shown you.
What this covers
Modes, and getting back
Which state you are in, and what your keys did in it.
Motions and operators
Land on the right column, then act on the right region.
Registers
Why your paste gave you the wrong text, and the fix.
Search, replace, repeat
Substitution ranges, and deriving commands yourself.
The pitch
What you practise, and what you leave with
Rename a field across a file without corrupting its neighbour, then edit a twelve-line file into a stated shape using composed commands.
You will practise
- Which mode you are in, and what it did
- Exactly where a motion lands
- Operators, counts and text objects
- Registers, substitution and repeat
Afterwards you can
- Predict the line a command leaves behind
- Say which register the text went into
- Build a command nobody taught you
- Repeat a change instead of retyping it
Modules
6 modules, 28 items
Lessons explain one idea. Drills repeat it until it sticks. Build steps make something that exists afterwards.
- 1
Modes
~27 minKnow which mode you are in, and what your keys just did in it.
- LessonTell which mode you are in9 min
- LessonPick the right way into Insert mode7 min
- DrillSay what the keys did in that mode11 min
- 2
Motions
~29 minSay exactly where the cursor lands, before any operator is involved.
- LessonMove by character, and along the line6 min
- LessonTwo ideas of a word6 min
- LessonAim at a character on the line5 min
- DrillLand the cursor on the right column12 min
- 3
Operators
~39 minApply a verb to a region, and get exactly the buffer you expected.
- LessonApply an operator to a region6 min
- LessonThe doubled form, and the line4 min
- LessonWhere the pattern bends5 min
- DrillWrite the line the operator left12 min
- DrillName a region with a text object12 min
- 4
Registers
~27 minSay where the deleted text went, and what the next paste will produce.
- LessonSay where the deleted text went6 min
- LessonThe clause that catches everyone4 min
- LessonThe registers you name yourself5 min
- DrillSay what is in the register12 min
- 5
Search and replace
~41 minUse a search as a motion, and a substitution as a range with flags.
- LessonUse a search as a motion6 min
- LessonA substitution is a range and flags5 min
- LessonBound the pattern to a whole word4 min
- DrillSay how many it will change12 min
- Build stepRename a field, and only that field14 min
- 6
The grammar
~1hDerive a command nobody taught you, and repeat it without retyping it.
- LessonDerive a command nobody taught you6 min
- LessonRead a command somebody else wrote4 min
- LessonRepeat the last change5 min
- DrillName the command that did this12 min
- DrillType the command that does it14 min
- DrillSay what the dot repeated11 min
- Build stepEdit a real file by composing22 min
More in Tools & workflow
Keep going
Regex
Read the pattern. Then predict exactly what it does.
Intermediate~4h6 modules
Git: The Model
Stop memorising the commands. Learn what they move.
Intermediate~5h6 modules
Git: Collaboration
Two people, one history, and no surprises.
Intermediate~5h7 modules
VS Code
Stop guessing what the window just did.
Foundational~4h6 modules
Stop memorising keystrokes. Learn the grammar that generates them.
The first item is free. ~4h of focused work, at your own pace.
Foundational~4h6 modules