Moving inefficiently kills productivity. Cursor-by-cursor navigation doesn’t scale for large files. Efficient editing requires efficient movement commands.
Vim provides granular movement commands: character, word, line, search, and screen-level navigation.
w— start of next worde— end of current wordb— start of previous word
WORD vs word: word = alphanumeric + underscore; WORD = whitespace-separated
/pattern— search forward,?patternbackward*— search word under cursor forward#— search word under cursor backward%— jump to matching bracket (`, { or [)
- All movement commands can be combined with operators:
d$,yG,ce *is smart: uses word boundaries- Counts work:
3wmoves 3 words;5jmoves 5 lines down nrepeats last search,Nreverses
^visually appears above_but is differentfis line-local — doesn’t wrap by default, use;or search- Word boundaries differ from TEXT objects boundaries
- Survival Commands —
hjklare basic movements - Repetition — Combine with counts
- Vim Modes — All work in Normal mode
- Visual Selection — Can use as motions