Skip to content

Instantly share code, notes, and snippets.

@leavism
Created March 16, 2025 22:09
Show Gist options
  • Save leavism/f76f68e9bdcccc1f2477530418517114 to your computer and use it in GitHub Desktop.
Save leavism/f76f68e9bdcccc1f2477530418517114 to your computer and use it in GitHub Desktop.
The default bindings for tmux.
# Basic window management
bind Space next-layout
bind ! break-pane
bind '"' split-window -v
bind '#' list-buffers
bind '$' command-prompt -I "#S" "rename-session '%%'"
bind % split-window -h
bind & confirm-before -p "kill-window #W? (y/n)" kill-window
bind "'" command-prompt -p "window index:" "select-window -t ':%%'"
bind ( switch-client -p
bind ) switch-client -n
bind , command-prompt -I "#W" "rename-window '%%'"
bind - delete-buffer
bind . command-prompt -p "move window to:" "move-window -t '%%'"
bind / command-prompt -k -p "key binding:" "list-keys -1N \"%%%\""
# Window selection
bind 0 select-window -t :=0
bind 1 select-window -t :=1
bind 2 select-window -t :=2
bind 3 select-window -t :=3
bind 4 select-window -t :=4
bind 5 select-window -t :=5
bind 6 select-window -t :=6
bind 7 select-window -t :=7
bind 8 select-window -t :=8
bind 9 select-window -t :=9
# Command prompt and management
bind : command-prompt
bind \; last-pane
bind = choose-buffer
bind ? list-keys # List all key bindings
bind C customize-mode
bind D choose-client
bind E select-layout -E
bind L switch-client -l
bind M select-pane -M
bind [ copy-mode
bind ] paste-buffer
bind c new-window
bind d detach-client
bind f command-prompt "find-window '%%'"
bind i display-message
bind l last-window
bind m select-pane -m
bind n next-window
bind o select-pane -t :.+
bind p previous-window
bind q display-panes
bind s choose-session
bind t clock-mode
bind w choose-window
bind x confirm-before -p "kill-pane #P? (y/n)" kill-pane
bind z resize-pane -Z
bind '{' swap-pane -U
bind '}' swap-pane -D
bind '~' show-messages
# Special keys
bind DC refresh-client -c
bind PPage copy-mode -u
# Pane navigation
bind Up select-pane -U
bind Down select-pane -D
bind Left select-pane -L
bind Right select-pane -R
# Layout keys with Meta (Alt)
bind M-1 select-layout even-horizontal
bind M-2 select-layout even-vertical
bind M-3 select-layout main-horizontal
bind M-4 select-layout main-vertical
bind M-5 select-layout tiled
bind M-6 select-layout main-horizontal-mirrored
bind M-7 select-layout main-vertical-mirrored
# Window alerts
bind M-n next-window -a
bind M-o rotate-window -D
bind M-p previous-window -a
# Pane resizing with Meta (Alt)
bind -r M-Up resize-pane -U 5
bind -r M-Down resize-pane -D 5
bind -r M-Left resize-pane -L 5
bind -r M-Right resize-pane -R 5
# Special control keys
bind C-b send-prefix
bind C-o rotate-window
bind C-z suspend-client
# Pane resizing with Control
bind -r C-Up resize-pane -U
bind -r C-Down resize-pane -D
bind -r C-Left resize-pane -L
bind -r C-Right resize-pane -R
# Moving the visible part with Shift
bind S-Up refresh-client -U
bind S-Down refresh-client -D
bind S-Left refresh-client -L
bind S-Right refresh-client -R
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment