EvidenceChain answer
How does the Vim Scoops game use driving an ice-cream van to teach basic Vim motions, and what commands does it cover?
Vim Scoops is a free browser game that disguises Vim training as an ice‑cream delivery adventure. Instead of clicking around with a mouse, you drive a van — which represents your cursor — through a town that represents the text you are editing. You can only use real Vim keyboard commands (no mouse or arrow keys) to serve the customers under a “par” keystroke limit [1][7][8][28][31]. Each of the 45 levels introduces a small set of motions, displayed as badges, and the par system pushes you to find the most efficient sequence [9][20][25][30].
How the ice‑cream van teaches Vim
- The van is your cursor and the town is your text. To move the van, you press Vim motion keys — exactly like you would move the cursor in a real Vim session [1][16][21][30].
- The game forbids the mouse and arrow keys, so from the very first level you start building muscle memory for keyboard‑only navigation [8][19].
- Levels are bite‑sized: each one tackles only a handful of motions, shown as badges on the screen, so you learn step by step [9].
- Every route has a “par” (a target number of keystrokes). Finishing under par rewards efficient use of the commands, just like a good Vim user aims to do [25][30].
What commands does Vim Scoops cover?
The game’s 45 levels take you from the simplest movements all the way to recording macros. The official reference lists the full set [32], and early players have mentioned how it drills particular motions like f, ;, gg and e [2][17][24][26]. Here they are, grouped by category.
Moving around the town
- h, j, k, l – left, down, up, right [10][32]
- 0, ^, $ – go to line start, first non‑space character, line end [10][32]
- w, b, e – jump forward one word, back one word, to the end of the current word [10][26][32]
- W, B, E – same, but they also jump across punctuation [10][32]
- gg, G – jump to the very top row (gg) or bottom row (G) [10][24][32]
- fx, Fx – fly right / left to the specific character x [2][10][32]
- tx, Tx – pull up just before / after a particular character [10][32]
- ; , , – repeat the last f/t or F/T jump forward or backward [2][10][17][32]
- A number before a motion – for example, 3j moves down three lines at once [10][24][32]
Editing what you’re serving
- x – delete the character under the van [11][32]
- rc – replace that character with the letter c [11][32]
- dd / yy – cut (delete) or copy (yank) the entire line [11][32]
- dw, de, d$ – delete from the cursor to the end of a word, to end of the current word, or to the end of the line [11][32]
- p / P – paste what you copied or cut, after or before the cursor [11][32]
- xp – transpose two neighbouring characters [11][32]
- di", di( – delete everything inside quotes or brackets (da" or da( also removes the surrounding symbols) [11][32]
- . (dot) – repeat your last editing action [11][32]
- u / Ctrl+r – undo the last change or redo it [11][32]
Insert mode
(When you need to type new text or change what’s already there)
- i / a – start typing before or after the cursor [12][32]
- I / A – start typing at the beginning or end of the line [12][32]
- o / O – open a fresh line below or above the current line [12][32]
- cc / C – change the whole line or change to the end of the line [12][32]
- s – delete the character and immediately start typing in its place [12][32]
- ciw, ci" – change the current word, or change text inside quotes [12][32]
- Esc – leave insert mode and go back to normal (command) mode [12][32]
Visual mode
(For highlighting and operating on blocks of text)
- v – start selecting a range character by character [13][32]
- V – select the whole line; keeping V pressed highlights whole lines [13][32]
- Ctrl+v – select a rectangular column [13][32]
- d, y, c – delete, copy, or change the highlighted area [13][32]
- rc – replace every highlighted character with c [13][32]
- o – jump to the other end of the highlighted area [13][32]
Searching for customers
- /search‑term then Enter – find and jump to the next occurrence [14][32]
- n / N – jump to the next or previous match [14][32]
- ***** (asterisk) – search for the word currently under the cursor [14][32]
Registers & macros
(Advanced power‑user moves)
- "ayy – copy the current line into a storage bin called “a” (any letter a‑z can be used) [15][32]
- "ap – paste the contents of that bin [15][32]
- qa … q – record a sequence of keystrokes into bin “a”; press q again to stop recording [15][32]
- @a – replay the recorded macro (e.g., 3@a replays it three times) [15][32]
- @@ – replay the most recently used macro [15][32]
The full tour of 45 levels walks you through all these commands, so by the time you’ve served every customer under par, you’ll have a solid Vim vocabulary — all while driving an ice‑cream van through town [20][32].
Discussion
Comments
Sign in to join the discussion
Comments are open to registered users so replies and notifications stay tied to a real account.
No comments yet. Be the first to add a useful angle.