# Updated: Thu 23 Jun 2016 11:35:53 AM EDT # vim: set ft=tmux ts=4 sw=3 tw=0 foldmethod=marker # I typically start tmux from ~/.xinitrc with the following: # urxvt -e bash -c "tmux attach -d -t mysession" & # # and recall it any time thereafter with xbindkeys (Mod4+s): # "urxvt -e bash -c 'tmux attach -d -t mysession'" # # ~/scripts/tmux-n-marriott.conf # tmux [-28lquv] [-c shell-command] [-f file] [-L socket-name] [-S socket-path] [command [flags]] #run-shell 'logger -i -t ASKAPACHETRACE "${HOME}/tmux.conf - ${LOGNAME:-N}@${HOSTNAME:-N} ${SHELL:-N} (TERM:${TERM:-rxvt-256color} SHLVL:${SHLVL:-N}/${BASH_SUBSHELL:-N} - [ $0 | $1 | $2 | *:$* -:$- ] - ${BASH_ARGV:-N}(${BASH_ARGC:-N})-${BASH_ENV:-N}"' start-server # SETTINGS {{{1 # ================================================================================================================================================================ # WINDOW OPTIONS {{{2 # ================================================================================ # MISC {{{3 # ---------------------------------------- # aggressive-resize - Aggressively resize the chosen window. This means that tmux will resize the window to the size of the smallest session for which it is the current window, rather than the smallest session to which it set-option -gw aggressive-resize off # allow-rename - The default is on. set-option -gw allow-rename on # alternate-screen - This option configures whether programs running inside tmux may use the terminal alternate screen feature, which allows the smcup and rmcup terminfo(5) capabilities. The alternate screen feature prese set-option -gw alternate-screen on # automatic-rename - Control automatic window renaming. When this setting is enabled, tmux will attempt - on supported platforms - to rename the window to reflect the command currently running in it. This flag is automati set-option -gw automatic-rename on # CLOCK {{{3 # ---------------------------------------- # clock-mode-colour - Set clock colour. set-option -gw clock-mode-colour blue # clock-mode-style - Set clock hour format. set-option -gw clock-mode-style 24 # HEIGHT WIDTH {{{3 # ---------------------------------------- # force-height - # force-height height set-option -gw force-height 0 # force-width - Prevent tmux from resizing a window to greater than width or height. A value of zero restores the default unlimited setting. set-option -gw force-width 0 # main-pane-height - # main-pane-height height set-option -gw main-pane-height 24 # main-pane-width - Set the width or height of the main (left or top) pane in the main-horizontal or main-vertical layouts. set-option -gw main-pane-width 80 # other-pane-height - Set the height of the other panes (not the main pane) in the main-horizontal layout. If this option is set to 0 (the default), it will have no effect. If both the main-pane-height and other-pane-heigh set-option -gw other-pane-height 0 # other-pane-width - Like other-pane-height, but set the width of other panes in the main-vertical layout. set-option -gw other-pane-width 0 # MODE {{{3 # ---------------------------------------- # mode-attr - Set window modes attributes. set-option -gw mode-attr none # mode-bg - Set window modes background colour. #set-option -gw mode-bg yellow set-option -gw mode-bg magenta # mode-fg - Set window modes foreground colour. set-option -gw mode-fg black # mode-keys - Use vi or emacs-style key bindings in copy and choice modes. As with the status-keys option, the default is emacs, unless VISUAL or EDITOR contains `vi'. set-option -gw mode-keys vi # mode-mouse - Mouse state in modes. If on, the mouse may be used to enter copy mode and copy a selection by dragging, to enter copy mode and scroll with the mouse wheel, or to select an option in choice mode. If se #set-option -gw mode-mouse off # MONITOR ACTIVITY {{{3 # ---------------------------------------- # monitor-activity - If on, display a status line message when activity occurs in a window for which the monitor-activity window option is enabled. set-option -gw monitor-activity off # monitor-content - Like visual-activity, display a message when content is present in a window for which the monitor-content window option is enabled. #set-option -gw monitor-content # monitor-silence - If monitor-silence is enabled, prints a message after the interval has expired on a given window. set-option -gw monitor-silence 0 # MISC {{{3 # ---------------------------------------- # pane-base-index - Like base-index, but set the starting index for pane numbers. set-option -gw pane-base-index 1 # remain-on-exit - Set the remain-on-exit window option for any windows first created in this session. When this option is true, windows in which the running program has exited do not close, instead remaining open but i set-option -gw remain-on-exit off # synchronize-panes - Duplicate input to any pane to all other panes in the same window (only for panes that are not in any special mode). set-option -gw synchronize-panes off # utf8 - Instructs tmux to expect UTF-8 sequences to appear in this window. #set-option -gw utf8 on # WINDOW STATUS {{{3 # ---------------------------------------- # window-status-bell-attr - Set status line attributes for windows which have a bell alert. set-option -gw window-status-bell-attr reverse # window-status-bell-bg - Set status line background colour for windows with a bell alert. set-option -gw window-status-bell-bg default # window-status-bell-fg - Set status line foreground colour for windows with a bell alert. set-option -gw window-status-bell-fg default # window-status-content-attr - Set status line attributes for windows which have a content alert. #set-option -gw window-status-content-attr reverse # window-status-content-bg - Set status line background colour for windows with a content alert. #set-option -gw window-status-content-bg default # window-status-content-fg - Set status line foreground colour for windows with a content alert. #set-option -gw window-status-content-fg default # window-status-activity-attr - Set status line attributes for windows which have an activity (or silence) alert. set-option -gw window-status-activity-attr reverse # window-status-activity-bg - Set status line background colour for windows with an activity alert. set-option -gw window-status-activity-bg default # window-status-activity-fg - Set status line foreground colour for windows with an activity alert. set-option -gw window-status-activity-fg default # window-status-attr - Set status line attributes for a single window. set-option -gw window-status-attr none # window-status-bg - Set status line background colour for a single window. set-option -gw window-status-bg default # window-status-current-attr - Set status line attributes for the currently active window. #set-option -gw window-status-current-attr bright #set-option -gw window-status-current-attr 'underscore' set-option -gw window-status-current-attr bright,reverse # window-status-current-bg - Set status line background colour for the currently active window. set-option -gw window-status-current-bg black # window-status-current-fg - Set status line foreground colour for the currently active window. set-option -gw window-status-current-fg white # window-status-current-format - Like window-status-format, but is the format used when the window is the current window. set-option -gw window-status-current-format " #I:#F #W | #20T " # window-status-fg - Set status line foreground colour for a single window. set-option -gw window-status-fg white # window-status-format - Set the format in which the window is displayed in the status line window list. See the status-left option for details of special character sequences available. The default is `#I:#W#F'. set-option -gw window-status-format " #I:#F #W " #}}}2 WINDOW OPTIONS # SESSION OPTIONS {{{2 # ================================================================================ # GLOBAL SESSION {{{3 # buffer-limit - Set the number of buffers; as new buffers are added to the top of the stack, old ones are removed from the bottom if necessary to maintain this maximum length. set-option -gs buffer-limit 5 # escape-time - Set the time in milliseconds for which tmux waits after an escape is input to determine if it is part of a function or meta key sequences. The default is 500 milliseconds. set-option -gs escape-time 500 # exit-unattached - If enabled, the server will exit when there are no attached clients. set-option -gs exit-unattached off # quiet - Enable or disable the display of various informational messages (see also the -q command line flag). set-option -gs quiet on # set-clipboard - xterm(1) escape sequences. This option is on by default if there is an Ms entry in the terminfo(5) description for the client term set-option -gs set-clipboard on #}}}2 SESSION OPTIONS # GLOBAL OPTIONS {{{2 # ================================================================================ # BASE {{{ # ---------------------------------------- # base-index - Set the base index from which an unused index should be searched when a new window is created. The default is zero. set-option -g base-index 1 # BELL {{{3 # ---------------------------------------- # bell-action - Set action on window bell. any means a bell in any window linked to a session causes a bell in the current window of that session, none means all bells are ignored and current means only bell in windo set-option -g bell-action current # bell-on-alert - If on, ring the terminal bell when an activity, content or silence alert occurs. set-option -g bell-on-alert off # DEFAULTS {{{3 # ---------------------------------------- # default-command - Set the command used for new windows (if not specified when the window is created) to shell-command, which may be any sh(1) command. The default is an empty string, which instructs tmux to create a lo set-option -g default-command "bash -l" # default-path - Set the default working directory for new panes. If empty (the default), the working directory is determined from the process running in the active pane, from the command line environment or from the #set-option -g default-path $HOME # default-shell - Specify the default shell. This is used as the login shell for new windows when the default-command option is set to empty, and must be the full path of the executable. When started tmux tries to set #set-option -g default-shell "/bin/bash -l" set-option -g default-shell "/bin/bash" # default-terminal - Set the default terminal for new windows created in this session - the default value of the TERM environment variable. For tmux to work correctly, this must be set to `screen' or a derivative of it. set-option -g default-terminal "rxvt-256color" # DETACH {{{3 # ---------------------------------------- # destroy-unattached - If enabled and the session is no longer attached to any clients, it is destroyed. set-option -g destroy-unattached off # detach-on-destroy - If on (the default), the client is detached when the session it is attached to is destroyed. If off, the client is switched to the most recently active of the remaining sessions. set-option -g detach-on-destroy on # DISPLAY PANES / TIME {{{3 # ---------------------------------------- # display-panes-active-colour - Set the colour used by the display-panes command to show the indicator for the active pane. set-option -g display-panes-active-colour red # display-panes-colour - Set the colour used by the display-panes command to show the indicators for inactive panes. set-option -g display-panes-colour blue # display-panes-time - Set the time in milliseconds for which the indicators shown by the display-panes command appear. set-option -g display-panes-time 2000 # display-time - Set the amount of time for which status line messages and other on-screen indicators are displayed. time is in milliseconds. set-option -g display-time 2000 # HISTORY {{{3 # ---------------------------------------- # history-limit - Set the maximum number of lines held in window history. This setting applies only to new windows - existing window histories are not resized and retain the limit at the point they were created. set-option -g history-limit 100000 # LOCKING {{{3 # ---------------------------------------- # lock-after-time - Lock the session (like the lock-session command) after number seconds of inactivity, or the entire server (all sessions) if the lock-server option is set. The default is not to lock (set to 0). set-option -g lock-after-time 3600 # lock-command - Command to run when locking each client. The default is to run lock(1) with -np. set-option -g lock-command "lock -np" # lock-server - Lock the session (like the lock-session command) after number seconds of inactivity, or the entire server (all sessions) if the lock-server option is set. The default is not to lock (set to 0). #set-option -g lock-server on # MESSAGE {{{3 # ---------------------------------------- # message-attr - Set status line message attributes, where attributes is either none or a comma-delimited list of one or more of: bright (or bold), dim, underscore, blink, reverse, hidden, or italics. set-option -g message-attr bright # message-bg - Set status line message background colour, where colour is one of: black, red, green, yellow, blue, magenta, cyan, white, aixterm bright variants (if supported: brightred, brightgreen, and so on), col #set-option -g message-bg green set-option -g message-bg magenta # message-command-attr - Set status line message attributes when in command mode. set-option -g message-command-attr none # message-command-bg - Set status line message background colour when in command mode. set-option -g message-command-bg black # message-command-fg - Set status line message foreground colour when in command mode. set-option -g message-command-fg yellow # message-fg - Set status line message foreground colour. set-option -g message-fg black # message-limit - Set the number of error or information messages to save in the message log for each client. The default is 20. set-option -g message-limit 200 # MOUSE {{{3 # ---------------------------------------- # mouse-resize-pane - If on, tmux captures the mouse and allows panes to be resized by dragging on their borders. #set-option -g mouse-resize-pane off # mouse-select-pane - If on, tmux captures the mouse and when a window is split into multiple panes the mouse may be used to select the current pane. The mouse click is also passed through to the application as normal. #set-option -g mouse-select-pane off # mouse-select-window - If on, clicking the mouse on a window name in the status line will select that window. #set-option -g mouse-select-window off # mouse-utf8 - If enabled, request mouse input as UTF-8 on UTF-8 terminals. #set-option -g mouse-utf8 on # PANES {{{3 # ---------------------------------------- # pane-active-border-bg - # pane-active-border-bg colour set-option -g pane-active-border-bg green # pane-active-border-fg - Set the pane border colour for the currently active pane. set-option -g pane-active-border-fg green # pane-border-bg - # pane-border-bg colour set-option -g pane-border-bg cyan # pane-border-fg - Set the pane border colour for panes aside from the active pane. set-option -g pane-border-fg cyan # DEFAULTS {{{3 # ---------------------------------------- # prefix - Set the key accepted as a prefix key. set-option -g prefix C-s # prefix2 - Set a secondary key accepted as a prefix key. #set-option -g prefix2 none # repeat-time - Allow multiple commands to be entered without pressing the prefix-key again in the specified time milliseconds (the default is 500). Whether a key repeats may be set when it is bound using the -r flag set-option -g repeat-time 500 # set-remain-on-exit - Set the remain-on-exit window option for any windows first created in this session. When this option is true, windows in which the running program has exited do not close, instead remaining open but i set-option -g set-remain-on-exit off # TITLES {{{3 # ---------------------------------------- # set-titles - sequence if the terminal appears to be an xterm. Thi set-option -g set-titles on # set-titles-string - String used to set the window title if set-titles is on. Character sequences are replaced as for the status-left option. set-option -g set-titles-string "#S:#I.#P #W" #set -g set-titles-string '#(whoami)::#h::#(curl ipecho.net/plain;echo)' # STATUS {{{3 # ---------------------------------------- # status - Set the amount of time for which status line messages and other on-screen indicators are displayed. time is in milliseconds. set-option -g status on # status-attr - Set status line attributes. set-option -g status-attr bright # status-bg - Set status line background colour. set-option -g status-bg colour27 # status-fg - Set status line foreground colour. set-option -g status-fg colour255 # status-interval - Update the status bar every interval seconds. By default, updates will occur every 15 seconds. A setting of zero disables redrawing at interval. set-option -g status-interval 3 # status-justify - Set the position of the window list component of the status line: left, centre or right justified. set-option -g status-justify centre # status-keys - Use vi or emacs-style key bindings in the status line, for example at the command prompt. The default is emacs, unless the VISUAL or EDITOR environment variables are set and contain the string `vi'. set-option -g status-keys vi # status-left-attr - Set the attribute of the left part of the status line. set-option -g status-left-attr none # status-left-bg - Set the background colour of the left part of the status line. set-option -g status-left-bg colour33 # status-left-fg - Set the foreground colour of the left part of the status line. set-option -g status-left-fg default # status-left-length - Set the maximum length of the left component of the status bar. The default is 10. set-option -g status-left-length 70 # status-left - String used to set the window title if set-titles is on. Character sequences are replaced as for the status-left option. set-option -g status-left "#S:#P" # status-right - Display string to the right of the status bar. By default, the current window title in double quotes, the date and the time are shown. As with status-left, string will be passed to strftime(3), charac set-option -g status-right "#(date '+%H:%M:%S %a %d %b')" # status-right-attr - Set the attribute of the right part of the status line. set-option -g status-right-attr none # status-right-bg - Set the background colour of the right part of the status line. set-option -g status-right-bg colour33 # status-right-fg - Set the foreground colour of the right part of the status line. set-option -g status-right-fg default # status-right-length - Set the maximum length of the right component of the status bar. The default is 40. set-option -g status-right-length 50 # status-utf8 - Instruct tmux to treat top-bit-set characters in the status-left and status-right strings as UTF-8; notably, this is important for wide characters. This option defaults to off. #set-option -g status-utf8 on # TERMS {{{3 # ---------------------------------------- # terminal-overrides - Contains a list of entries which override terminal descriptions read using terminfo(5). string is a comma-separated list of items each a colon-separated string made up of a terminal type pattern (matc set-option -g terminal-overrides "*88col*:colors=88,*256col*:colors=256,xterm*:XT:Ms=E]52;%p1%s;%p2%s007:Cc=E]12;%p1%s007:Cr=E]112007:Cs=E[%p1%d q:Csr=E[2 q" # xterm-keys - If this option is set, tmux will generate xterm(1) -style function key sequences; these have a number included to indicate modifiers such as Shift, Alt or Ctrl. The default is off. set-option -gw xterm-keys off # ENVIRONMENT {{{3 # ---------------------------------------- # update-environment - Set a space-separated string containing a list of environment variables to be copied into the session environment when a new session is created or an existing session is attached. Any variables that d set-option -g update-environment "DISPLAY WINDOWID LOGNAME XAUTHORITY SSH_CLIENT SSH_TTY SSH_CONNECTION SSH_AUTH_SOCK SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID TERM LC_ALL LC_CTYPE LC_COLLATE LANG TMUX" # VISUAL ACTIVITY {{{3 # ---------------------------------------- # visual-activity - If on, display a status line message when activity occurs in a window for which the monitor-activity window option is enabled. set-option -g visual-activity on # visual-bell - If this option is on, a message is shown on a bell instead of it being passed through to the terminal (which normally makes a sound). Also see the bell-action option. set-option -g visual-bell on # visual-content - Like visual-activity, display a message when content is present in a window for which the monitor-content window option is enabled. #set-option -g visual-content on # visual-silence - If monitor-silence is enabled, prints a message after the interval has expired on a given window. set-option -g visual-silence off # SEPARATORS {{{3 # ---------------------------------------- # word-separators - Sets the session's conception of what characters are considered word separators, for the purposes of the next and previous word commands in copy mode. The default is ` -_@'. set-option -g word-separators " -_@" #}}}2 GLOBAL OPTIONS #}}}1 SETTINGS # BINDINGS# {{{1 # ================================================================================================================================================================ # START ROOT SHELL {{{3 unbind-key R bind-key R new-window -n ROOT "exec sudo XAUTHORITY=${HOME}/.Xauthority -Hi" # OPEN SSH SESSION {{{3 unbind-key e bind e command-prompt -p "Open ssh host:" "new-window -n SSH 'exec ssh %%'" # M SPLITS A HORIZONTAL WINDOW TO SHOW A 'MAN %%' {{{3 unbind-key m bind m command-prompt -p "Open man page for:" "split-window -v 'TERM=mostlike man %%'" # SPLITS A HORIZONTAL WINDOW TO SHOW A 'MAN %%' {{{3 unbind-key m bind m command-prompt -p "Open man page for:" "split-window -v 'TERM=mostlike man %%'" # BIG MAN PAGE {{{3 unbind-key M bind M command-prompt -p "Open man page for:" "split-window -h 'TERM=mostlike man %%'" # KILL-WINDOW WITH CONFIRM {{{3 unbind-key k bind ^k confirm-before -p "kill-pane #W? (y/n)" kill-pane bind k confirm-before -p "kill-pane #W? (y/n)" kill-pane # reload dead windows (with original command) if remain-on-exit set unbind-key r bind ^r respawn-pane bind r respawn-pane # SOURCE TMUX CONF {{{3 unbind-key . bind . source-file $HOME/.tmux.conf \; display-message " Config reloaded.." # LAST WINDOW {{{3 unbind " " bind " " last-window unbind = bind = next-layout # HTOP {{{3 bind '~' split-window "exec htop" unbind-key V bind-key V split-window -h -p30 unbind-key v bind-key v split-window -v -p30 # VIM MANUAL {{{3 #bind-key V new-window -n "Vim manual" "exec vim -c 'h user-manual|only'" # CTRL+LEFT/RIGHT CYCLES THRU WINDOWS {{{3 bind-key -n C-right next bind-key -n C-left prev # SWAPPING PANES {{{3 unbind-key s bind s swap-pane -U \; select-pane -t :.+ # RESIZING {{{3 bind + resize-pane -D 15 bind - resize-pane -U 15 bind < resize-pane -L 15 bind > resize-pane -R 15 # COPY MODE {{{3 bind ^[ copy-mode bind Escape copy-mode # PASTE MODE {{{3 unbind-key p unbind-key P bind P run-shell "tmux set-buffer \"$(xclip -o -selection clipboard)\"; tmux paste-buffer" bind p previous-window bind ] paste-buffer \; save-buffer /tmp/tmux-buffer \; run-shell "xclip -i -selection clipboard /tmp/tmux-buffer" # PASTE TO XCLIP {{{3 unbind-key y bind-key y save-buffer $TMP/tmux-buffer \; run-shell "xclip -i -selection clipboard $TMP/tmux-buffer" unbind-key P #bind-key P save-buffer $BKDIR/tmux_buffer bind-key P capture-pane -S -32768 \; save-buffer "$BKDIR/tmux_printscreen" \; delete-buffer \; new-window -n "PRINTSCREEN" "view $BKDIR/tmux_printscreen" #bind-key -n S-F7 capture-pane -S -32768 \; save-buffer "$BKDIR/printscreen" \; delete-buffer \; new-window -n "PRINTSCREEN" "view $BKDIR/printscreen" bind-key -n S-F7 command-prompt -p 'save history to filename:' -I '$BKDIR/tmux_printscreen' 'capture-pane -S - ; save-buffer %1 ; delete-buffer' # - http://jasonwryan.com/post/6279048610/tmux-copy {{{3 # COPY TMUX PASTE BUFFER TO CLIPBOARD #unbind C-c #bind C-c run "tmux show-buffer | xclip -i -selection clipboard" # ctrl+up/down cylcles through panes {{{3 bind-key -n C-up select-pane -U bind-key -n C-down select-pane -D bind-key -n C-left select-pane -L bind-key -n C-right select-pane -R # Ctrl+PageUp/PageDown start scroll mode {{{3 bind-key -n C-PPage copy-mode -u bind-key -t vi-copy -n C-PPage page-up bind-key -t vi-copy -n C-NPage page-down #bind-key p paste-buffer #bind-key P choose-buffer #bind-key V copy-mode # rename windows with a {{{3 unbind-key a bind-key a command-prompt "rename-window %%" # COPY CLIPBOARD TO TMUX PASTE BUFFER AND PASTE TMUX PASTE BUFFER {{{3 #unbind C-v #bind C-v run "tmux set-buffer \"$(xclip -o -selection clipboard)\"; tmux paste-buffer" # ctrl+left/right cycles through windows {{{3 #bind-key -n M-right next #bind-key -n M-left prev # ctrl+shift+left/right moves windows {{{3 #bind-key -n M-S-right swap-window -t + #bind-key -n M-S-left swap-window -t - #bind-key -n M-C-right swap-window -t + #bind-key -n M-C-left swap-window -t - #bind-key M-C-right swap-window -t + #bind-key M-C-left swap-window -t - #}}}3 #}}}1 # COMMENTED OUT # {{{1 # ================================================================================================================================================================ # TMUX COMMANDS {{{2 # ================================================================================================================================================================ # attach-session [-dr] [-t target-session] # bind-key [-cnr] [-t key-table] key command [arguments] # break-pane [-d] [-t target-pane] # capture-pane [-b buffer-index] [-E end-line] [-S start-line] [-t target-pane] # choose-buffer [-t target-window] [template] # choose-client [-t target-window] [template] # choose-session [-t target-window] [template] # choose-window [-t target-window] [template] # clear-history [-t target-pane] # clock-mode [-t target-pane] # command-prompt [-I inputs] [-p prompts] [-t target-client] [template] # confirm-before [-p prompt] [-t target-client] command # copy-mode [-u] [-t target-pane] # delete-buffer [-b buffer-index] # detach-client [-P] [-s target-session] [-t target-client] # display-message [-p] [-c target-client] [-t target-pane] [message] # display-panes [-t target-client] # find-window [-t target-window] match-string # has-session [-t target-session] # if-shell shell-command command # join-pane [-dhv] [-p percentage|-l size] [-s src-pane] [-t dst-pane] # kill-pane [-a] [-t target-pane] # kill-server # kill-session [-t target-session] # kill-window [-t target-window] # last-pane [-t target-window] # last-window [-t target-session] # link-window [-dk] [-s src-window] [-t dst-window] # list-buffers # list-clients [-t target-session] # list-commands # list-keys [-t key-table] # list-panes [-as] [-t target] # list-sessions # list-windows [-a] [-t target-session] # load-buffer [-b buffer-index] path # lock-client [-t target-client] # lock-server # lock-session [-t target-session] # move-window [-dk] [-s src-window] [-t dst-window] # new-session [-d] [-n window-name] [-s session-name] [-t target-session] [-x width] [-y height] [command] # new-window [-adk] [-n window-name] [-t target-window] [command] # next-layout [-t target-window] # next-window [-a] [-t target-session] # paste-buffer [-dr] [-s separator] [-b buffer-index] [-t target-pane] # pipe-pane [-t target-pane][-o] [command] # previous-layout [-t target-window] # previous-window [-a] [-t target-session] # refresh-client [-t target-client] # rename-session [-t target-session] new-name # rename-window [-t target-window] new-name # resize-pane [-DLRU] [-t target-pane] [adjustment] # respawn-pane [-k] [-t target-pane] [command] # respawn-window [-k] [-t target-window] [command] # rotate-window [-DU] [-t target-window] # run-shell command # save-buffer [-a] [-b buffer-index] # select-layout [-np] [-t target-window] [layout-name] # select-pane [-lDLRU] [-t target-pane] # select-window [-lnp] [-t target-window] # send-keys [-t target-pane] key ... # send-prefix [-t target-pane] # server-info # set-buffer [-b buffer-index] data # set-environment [-gru] [-t target-session] name [value] # set-option [-agsuw] [-t target-session|target-window] option [value] # set-window-option [-agu] [-t target-window] option [value] # show-buffer [-b buffer-index] # show-environment [-g] [-t target-session] # show-messages [-t target-client] # show-options [-gsw] [-t target-session|target-window] # show-window-options [-g] [-t target-window] # source-file path # split-window [-dhvP] [-p percentage|-l size] [-t target-pane] [command] # start-server # suspend-client [-t target-client] # swap-pane [-dDU] [-s src-pane] [-t dst-pane] # swap-window [-d] [-s src-window] [-t dst-window] # switch-client [-lnp] [-c target-client] [-t target-session] # unbind-key [-acn] [-t key-table] key # unlink-window [-k] [-t target-window] # }}}2 TMUX-COMMANDS #== detach ^D d {{{3 #unbind ^D #bind ^D detach #== displays * {{{3 #unbind * #bind * list-clients #== next ^@ ^N sp n {{{3 #unbind ^@ #bind ^@ next-window #unbind ^N #bind ^N next-window #unbind " " #bind " " next-window #unbind n #bind n next-window #== title A {{{3 #unbind A #bind A command-prompt "rename-window %%" #== prev ^H ^P p ^? {{{3 #unbind ^H #bind ^H previous-window #unbind ^P #bind ^P previous-window #unbind p #bind p previous-window #unbind BSpace #bind BSpace previous-window #== windows ^W w {{{3 #unbind ^W #bind ^W list-windows #unbind w #bind w list-windows #== quit \ {{{3 #unbind \ #bind \ confirm-before "kill-server" #== kill K k {{{3 #unbind K #bind K confirm-before "kill-window" #unbind k #bind k confirm-before "kill-window" #== redisplay ^L l {{{3 #unbind ^L #bind ^L refresh-client #unbind l #bind l refresh-client #== " windowlist -b {{{3 #unbind '"' #bind '"' choose-window #== Copy mode {{{3 #bind ^[ copy-mode #bind Escape copy-mode #== Paste mode {{{3 #bind ] paste-buffer #bind ^] paste-buffer #== split -v | {{{3 #unbind | #bind | split-window # backspace {{{3 #unbind BSpace #bind BSpace previous-window #== title A {{{3 #unbind A #bind A command-prompt "rename-window %%" #== More straight forward key bindings for splitting {{{3 #unbind % #bind | split-window -h #bind h split-window -h #unbind '"' #bind - split-window -v #bind v split-window -v #}}}3 #}}}1