History, aliases, functions, PATH, and config load order — zsh-flavored.
↑ / ↓Ctrl-R + typeCtrl-R (repeat)EnterPure text substitution — the shell rewrites the typed word before running anything. Only expands at the START of a command (or after ;/&&/|), never mid-line as an argument.
alias gs='git status'gs now expands to git statusaliasunalias gsReal shell logic — takes arguments ($1, $2, ...), can branch, loop, chain multiple commands. Use when an alias's dumb text-substitution isn't enough.
mkcd() {
mkdir "$1"
cd "$1"
}
echo $PATHwhich <command>type <command>which, but also reports if it's an alias/function instead of a file on disksource ~/.zshrc.zshrc (or .bashrc) is read ONCE, at shell startup — not watched, not re-read automatically as you edit it.command &Ctrl-ZfgbgjobsThe pattern across all of these: they add context (git state, ignore rules, usage history, data structure) that the classic Unix tool they replace predates and structurally cannot see.
eza -la --gitls -la, but git-aware — queries git per-file, shows status inlinerg <pattern>grep -r, but automatically respects .gitignorefd <pattern>find, but gitignore-aware and simpler syntaxbat <file>cat, but with syntax highlighting and git-diff margin markersz <fragment>cd, but ranks past directories by frecency and fuzzy-jumpsjq '.path.to.field'Three files, three sources of truth — full procedure in MIGRATION.md.
brew bundle dump --forcebrew bundle install --file=Brewfilemas listmas install <app-id>APPS.md — plain checklist for anything with NO package-manager path at all. Kept honestly incomplete, filled in as gaps are actually noticed, not backfilled speculatively.