The Ultimate tmux Cheat Sheet & Shortcuts
A comprehensive visual guide to all tmux shortcuts and commands. Organized by category for speed, every key binding dynamically updates to match your preferred prefix modifier.
Want it offline? Print the page or save it as a PDF, or download a plain-text copy.
Currently displaying shortcuts with prefix: Ctrl+b. Click any option above to dynamically update the entire reference.
tmux keyboard shortcuts
Every binding below updates to match the prefix key you selected above.
📁 Sessions
🪟 Windows
⬛ Panes
📋 Copy Mode (Scroll)
Keys shown are tmux's vi defaults. tmux uses emacs keys unless $EDITOR or $VISUAL contains “vi”, so add set -g mode-keys vi to be sure.
⌨️ Command Mode
🔧 Miscellaneous
System Clipboard & Remote OSC 52 Integration
Seamlessly copy text from remote SSH tmux sessions straight into your local OS clipboard.
1. Vi Copy Mode Setup
Enable native Vim-style visual selection (v to begin selection, y to yank/copy):
setw -g mode-keys vi
bind -T copy-mode-vi v send -X begin-selection
bind -T copy-mode-vi y send -X copy-selection-and-cancel
2. Remote SSH OSC 52 (No X11 Needed)
Copy text from cloud virtual machines into your local macOS/Windows clipboard using ANSI escape sequences:
# Enable OSC 52 clipboard pass-through
set -s set-clipboard on
set -as terminal-features ',xterm-256color:clipboard'
3. Seamless Neovim Pane Navigation
Navigate effortlessly between Neovim splits and tmux panes using identical Ctrl+h/j/k/l shortcuts:
# Smart pane switching with awareness of Vim splits
vim_pattern='(\S+/)?g?\.?(view|l?n?vim?x?|fzf)(diff)?(-wrapped)?'
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
| grep -iqE '^[^TXZ ]+ +${vim_pattern}$'"
bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L'
bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D'
bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U'
bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R'
Need full command explanations with flags and examples?
The /commands/ page goes deep: every command documented with all options, use cases, and copy-ready examples.