Meet the modes
In Normal mode your keyboard is a remote full of commands; in Insert mode it types. i switches to typing, Esc back to the remote, x is your first button, and u takes back a mistake.
Day one at Byte Burrito, the startup that delivers burritos by e-bike, mostly on time. Your laptop is set up, your mouse is in a drawer (company policy: "ninjas don't click"), and your first ticket is a typo in menu.ts.
You click into the file, start typing, and nothing appears. The cursor jumps around instead. The editor isn't broken. It just has two moods, and you haven't met them yet.
Two modes, two jobs
Vim starts in Normal mode, where your keyboard works like a TV remote: every key is a button that does something (move, delete, undo), and none of them types. Press i and it becomes a keyboard again: that's Insert mode, where keys type text. Esc turns it back into a remote, and the status line under the editor always says which one you're holding.
Your first edit
Three words went missing from the menu. The cursor is already in place each time: press i, type the word, then Esc.
This exercise needs a keyboard. Read on, and play it at your computer.
The undo button
Pressed the wrong buttons? Nothing is lost. Press Esc so you're holding the remote, then u: the undo button. It takes back the last change, whether that was a word you typed in the wrong place or a line a stray button opened. The next round hands you three accidents to take back.
Take it back
Each round starts with an accident that already happened. You're back on the remote: press u to undo it.
This exercise needs a keyboard. Read on, and play it at your computer.
Back to the remote
Finishing a word is only half the job. Until you press Esc, every key you press is a letter, including the ones you meant as buttons. Make leaving a reflex: type, Esc, look. In the next round you start in Insert mode, mid-sentence.
Back to Normal
The status line says INSERT. Finish what was being typed, if anything, and press Esc.
This exercise needs a keyboard. Read on, and play it at your computer.
Your first button
Back in Normal mode, letters stop being letters. x is the delete button: it removes the character under the cursor, and pressing it again takes the next one. It's your first real command, and it leaves the remote in your hand: you're still in Normal mode afterwards.
Press delete
Someone leaned on the keyboard. The cursor sits on each extra character: delete it with x.
This exercise needs a keyboard. Read on, and play it at your computer.
Which mode are you in?
You press i, then x. What happens to the line?
Remote or keyboard?
From memory: which key does it?
First commit
Your first pull request: eight fixes in menu.ts, some missing text, some extra. The cursor waits at each one. i to type, Esc when you're done, x to delete, u if a button misfires. A clock times the run for your own records; getting it right comes first.
This exercise needs a keyboard. Read on, and play it at your computer.
Extra practice optional
The chapter is done. These rounds keep going as long as you like: stop whenever it stops being useful.
Proofreading
Endless typos from around the codebase: a letter missing or a letter too many. The cursor is always on the spot. Stop whenever you like.
This exercise needs a keyboard. Read on, and play it at your computer.