tmux = terminal multiplexer
A multiplexer takes one input and serves multiple outputs from it. tmux takes one terminal connection (your local terminal, or a single SSH session) and gives you multiple persistent windows and panes inside it. You log into a server once; you have ten shells running in there, and they all stay alive after you log out.
The killer features in plain English
- Persistent sessions. Detach from a session, close your terminal, walk away for two days — every running process, every open file, every cursor position is exactly where you left it. This is why people get evangelical about tmux.
- SSH disconnects don't kill your work. Your Wi-Fi drops mid-deploy? In a non-tmux SSH session, your script dies. In a tmux session on the remote box, your script keeps running; you just reattach when you reconnect.
- Split panes without a fancy terminal. Built-in splits work the same on macOS Terminal, an SSH session into a Linux VPS, or a Raspberry Pi over serial.
- Multiple windows. Like browser tabs, but for shells.
- Scriptable layouts. Define a workspace once ("open editor + dev server + tail logs in three panes") and spin it up in one shell command.
- Pair programming. Two users SSH into the same machine and attach to the same tmux session — both see each other's keystrokes in real time.
Why "learn tmux now" is the right answer
Modern terminals (iTerm2, Wezterm, Ghostty, Kitty) have splits and tabs of their own. They're great. But they only run locally. The moment you SSH into a server, those features don't help. tmux runs on the remote machine, so your splits, persistence, and layouts come with you regardless of which terminal emulator you're currently sitting in front of.
The hierarchy
Three nested concepts; learn the words now, the keys come next lesson:
- Session — a named workspace. Usually one per project. "work", "cwk-pippa", "vim-tmux-quest."
- Window — like a browser tab inside a session. Sessions can have many windows.
- Pane — a split inside a window. Multiple shells visible at the same time.