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.
What you get
Skills that stick
Every project mixes short lessons, focused drills and real build steps, so you finish with working code and the judgement behind it.
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
Step by step
Each module builds on the last. Read a short lesson, drill it until it's second nature, then put it to work.
- 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
Ready when you are.
Work through it at your own pace and pick up right where you left off.