Best with a physical keyboard.
terminal ninja
Guides, tools and gear for people who suspect the GUI was a mistake.
Start here
Section titled “Start here”New to the dojo? These are the pieces to read first:
Best terminal emulatorsThe window you stare at all day matters more than your editor. Choose wisely.
The modern CLI starter pack
ls and grep have been on the job since the seventies. These seven replacements actually noticed.Getting started with tmuxSessions that survive closed lids, dead VPNs, and the train going into a tunnel.
The SSH config fileStop typing IP addresses like a Victorian clerk. Name your hosts and be done with it.
Linux playgroundEvery tool these guides cover, already installed in the machine above. Try before you install.
Guides
Section titled “Guides”- Customise your shell prompt with Starship — because the default prompt tells you nothing and looks dreadful doing it.
- Terminal keyboard shortcuts — the mouse is a lovely device. For other people.
- Getting started with tmux — persistence, panes, and a starter config that fixes the defaults worth fixing.
- tmux cheat sheet — every default binding in tables, for when you know what you want and not which key does it.
- The SSH config file — named hosts, key-based login, and the first-match-wins rule that catches everyone.
- Zsh without the bloat — Oh My Zsh is a theme park. Forty lines of
.zshrcis a shell. - Manage your dotfiles — that carefully tuned setup lives on one machine until it doesn’t. Git already knows how to fix this.
- Git config: the settings worth stealing — git’s defaults were chosen for everyone who has ever used it. Twenty lines choose them for you instead.
- direnv: per-project environment variables —
export AWS_PROFILE=prodlives in that tab until you regret it. Let the directory own it instead. - Truecolor in tmux, SSH and Vim — your colour scheme is fine. Something between it and the screen is lying about
TERM. - jq: parsing JSON on the command line — the API replied with four thousand characters on one line. Fish out the field you wanted.
- fzf: fuzzy finding anything — stop remembering paths and command history. Type three letters at it instead.
- ripgrep (rg) cheat sheet — grep’s defaults were the problem, not you. Plus the four reasons it can’t see your file.
- Bash strict mode —
set -euo pipefail, the four places it quietly gives up, and a script header worth pasting everywhere.
Every guide, grouped by what you’re actually trying to get done: all guides.
Gear and tools
Section titled “Gear and tools”- Best terminal emulators — Ghostty, Warp, kitty, WezTerm, Alacritty, iTerm2 and Windows Terminal, honestly compared.
- Terminal feature support matrix — truecolor, undercurl, sixel, OSC 52 and the rest, across seven macOS terminals. The feature lists, cross-examined.
- Linux terminal feature support matrix — the same cross-examination for ten Linux terminals, from GNOME Terminal and Konsole to foot and xterm.
- Terminal test — one command that draws every row of the matrix in your own terminal, and what to do about the ones that fail.
- Ghostty vs iTerm2 — the upstart against the incumbent, and the one iTerm2 feature that ends the argument.
- Alacritty vs kitty — both fast, both a text file, and completely opposed on how much a terminal should do.
- tmux vs Zellij — modes versus the prefix key, and the one reason the older tool still wins on a server.
- Best mechanical keyboards — you’re going to press those keys millions of times. They may as well sound magnificent.
- Best terminal fonts — the typeface you stare at all day, and what the Nerd Font business is actually about.
- The modern CLI starter pack — the Unix classics, rebuilt for this century.
- Linux playground — every tool the guides cover, installed in a Linux VM that runs in your browser tab. Nothing to install, nothing to break.
The lot, with the trade-offs left in: all tools and gear.