The Prefix Key

Every tmux command starts with Ctrl-B (or whatever you remap it to)

Keys: Ctrl-B, Ctrl-B ?

tmux commands are two-step: press the prefix key, release, then press the command key. Default prefix is Ctrl-B. Most users remap it because Ctrl-B clashes with Vim's page-up.

tmux's keymap is two-step on purpose. You press the prefix key โ€” by default Ctrl-B โ€” release it, and then press the actual command key. Ctrl-Bc creates a window; Ctrl-B% splits a pane. The prefix exists because tmux runs underneath whatever program is in your active pane. Without a clear separator, tmux would have to fight every program for keystrokes. With a prefix, programs see all the normal keys; tmux sees only what comes after the prefix.

Press Ctrl-B? for the built-in cheat sheet. It lists every default binding in a scrollable buffer. Press q to dismiss it. This is the canonical "how do I do X in tmux" lookup โ€” always a keystroke away.

Why People Remap the Prefix

Ctrl-B clashes with Vim. Vim uses Ctrl-B for page-back. When Vim runs inside tmux, tmux intercepts the keystroke before Vim sees it, and Vim's page-up stops working. Three workarounds, in order of popularity:

Solution How Trade-off
Remap prefix to Ctrl-Space set -g prefix C-Space in ~/.tmux.conf Cleanest. Ctrl-Space doesn't conflict with Vim or anything else common.
Remap prefix to Ctrl-A set -g prefix C-a (matches GNU screen) Familiar to screen users, but Ctrl-A shadows Vim's increment number.
Send literal Ctrl-B through Ctrl-BCtrl-B No config change, but every page-up is two keystrokes instead of one.
Use Ctrl-U or PageUp Different Vim binding for the same operation Acceptable if you only need page-up occasionally.

The remap-to-Ctrl-Space approach is the modern consensus. Almost every published .tmux.conf you'll find online does it. If you only learn one customization, learn this one.

Watch

See also: What Is tmux?, Panes โ€” Split, Navigate, Resize, Windows