Vim macros, from record-and-replay to reshaping thousands of lines

A Vim macro is a recorded sequence of keystrokes that you replay against a range, and it is the tool that beats sed, awk, and multi-cursor for irregular structural edits. This is the reference post: recording, replaying, applying over ranges, editing a macro as text in a register, recursive macros, and the specific patterns that make macros a daily tool. Fourth and final in the Vim series.

August 9, 2026 · 12 min · Omar Crosby

Vim registers, all ten kinds and when each one saves you

Vim has ten kinds of registers — unnamed, numbered, named, small-delete, read-only, expression, selection, black-hole, alternate-file, and last-search. Most Vim users know two of them and lose work to the other eight. This is the reference post: what each register is for, when it saves you, and the concrete recipes that turn registers from trivia into a daily tool. Third in a four-part Vim series.

August 9, 2026 · 14 min · Omar Crosby

Vim motions and text objects, the actual language

Motions and text objects are where Vim’s productivity actually lives. This post is a full reference — every motion category, every text object, the counts and repeats that combine with them, and worked examples showing why ‘change inside quotes’ is the command you’ll type ten times a day. Second in a four-post series on Vim, following the modal-editing intro and preceding the deep dives on registers and macros.

August 9, 2026 · 14 min · Omar Crosby

Modal editing in Vim, from scratch

Modal editing is not a keyboard shortcut scheme. It’s a small language for describing text edits, and once you see it as a language the rest of Vim stops being a pile of trivia. First in a four-post series: this one covers the four core modes, the verb-motion-object grammar, and the smallest set of commands that gets a new user productive by the end of the afternoon. Companion posts go deep on motions and text objects, registers, and macros.

August 9, 2026 · 12 min · Omar Crosby

Why I love Neovim

The case for Neovim from someone who spent thirty-plus years on vi and years on JetBrains before finally trying it — not because either was broken, but because Neovim’s customizability makes your editor a Personal Development Environment in a way IDEs can’t match. With concrete examples from the yoda.nvim distribution.

July 12, 2026 · 10 min · Omar Crosby