Every keybinding and command from the tutorial, organised for fast lookup. Bookmark this page.
The prefix key is Ctrl+a — the iSu dev server standard. All “in tmux” keystrokes mean: press Ctrl+a, release, then press the next key.
| Command | Action |
|---|
tmux new -s NAME | Create session named NAME and attach |
tmux ls | List all running sessions |
tmux attach -t NAME | Reattach to session NAME |
tmux kill-session -t NAME | Destroy session NAME |
tmux kill-server | Destroy every tmux session (heavy hand) |
tmux -CC new -s NAME | iTerm2 control mode: native iTerm2 windows reflect tmux state |
echo $TMUX | Inside tmux: prints socket path. Outside: blank. |
| Keystroke | Action |
|---|
Ctrl+a d | Detach from current session |
Ctrl+a $ | Rename current session |
Ctrl+a s | Interactive session picker (tree view) |
Ctrl+a w | Window picker across all sessions |
Ctrl+a L | Toggle to last session |
Ctrl+a ( | Switch to previous session (alphabetic) |
Ctrl+a ) | Switch to next session (alphabetic) |
| Keystroke | Action |
|---|
Ctrl+a c | Create new window |
Ctrl+a , | Rename current window |
Ctrl+a n | Next window |
Ctrl+a p | Previous window |
Ctrl+a 0–9 | Jump to window by number |
Ctrl+a w | Interactive window picker |
Ctrl+a & | Kill current window (confirms) |
Ctrl+a ! | Promote current pane to its own window |
| Keystroke | Action |
|---|
Ctrl+a % | Split vertically (left/right) — default binding |
Ctrl+a " | Split horizontally (top/bottom) — default binding |
Ctrl+a | | Split vertically — recommended config (memorable) |
Ctrl+a - | Split horizontally — recommended config (memorable) |
| Keystroke | Action |
|---|
Ctrl+a ←/→/↑/↓ | Move focus to pane in that direction |
Ctrl+a h/j/k/l | Same, vim-style — recommended config |
Ctrl+a q | Flash pane numbers (press number to jump) |
Ctrl+a o | Cycle to next pane |
Ctrl+a ; | Toggle to last active pane |
| Keystroke | Action |
|---|
Ctrl+a z | Zoom toggle — current pane fills window |
Ctrl+a x | Kill current pane (confirms) |
Ctrl+a { | Swap with previous pane |
Ctrl+a } | Swap with next pane |
Ctrl+a Space | Cycle through built-in layouts |
| Keystroke | Action |
|---|
Ctrl+a Alt+arrow | Resize by 5 cells in that direction |
Ctrl+a Ctrl+arrow | Resize by 1 cell (fine adjustment) |
Ctrl+a H/J/K/L | Resize by 5, vim-style, repeatable — recommended config |
| Keystroke | Action |
|---|
Ctrl+a [ | Enter copy mode |
Ctrl+a ] | Paste most recently copied buffer |
arrow keys / h j k l | Move cursor (vi-mode-keys) |
Page Up / Page Down | Scroll a page |
Ctrl+u / Ctrl+d | Scroll half a page |
g / G | Jump to top / bottom |
/ | Search forward |
? | Search backward |
n / N | Next / previous match |
v | Begin selection — recommended config |
y | Copy selection and exit — recommended config |
q or Esc | Exit copy mode without copying |
| Keystroke | Action |
|---|
Ctrl+a : | Open tmux command prompt (run a tmux command interactively) |
Ctrl+a r | Reload ~/.tmux.conf — recommended config |
Ctrl+a ? | Show all current key bindings |
Ctrl+a t | Show a clock in the current pane |
| Layout | Shape |
|---|
even-horizontal | Equal-width columns |
even-vertical | Equal-height rows |
main-horizontal | One big pane on top, equal panes below |
main-vertical | One big pane on the left, equal panes on the right |
tiled | Even grid |
main-vertical is the IDE feel.
Examples:
| Target | Means |
|---|
nafbi | The session itself |
nafbi:dev | Window dev in session nafbi |
nafbi:dev.1 | Pane 1 of window dev in session nafbi |
nafbi:2 | Window 2 (by index) in session nafbi |
tmux has-session -t NAME 2>/dev/null # Exit 0 if session exists, 1 otherwise
tmux new-session -d -s NAME -n WIN -c DIR
tmux new-window -t SESSION -n NAME -c DIR
tmux split-window -h -t TARGET -c DIR # -h horizontal, -v vertical
tmux send-keys -t TARGET "command" C-m # C-m is Enter
tmux select-pane -t TARGET
tmux select-window -t TARGET
tmux rename-session -t OLD NEW
tmux rename-window -t SESSION:OLD NEW
tmux list-windows -t SESSION
tmux list-panes -t SESSION:WINDOW
alias ta='tmux attach -t'
alias tk='tmux kill-session -t'
alias tclaude='tmux attach -t claude || tmux new -s claude'
alias twork='NO_AUTO_TMUX=1 tmux new -s work-$(date +%H%M)'
| Keystroke | Action |
|---|
Ctrl+a I | Install plugins listed in ~/.tmux.conf |
Ctrl+a U | Update plugins |
Ctrl+a alt+u | Uninstall plugins removed from config |
Ctrl+a Ctrl+s | Save sessions (tmux-resurrect) |
Ctrl+a Ctrl+r | Restore sessions (tmux-resurrect) |