Search is also a motion
You already know /pattern finds the next match. The magic is that searches compose with operators: d/foo<Enter> deletes everything from the cursor up to the next "foo." Search is a verb-chain ingredient, not a separate tool.
The basic search keys
/pattern— search forward for a regex.?pattern— search backward.n— next match (same direction as last search).N— previous match.*— search forward for the word under the cursor.#— search backward for the word under the cursor.:noh— clear the search highlighting (or map<Esc>to it; see Track 4).
The substitute command
Vim's :s is a regex search-and-replace, with flags that matter:
g— global within a line (every occurrence, not just first).c— confirm each replacement (great for risky changes).i— case-insensitive.I— case-sensitive (overridesignorecase).
Range matters
:s/a/b/ replaces only on the current line. :%s/a/b/g uses % as "the whole file." :'<,'>s/a/b/g uses the visual selection. :5,20s/a/b/g uses lines 5 through 20. Range first, command second — that's the recipe.
Magic, very magic, and escape soup
Vim regexes are notoriously punctuation-heavy because by default many metacharacters need backslashes. \v at the start of a pattern enables "very magic" mode where regexes look like everywhere else: (, +, ? work without backslashes. Habit: start every nontrivial regex with \v.
& in Normal mode repeats the last :s on the current line. g& repeats it across the whole file. Pair with the dot command's logic — search/substitute have their own repeat keys.