Skip to main content
This page provides a comprehensive reference for all default tmux key bindings. By default, tmux uses C-b (Control-b) as the prefix key.

Prefix Key Bindings

These keys must be preceded by the prefix key (default: C-b).

Session Management

KeyDescriptionCommand
$Rename current sessioncommand-prompt -I'#S' { rename-session -- '%%' }
(Switch to previous clientswitch-client -p
)Switch to next clientswitch-client -n
LSwitch to the last clientswitch-client -l
sChoose a session from a listchoose-tree -Zs
dDetach the current clientdetach-client
DChoose and detach a client from a listchoose-client -Z

Window Management

KeyDescriptionCommand
cCreate a new windownew-window
,Rename current windowcommand-prompt -I'#W' { rename-window -- '%%' }
.Move the current windowcommand-prompt -T target { move-window -t '%%' }
&Kill current windowconfirm-before -p"kill-window #W? (y/n)" kill-window
'Prompt for window index to selectcommand-prompt -T window-target -pindex { select-window -t ':%%' }
0-9Select window 0 to 9select-window -t:=N
nSelect the next windownext-window
pSelect the previous windowprevious-window
lSelect the previously current windowlast-window
wChoose a window from a listchoose-tree -Zw
fSearch for a panecommand-prompt { find-window -Z -- '%%' }
iDisplay window informationdisplay-message

Pane Management

KeyDescriptionCommand
"Split window verticallysplit-window
%Split window horizontallysplit-window -h
!Break pane to a new windowbreak-pane
xKill the active paneconfirm-before -p"kill-pane #P? (y/n)" kill-pane
zZoom the active paneresize-pane -Z
oSelect the next paneselect-pane -t:.+
;Move to the previously active panelast-pane
qDisplay pane numbersdisplay-panes
mToggle the marked paneselect-pane -m
MClear the marked paneselect-pane -M
{Swap the active pane with the pane aboveswap-pane -U
}Swap the active pane with the pane belowswap-pane -D

Pane Navigation

KeyDescriptionCommand
UpSelect the pane above the active paneselect-pane -U
DownSelect the pane below the active paneselect-pane -D
LeftSelect the pane to the left of the active paneselect-pane -L
RightSelect the pane to the right of the active paneselect-pane -R
Note: Arrow key bindings are repeatable (bound with -r flag).

Pane Resizing

KeyDescriptionCommand
C-UpResize the pane upresize-pane -U
C-DownResize the pane downresize-pane -D
C-LeftResize the pane leftresize-pane -L
C-RightResize the pane rightresize-pane -R
M-UpResize the pane up by 5resize-pane -U 5
M-DownResize the pane down by 5resize-pane -D 5
M-LeftResize the pane left by 5resize-pane -L 5
M-RightResize the pane right by 5resize-pane -R 5
Note: All resize bindings are repeatable.

Layouts

KeyDescriptionCommand
SpaceSelect next layoutnext-layout
ESpread panes out evenlyselect-layout -E
M-1Set the even-horizontal layoutselect-layout even-horizontal
M-2Set the even-vertical layoutselect-layout even-vertical
M-3Set the main-horizontal layoutselect-layout main-horizontal
M-4Set the main-vertical layoutselect-layout main-vertical
M-5Select the tiled layoutselect-layout tiled
M-6Set the main-horizontal-mirrored layoutselect-layout main-horizontal-mirrored
M-7Set the main-vertical-mirrored layoutselect-layout main-vertical-mirrored

Copy Mode

KeyDescriptionCommand
[Enter copy modecopy-mode
]Paste the most recent paste bufferpaste-buffer -p
PPageEnter copy mode and scroll upcopy-mode -u
#List all paste bufferslist-buffers
=Choose a paste buffer from a listchoose-buffer -Z
-Delete the most recent paste bufferdelete-buffer

Other Commands

KeyDescriptionCommand
C-bSend the prefix keysend-prefix
C-oRotate through the panesrotate-window
M-oRotate through the panes in reverserotate-window -D
C-zSuspend the current clientsuspend-client
:Prompt for a commandcommand-prompt
?List key bindingslist-keys -N
/Describe key bindingcommand-prompt -kpkey { list-keys -1N '%%' }
rRedraw the current clientrefresh-client
tShow a clockclock-mode
~Show messagesshow-messages
CCustomize optionscustomize-mode -Z
M-nSelect the next window with an alertnext-window -a
M-pSelect the previous window with an alertprevious-window -a

Window Scrolling

KeyDescriptionCommand
S-UpMove the visible part of the window uprefresh-client -U 10
S-DownMove the visible part of the window downrefresh-client -D 10
S-LeftMove the visible part of the window leftrefresh-client -L 10
S-RightMove the visible part of the window rightrefresh-client -R 10
DCReset so the visible part of the window follows the cursorrefresh-client -c
Note: All scrolling bindings are repeatable.
KeyDescriptionCommand
<Display window menudisplay-menu -xW -yW ...
>Display pane menudisplay-menu -xP -yP ...

Mouse Bindings

These bindings work when the mouse option is enabled.

Pane Actions

ActionDescriptionCommand
MouseDown1PaneSelect pane and send mouse eventselect-pane -t=; send -M
C-MouseDown1PaneSwap pane with targetswap-pane -s@
MouseDrag1PaneEnter copy mode if not in modeif ... { send -M } { copy-mode -M }
MouseDrag1BorderResize paneresize-pane -M
WheelUpPaneCopy mode or send mouseif ... { send -M } { copy-mode -e }
MouseDown2PanePaste if not in modeselect-pane -t=; if ... { send -M } { paste -p }
DoubleClick1PaneSelect wordselect-pane -t=; if ... { send -M } { copy-mode -H; send -X select-word; ... }
TripleClick1PaneSelect lineselect-pane -t=; if ... { send -M } { copy-mode -H; send -X select-line; ... }
MouseDown3PaneDisplay pane menudisplay-menu -t= -xM -yM ...

Status Line Actions

ActionDescriptionCommand
MouseDown1StatusSwitch to windowswitch-client -t=
C-MouseDown1StatusSwap windowswap-window -t@
WheelDownStatusNext windownext-window
WheelUpStatusPrevious windowprevious-window
MouseDown3StatusDisplay window menudisplay-menu -t= -xW -yW ...
MouseDown3StatusLeftDisplay session menudisplay-menu -t= -xM -yW ...

Scrollbar Actions

ActionDescriptionCommand
MouseDown1ScrollbarUpPage up or enter copy modeif ... { send -X page-up } { copy-mode -u }
MouseDown1ScrollbarDownPage down or enter copy modeif ... { send -X page-down } { copy-mode -d }
MouseDrag1ScrollbarSliderScroll to mouse positionif ... { send -X scroll-to-mouse } { copy-mode -S }

Copy Mode Bindings (Emacs)

In copy mode with emacs key bindings:
KeyDescriptionCommand
C-SpaceBegin selectionsend -X begin-selection
C-aStart of linesend -X start-of-line
C-eEnd of linesend -X end-of-line
C-fCursor rightsend -X cursor-right
C-bCursor leftsend -X cursor-left
C-nCursor downsend -X cursor-down
C-pCursor upsend -X cursor-up
C-vPage downsend -X page-down
M-vPage upsend -X page-up
C-wCopy selection and cancelsend -X copy-pipe-and-cancel
M-wCopy selection and cancelsend -X copy-pipe-and-cancel
C-cCancelsend -X cancel
EscapeCancelsend -X cancel
C-gClear selectionsend -X clear-selection
C-rIncremental search backwardcommand-prompt -T search ...
C-sIncremental search forwardcommand-prompt -T search ...
M-<History topsend -X history-top
M->History bottomsend -X history-bottom
M-bPrevious wordsend -X previous-word
M-fNext word endsend -X next-word-end
M-mBack to indentationsend -X back-to-indentation
M-rMiddle linesend -X middle-line
M-RTop linesend -X top-line
Arrow KeysNavigatesend -X cursor-up/down/left/right

Copy Mode Bindings (Vi)

In copy mode with vi key bindings:
KeyDescriptionCommand
SpaceBegin selectionsend -X begin-selection
EnterCopy selection and cancelsend -X copy-pipe-and-cancel
EscapeClear selectionsend -X clear-selection
0Start of linesend -X start-of-line
$End of linesend -X end-of-line
:Go to linecommand-prompt -p'(goto line)' ...
/Search forwardcommand-prompt -T search -p'(search down)' ...
?Search backwardcommand-prompt -T search -p'(search up)' ...
nSearch againsend -X search-again
NSearch reversesend -X search-reverse
hCursor leftsend -X cursor-left
jCursor downsend -X cursor-down
kCursor upsend -X cursor-up
lCursor rightsend -X cursor-right
wNext wordsend -X next-word
bPrevious wordsend -X previous-word
eNext word endsend -X next-word-end
BPrevious spacesend -X previous-space
WNext spacesend -X next-space
ENext space endsend -X next-space-end
fJump forwardcommand-prompt -1p'(jump forward)' ...
FJump backwardcommand-prompt -1p'(jump backward)' ...
tJump to forwardcommand-prompt -1p'(jump to forward)' ...
TJump to backwardcommand-prompt -1p'(jump to backward)' ...
;Jump againsend -X jump-again
,Jump reversesend -X jump-reverse
gHistory topsend -X history-top
GHistory bottomsend -X history-bottom
HTop linesend -X top-line
MMiddle linesend -X middle-line
LBottom linesend -X bottom-line
C-bPage upsend -X page-up
C-fPage downsend -X page-down
C-dHalf page downsend -X halfpage-down
C-uHalf page upsend -X halfpage-up
C-vRectangle togglesend -X rectangle-toggle
vRectangle togglesend -X rectangle-toggle
VSelect linesend -X select-line
AAppend selection and cancelsend -X append-selection-and-cancel
DCopy end of line and cancelsend -X copy-pipe-end-of-line-and-cancel
qCancelsend -X cancel
%Next matching bracketsend -X next-matching-bracket
{Previous paragraphsend -X previous-paragraph
}Next paragraphsend -X next-paragraph
#Search backward for cursor wordsend -FX search-backward -- '#{copy_cursor_word}'
*Search forward for cursor wordsend -FX search-forward -- '#{copy_cursor_word}'

Customizing Key Bindings

You can customize key bindings using the bind-key command:
# Bind a key in the prefix table
tmux bind-key C-a send-prefix

# Bind a key without prefix
tmux bind-key -n C-Left select-pane -L

# Bind with a note (shown in list-keys -N)
tmux bind-key -N 'My custom binding' C-x command-prompt

# Make a binding repeatable
tmux bind-key -r C-Up resize-pane -U
To view all current key bindings:
tmux list-keys
To view bindings with their descriptions:
tmux list-keys -N