neulab/tldr huggingface dataset:
-O specifies the initial sort field: one of ‘name’, ‘size’, ‘creation’, or ‘activity’.  -r reverses the sort order.  -f specifies an initial filter: the filter is a format - if it evaluates to zero, the item in the list is not shown, otherwise it is shown.  If a filter would lead to an empty list, it is ignored. -F specifies the format for each item in the list and -K a format for each shortcut key; both are evaluated once for each line.  -N starts without the preview.  This command works only if at least one client is attached.
choose-tree [-GNrswZ] [-F format] [-f filter] [-K key-format] [-O sort-order] [-t target-pane] [template] Put a pane into tree mode, where a session, window or pane may be chosen interactively from a tree.  Each session, window or pane is shown on one line.  A shortcut key is shown on the left in brackets allowing for immediate choice, or the tree may be navigated and an item chosen or otherwise manipulated using the keys below.  -s starts with sessions collapsed and -w with windows collapsed.  -Z zooms the pane.  The following keys may be used in tree mode:
Key    Function Enter  Choose selected item Up     Select previous item Down   Select next item +      Expand selected item -      Collapse selected item M-+    Expand all items M--    Collapse all items x      Kill selected item X      Kill tagged items <      Scroll list of previews left >      Scroll list of previews right C-s    Search by name m      Set the marked pane M      Clear the marked pane n      Repeat last search t      Toggle if item is tagged T      Tag no items C-t    Tag all items :      Run a command for each tagged item f      Enter a format to filter items H      Jump to the starting pane O      Change sort field r      Reverse sort order v      Toggle preview q      Exit mode
After a session, window or pane is chosen, ‘%%’ is replaced by the target in template and the result executed as a command.  If template is not given, "switch-client -t '%%'" is used.
-O specifies the initial sort field: one of ‘index’, ‘name’, or ‘time’.  -r reverses the sort order.  -f specifies an initial filter: the filter is a format - if it evaluates to zero, the item in the list is not shown, otherwise it is shown.  If a filter would lead to an empty list, it is ignored.  -F specifies the format for each item in the tree and -K a format for each shortcut key; both are evaluated once for each line.  -N starts without the preview. -G includes all sessions in any session groups in the tree rather than only the first.  This command works only if at least one client is attached.
customize-mode [-NZ] [-F format] [-f filter] [-t target-pane] [template] Put a pane into customize mode, where options and key bindings may be browsed and modified from a list.  Option values in the list are shown for the active pane in the current window.  -Z zooms the pane.  The following keys may be used in customize mode:
Key    Function Enter  Set pane, window, session or global option value Up     Select previous item Down   Select next item +      Expand selected item -      Collapse selected item M-+    Expand all items M--    Collapse all items s      Set option value or key attribute S      Set global option value w      Set window option value, if option is for pane and window d      Set an option or key to the default D      Set tagged options and tagged keys to the default u      Unset an option (set to default value if global) or unbind a key U      Unset tagged options and unbind tagged keys C-s    Search by name n      Repeat last search t      Toggle if item is tagged T      Tag no items C-t    Tag all items f      Enter a format to filter items v      Toggle option information q      Exit mode
-f specifies an initial filter: the filter is a format - if it evaluates to zero, the item in the list is not shown, otherwise it is shown.  If a filter would lead to an empty list, it is ignored. -F specifies the format for each item in the tree.  -N starts without the option information.  This command works only if at least one client is attached.
display-panes [-bN] [-d duration] [-t target-client] [template] (alias: displayp) Display a visible indicator of each pane shown by target-client. See the display-panes-colour and display-panes-active-colour session options.  The indicator is closed when a key is pressed (unless -N is given) or duration milliseconds have passed.  If -d is not given, display-panes-time is used.  A duration of zero means the indicator stays until a key is pressed.  While the indicator is on screen, a pane may be chosen with the ‘0’ to ‘9’ keys, which will cause template to be executed as a command with ‘%%’ substituted by the pane ID.  The default template is "select-pane -t '%%'".  With -b, other commands are not blocked from running until the indicator is closed.
find-window [-iCNrTZ] [-t target-pane] match-string (alias: findw) Search for a fnmatch(3) pattern or, with -r, regular expression match-string in window names, titles, and visible content (but not history).  The flags control matching behavior: -C matches only visible window contents, -N matches only the window name and -T matches only the window title.  -i makes the search ignore case. The default is -CNT.  -Z zooms the pane.
This command works only if at least one client is attached.
join-pane [-bdfhv] [-l size] [-s src-pane] [-t dst-pane] (alias: joinp) Like split-window, but instead of splitting dst-pane and creating a new pane, split it and move src-pane into the space.  This can be used to reverse break-pane.  The -b option causes src-pane to be joined to left of or above dst-pane.
If -s is omitted and a marked pane is present (see select-pane -m), the marked pane is used rather than the current pane.
kill-pane [-a] [-t target-pane] (alias: killp) Destroy the given pane.  If no panes remain in the containing window, it is also destroyed.  The -a option kills all but the pane given with -t.
kill-window [-a] [-t target-window] (alias: killw) Kill the current window or the window at target-window, removing it from any sessions to which it is linked.  The -a option kills all but the window given with -t.
last-pane [-deZ] [-t target-window] (alias: lastp) Select the last (previously selected) pane.  -Z keeps the window zoomed if it was zoomed.  -e enables or -d disables input to the pane.
last-window [-t target-session] (alias: last) Select the last (previously selected) window.  If no target-session is specified, select the last window of the current session.
link-window [-abdk] [-s src-window] [-t dst-window] (alias: linkw) Link the window at src-window to the specified dst-window.  If dst-window is specified and no such window exists, the src-window is linked there.  With -a or -b the window is moved to the next index after or before dst-window (existing windows are moved if necessary).  If -k is given and dst-window exists, it is killed, otherwise an error is generated.  If -d is given, the newly linked window is not selected.
list-panes [-as] [-F format] [-f filter] [-t target] (alias: lsp) If -a is given, target is ignored and all panes on the server are listed.  If -s is given, target is a session (or the current session).  If neither is given, target is a window (or the current window).  -F specifies the format of each line and -f a filter. Only panes for which the filter is true are shown.  See the FORMATS section.
list-windows [-a] [-F format] [-f filter] [-t target-session] (alias: lsw) If -a is given, list all windows on the server.  Otherwise, list windows in the current session or in target-session.  -F specifies the format of each line and -f a filter.  Only windows for which the filter is true are shown.  See the FORMATS section.
move-pane [-bdfhv] [-l size] [-s src-pane] [-t dst-pane] (alias: movep) Does the same as join-pane.
move-window [-abrdk] [-s src-window] [-t dst-window] (alias: movew) This is similar to link-window, except the window at src-window is moved to dst-window.  With -r, all windows in the session are renumbered in sequential order, respecting the base-index option.
new-window [-abdkPS] [-c start-directory] [-e environment] [-F format] [-n window-name] [-t target-window] [shell-command] (alias: neww) Create a new window.  With -a or -b, the new window is inserted at the next index after or before the specified target-window, moving windows up if necessary; otherwise target-window is the new window location.
If -d is given, the session does not make the new window the current window.  target-window represents the window to be created; if the target already exists an error is shown, unless the -k flag is used, in which case it is destroyed.  If -S is given and a window named window-name already exists, it is selected (unless -d is also given in which case the command does nothing).
shell-command is the command to execute.  If shell-command is not specified, the value of the default-command option is used.  -c specifies the working directory in which the new window is created.
When the shell command completes, the window closes.  See the remain-on-exit option to change this behaviour.
-e takes the form ‘VARIABLE=value’ and sets an environment variable for the newly created window; it may be specified multiple times.
The TERM environment variable must be set to ‘screen’ or ‘tmux’ for all programs running inside tmux.  New windows will automatically have ‘TERM=screen’ added to their environment, but care must be taken not to reset this in shell start-up files or by the -e option.
The -P option prints information about the new window after it has been created.  By default, it uses the format ‘#{session_name}:#{window_index}’ but a different format may be specified with -F.
next-layout [-t target-window] (alias: nextl) Move a window to the next layout and rearrange the panes to fit.
next-window [-a] [-t target-session] (alias: next) Move to the next window in the session.  If -a is used, move to the next window with an alert.
pipe-pane [-IOo] [-t target-pane] [shell-command] (alias: pipep) Pipe output sent by the program in target-pane to a shell command or vice versa.  A pane may only be connected to one command at a time, any existing pipe is closed before shell-command is executed. The shell-command string may contain the special character sequences supported by the status-left option.  If no shell-command is given, the current pipe (if any) is closed.
-I and -O specify which of the shell-command output streams are connected to the pane: with -I stdout is connected (so anything shell-command prints is written to the pane as if it were typed); with -O stdin is connected (so any output in the pane is piped to shell-command).  Both may be used together and if neither are specified, -O is used.
The -o option only opens a new pipe if no previous pipe exists, allowing a pipe to be toggled with a single key, for example:
bind-key C-p pipe-pane -o 'cat >>~/output.#I-#P'
previous-layout [-t target-window] (alias: prevl) Move to the previous layout in the session.
previous-window [-a] [-t target-session] (alias: prev) Move to the previous window in the session.  With -a, move to the previous window with an alert.
rename-window [-t target-window] new-name (alias: renamew) Rename the current window, or the window at target-window if specified, to new-name.
resize-pane [-DLMRTUZ] [-t target-pane] [-x width] [-y height] [adjustment] (alias: resizep) Resize a pane, up, down, left or right by adjustment with -U, -D, -L or -R, or to an absolute size with -x or -y.  The adjustment is given in lines or columns (the default is 1); -x and -y may be a given as a number of lines or columns or followed by ‘%’ for a percentage of the window size (for example ‘-x 10%’).  With -Z, the active pane is toggled between zoomed (occupying the whole of the window) and unzoomed (its normal position in the layout).
-M begins mouse resizing (only valid if bound to a mouse key binding, see MOUSE SUPPORT).
-T trims all lines below the current cursor position and moves lines out of the history to replace them.
resize-window [-aADLRU] [-t target-window] [-x width] [-y height] [adjustment] (alias: resizew) Resize a window, up, down, left or right by adjustment with -U, -D, -L or -R, or to an absolute size with -x or -y.  The adjustment is given in lines or cells (the default is 1).  -A sets the size of the largest session containing the window; -a the size of the smallest.  This command will automatically set window-size to manual in the window options.
respawn-pane [-k] [-c start-directory] [-e environment] [-t target-pane] [shell-command] (alias: respawnp) Reactivate a pane in which the command has exited (see the remain-on-exit window option).  If shell-command is not given, the command used when the pane was created or last respawned is executed.  The pane must be already inactive, unless -k is given, in which case any existing command is killed.  -c specifies a new working directory for the pane.  The -e option has the same meaning as for the new-window command.
respawn-window [-k] [-c start-directory] [-e environment] [-t target-window] [shell-command] (alias: respawnw) Reactivate a window in which the command has exited (see the remain-on-exit window option).  If shell-command is not given, the command used when the window was created or last respawned is executed.  The window must be already inactive, unless -k is given, in which case any existing command is killed.  -c specifies a new working directory for the window.  The -e option has the same meaning as for the new-window command.
rotate-window [-DUZ] [-t target-window] (alias: rotatew) Rotate the positions of the panes within a window, either upward (numerically lower) with -U or downward (numerically higher).  -Z keeps the window zoomed if it was zoomed.
select-layout [-Enop] [-t target-pane] [layout-name] (alias: selectl) Choose a specific layout for a window.  If layout-name is not given, the last preset layout used (if any) is reapplied.  -n and -p are equivalent to the next-layout and previous-layout commands. -o applies the last set layout if possible (undoes the most recent layout change).  -E spreads the current pane and any panes next to it out evenly.
select-pane [-DdeLlMmRUZ] [-T title] [-t target-pane] (alias: selectp) Make pane target-pane the active pane in its window.  If one of -D, -L, -R, or -U is used, respectively the pane below, to the left, to the right, or above the target pane is used.  -Z keeps the window zoomed if it was zoomed.  -l is the same as using the last-pane command.  -e enables or -d disables input to the pane.  -T sets the pane title.
-m and -M are used to set and clear the marked pane.  There is one marked pane at a time, setting a new marked pane clears the last. The marked pane is the default target for -s to join-pane, move-pane, swap-pane and swap-window.
select-window [-lnpT] [-t target-window] (alias: selectw) Select the window at target-window.  -l, -n and -p are equivalent to the last-window, next-window and previous-window commands.  If -T is given and the selected window is already the current window, the command behaves like last-window.
split-window [-bdfhIvPZ] [-c start-directory] [-e environment] [-l size] [-t target-pane] [shell-command] [-F format] (alias: splitw) Create a new pane by splitting target-pane: -h does a horizontal split and -v a vertical split; if neither is specified, -v is assumed.  The -l option specifies the size of the new pane in lines (for vertical split) or in columns (for horizontal split); size may be followed by ‘%’ to specify a percentage of the available space. The -b option causes the new pane to be created to the left of or above target-pane.  The -f option creates a new pane spanning the full window height (with -h) or full window width (with -v), instead of splitting the active pane.  -Z zooms if the window is not zoomed, or keeps it zoomed if already zoomed.
An empty shell-command ('') will create a pane with no command running in it.  Output can be sent to such a pane with the display-message command.  The -I flag (if shell-command is not specified or empty) will create an empty pane and forward any output from stdin to it.  For example:
$ make 2>&1|tmux splitw -dI &
All other options have the same meaning as for the new-window command.
swap-pane [-dDUZ] [-s src-pane] [-t dst-pane] (alias: swapp) Swap two panes.  If -U is used and no source pane is specified with -s, dst-pane is swapped with the previous pane (before it numerically); -D swaps with the next pane (after it numerically). -d instructs tmux not to change the active pane and -Z keeps the window zoomed if it was zoomed.
swap-window [-d] [-s src-window] [-t dst-window] (alias: swapw) This is similar to link-window, except the source and destination windows are swapped.  It is an error if no window exists at src-window.  If -d is given, the new window does not become the current window.
If -s is omitted and a marked pane is present (see select-pane -m), the window containing the marked pane is used rather than the current window.
unlink-window [-k] [-t target-window] (alias: unlinkw) Unlink target-window.  Unless -k is given, a window may be unlinked only if it is linked to multiple sessions - windows may not be linked to no sessions; if -k is specified and the window is linked to only one session, it is unlinked and destroyed.
tmux allows a command to be bound to most keys, with or without a prefix key.  When specifying keys, most represent themselves (for example ‘A’ to ‘Z’).  Ctrl keys may be prefixed with ‘C-’ or ‘^’, Shift keys with ‘S-’ and Alt (meta) with ‘M-’.  In addition, the following special key names are accepted: Up, Down, Left, Right, BSpace, BTab, DC (Delete), End, Enter, Escape, F1 to F12, Home, IC (Insert), NPage/PageDown/PgDn, PPage/PageUp/PgUp, Space, and Tab.  Note that to bind the ‘"’ or ‘'’ keys, quotation marks are necessary, for example:
bind-key '"' split-window bind-key "'" new-window
A command bound to the Any key will execute for all keys which do not have a more specific binding.
Commands related to key bindings are as follows:
bind-key [-nr] [-N note] [-T key-table] key command [arguments] (alias: bind) Bind key key to command.  Keys are bound in a key table.  By default (without -T), the key is bound in the prefix key table. This table is used for keys pressed after the prefix key (for example, by default ‘c’ is bound to new-window in the prefix table, so ‘C-b c’ creates a new window).  The root table is used for keys pressed without the prefix key: binding ‘c’ to new-window in the root table (not recommended) means a plain ‘c’ will create a new window.  -n is an alias for -T root.  Keys may also be bound in custom key tables and the switch-client -T command used to switch to them from a key binding.  The -r flag indicates this key may repeat, see the repeat-time option.  -N attaches a note to the key (shown with list-keys -N).
To view the default bindings and possible commands, see the list-keys command.
list-keys [-1aN] [-P prefix-string -T key-table] [key] (alias: lsk) List key bindings.  There are two forms: the default lists keys as bind-key commands; -N lists only keys with attached notes and shows only the key and note for each key.
With the default form, all key tables are listed by default.  -T lists only keys in key-table.
With the -N form, only keys in the root and prefix key tables are listed by default; -T also lists only keys in key-table.  -P specifies a prefix to print before each key and -1 lists only the first matching key.  -a lists the command for keys that do not have a note rather than skipping them.
send-keys [-FHlMRX] [-N repeat-count] [-t target-pane] key ... (alias: send) Send a key or keys to a window.  Each argument key is the name of the key (such as ‘C-a’ or ‘NPage’) to send; if the string is not recognised as a key, it is sent as a series of characters.  All arguments are sent sequentially from first to last.
The -l flag disables key name lookup and processes the keys as literal UTF-8 characters.  The -H flag expects each key to be a hexadecimal number for an ASCII character.
The -R flag causes the terminal state to be reset.
-M passes through a mouse event (only valid if bound to a mouse key binding, see MOUSE SUPPORT).
-X is used to send a command into copy mode - see the WINDOWS AND PANES section.  -N specifies a repeat count and -F expands formats in arguments where appropriate.
send-prefix [-2] [-t target-pane] Send the prefix key, or with -2 the secondary prefix key, to a window as if it was pressed.
unbind-key [-anq] [-T key-table] key (alias: unbind) Unbind the command bound to key.  -n and -T are the same as for bind-key.  If -a is present, all key bindings are removed.  The -q option prevents errors being returned.
The appearance and behaviour of tmux may be modified by changing the value of various options.  There are four types of option: server options, session options, window options, and pane options.
The tmux server has a set of global server options which do not apply to any particular window or session or pane.  These are altered with the set-option -s command, or displayed with the show-options -s command.
In addition, each individual session may have a set of session options, and there is a separate set of global session options.  Sessions which do not have a particular option configured inherit the value from the global session options.  Session options are set or unset with the set-option command and may be listed with the show-options command.  The available server and session options are listed under the set-option command.
Similarly, a set of window options is attached to each window and a set of pane options to each pane.  Pane options inherit from window options.  This means any pane option may be set as a window option to apply the option to all panes in the window without the option set, for example these commands will set the background colour to red for all panes except pane 0:
set -w window-style bg=red set -pt:.0 window-style bg=blue
There is also a set of global window options from which any unset window or pane options are inherited.  Window and pane options are altered with set-option -w and -p commands and displayed with show-option -w and -p.
tmux also supports user options which are prefixed with a ‘@’.  User options may have any name, so long as they are prefixed with ‘@’, and be set to any string.  For example:
$ tmux set -wq @foo "abc123" $ tmux show -wv @foo abc123
Commands which set options are as follows:
set-option [-aFgopqsuUw] [-t target-pane] option value (alias: set) Set a pane option with -p, a window option with -w, a server option with -s, otherwise a session option.  If the option is not a user option, -w or -s may be unnecessary - tmux will infer the type from the option name, assuming -w for pane options.  If -g is given, the global session or window option is set.
-F expands formats in the option value.  The -u flag unsets an option, so a session inherits the option from the global options (or with -g, restores a global option to the default).  -U unsets an option (like -u) but if the option is a pane option also unsets the option on any panes in the window.  value depends on the option and may be a number, a string, or a flag (on, off, or omitted to toggle).
The -o flag prevents setting an option that is already set and the -q flag suppresses errors about unknown or ambiguous options.
With -a, and if the option expects a string or a style, value is appended to the existing setting.  For example:
set -g status-left "foo" set -ag status-left "bar"
Will result in ‘foobar’.  And:
set -g status-style "bg=red" set -ag status-style "fg=blue"
Will result in a red background and blue foreground.  Without -a, the result would be the default background and a blue foreground.
show-options [-AgHpqsvw] [-t target-pane] [option] (alias: show) Show the pane options (or a single option if option is provided) with -p, the window options with -w, the server options with -s, otherwise the session options.  If the option is not a user option, -w or -s may be unnecessary - tmux will infer the type from the option name, assuming -w for pane options.  Global session or window options are listed if -g is used.  -v shows only the option value, not the name.  If -q is set, no error will be returned if option is unset.  -H includes hooks (omitted by default).  -A includes options inherited from a parent set of options, such options are marked with an asterisk.
Available server options are:
backspace key Set the key sent by tmux for backspace.
buffer-limit number 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.
command-alias[] name=value This is an array of custom aliases for commands.  If an unknown command matches name, it is replaced with value.  For example, after:
set -s command-alias[100] zoom='resize-pane -Z'
Using:
zoom -t:.1
resize-pane -Z -t:.1
Note that aliases are expanded when a command is parsed rather than when it is executed, so binding an alias with bind-key will bind the expanded form.
default-terminal 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’, ‘tmux’ or a derivative of them.
copy-command shell-command Give the command to pipe to if the copy-pipe copy mode command is used without arguments.
escape-time 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.
editor shell-command Set the command used when tmux runs an editor.
exit-empty [on | off] If enabled (the default), the server will exit when there are no active sessions.
exit-unattached [on | off] If enabled, the server will exit when there are no attached clients.
extended-keys [on | off | always] When on or always, the escape sequence to enable extended keys is sent to the terminal, if tmux knows that it is supported.  tmux always recognises extended keys itself.  If this option is on, tmux will only forward extended keys to applications when they request them; if always, tmux will always forward the keys.
focus-events [on | off] When enabled, focus events are requested from the terminal if supported and passed through to applications running in tmux. Attached clients should be detached and attached again after changing this option.
history-file path If not empty, a file to which tmux will write command prompt history on exit and load it from on start.
message-limit number Set the number of error or information messages to save in the message log for each client.  The default is 100.
set-clipboard [on | external | off] Attempt to set the terminal clipboard content using the xterm(1) escape sequence, if there is an Ms entry in the terminfo(5) description (see the TERMINFO EXTENSIONS section).
If set to on, tmux will both accept the escape sequence to create a buffer and attempt to set the terminal clipboard.  If set to external, tmux will attempt to set the terminal clipboard but ignore attempts by applications to set tmux buffers.  If off, tmux will neither accept the clipboard escape sequence nor attempt to set the clipboard.
Note that this feature needs to be enabled in xterm(1) by setting the resource:
disallowedWindowOps: 20,21,SetXprop
Or changing this property from the xterm(1) interactive menu when required.
terminal-features[] string Set terminal features for terminal types read from terminfo(5). tmux has a set of named terminal features.  Each will apply appropriate changes to the terminfo(5) entry in use.
tmux can detect features for a few common terminals; this option can be used to easily tell tmux about features supported by terminals it cannot detect.  The terminal-overrides option allows individual terminfo(5) capabilities to be set instead, terminal-features is intended for classes of functionality supported in a standard way but not reported by terminfo(5).  Care must be taken to configure this only with features the terminal actually supports.
This is an array option where each entry is a colon-separated string made up of a terminal type pattern (matched using fnmatch(3)) followed by a list of terminal features.  The available features are:
256     Supports 256 colours with the SGR escape sequences.
clipboard Allows setting the system clipboard.
ccolour Allows setting the cursor colour.
cstyle  Allows setting the cursor style.
extkeys Supports extended keys.
focus   Supports focus reporting.
margins Supports DECSLRM margins.
mouse   Supports xterm(1) mouse sequences.
overline Supports the overline SGR attribute.
rectfill Supports the DECFRA rectangle fill escape sequence.
RGB     Supports RGB colour with the SGR escape sequences.
strikethrough Supports the strikethrough SGR escape sequence.
sync    Supports synchronized updates.
title   Supports xterm(1) title setting.
usstyle Allows underscore style and colour to be set.
terminal-overrides[] string Allow terminal descriptions read using terminfo(5) to be overridden.  Each entry is a colon-separated string made up of a terminal type pattern (matched using fnmatch(3)) and a set of name=value entries.
For example, to set the ‘clear’ terminfo(5) entry to ‘\e[H\e[2J’ for all terminal types matching ‘rxvt*’:
rxvt*:clear=\e[H\e[2J
The terminal entry value is passed through strunvis(3) before interpretation.
user-keys[] key Set list of user-defined key escape sequences.  Each item is associated with a key named ‘User0’, ‘User1’, and so on.
set -s user-keys[0] "\e[5;30012~" bind User0 resize-pane -L 3
Available session options are:
activity-action [any | none | current | other] Set action on window activity when monitor-activity is on.  any means activity in any window linked to a session causes a bell or message (depending on visual-activity) in the current window of that session, none means all activity is ignored (equivalent to monitor-activity being off), current means only activity in windows other than the current window are ignored and other means activity in the current window is ignored but not those in other windows.
assume-paste-time milliseconds If keys are entered faster than one in milliseconds, they are assumed to have been pasted rather than typed and tmux key bindings are not processed.  The default is one millisecond and zero disables.
base-index index Set the base index from which an unused index should be searched when a new window is created.  The default is zero.
bell-action [any | none | current | other] Set action on a bell in a window when monitor-bell is on.  The values are the same as those for activity-action.
default-command shell-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 login shell using the value of the default-shell option.
default-shell path 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 a default value from the first suitable of the SHELL environment variable, the shell returned by getpwuid(3), or /bin/sh.  This option should be configured when tmux is used as a login shell.
default-size XxY Set the default size of new windows when the window-size option is set to manual or when a session is created with new-session -d. The value is the width and height separated by an ‘x’ character. The default is 80x24.
destroy-unattached [on | off] If enabled and the session is no longer attached to any clients, it is destroyed.
detach-on-destroy [off | on | no-detached] 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.  If no-detached, the client is detached only if there are no detached sessions; if detached sessions exist, the client is switched to the most recently active.
display-panes-active-colour colour Set the colour used by the display-panes command to show the indicator for the active pane.
display-panes-colour colour Set the colour used by the display-panes command to show the indicators for inactive panes.
display-panes-time time Set the time in milliseconds for which the indicators shown by the display-panes command appear.
display-time time Set the amount of time for which status line messages and other on- screen indicators are displayed.  If set to 0, messages and indicators are displayed until a key is pressed.  time is in milliseconds.
history-limit lines 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.
key-table key-table Set the default key table to key-table instead of root.
lock-after-time number Lock the session (like the lock-session command) after number seconds of inactivity.  The default is not to lock (set to 0).
lock-command shell-command Command to run when locking each client.  The default is to run lock(1) with -np.
message-command-style style Set status line message command style.  This is used for the command prompt with vi(1) keys when in command mode.  For how to specify style, see the STYLES section.
message-style style Set status line message style.  This is used for messages and for the command prompt.  For how to specify style, see the STYLES section.
mouse [on | off] If on, tmux captures the mouse and allows mouse events to be bound as key bindings.  See the MOUSE SUPPORT section for details.
prefix key Set the key accepted as a prefix key.  In addition to the standard keys described under KEY BINDINGS, prefix can be set to the special key ‘None’ to set no prefix.
prefix2 key Set a secondary key accepted as a prefix key.  Like prefix, prefix2 can be set to ‘None’.
renumber-windows [on | off] If on, when a window is closed in a session, automatically renumber the other windows in numerical order.  This respects the base-index option if it has been set.  If off, do not renumber the windows.
repeat-time 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 to bind-key.  Repeat is enabled for the default keys bound to the resize-pane command.
set-titles [on | off] Attempt to set the client terminal title using the tsl and fsl terminfo(5) entries if they exist.  tmux automatically sets these to the \e]0;...\007 sequence if the terminal appears to be xterm(1).  This option is off by default.
set-titles-string string String used to set the client terminal title if set-titles is on. Formats are expanded, see the FORMATS section.
silence-action [any | none | current | other] Set action on window silence when monitor-silence is on.  The values are the same as those for activity-action.
status [off | on | 2 | 3 | 4 | 5] Show or hide the status line or specify its size.  Using on gives a status line one row in height; 2, 3, 4 or 5 more rows.
status-format[] format Specify the format to be used for each line of the status line. The default builds the top status line from the various individual status options below.
status-interval interval Update the status line every interval seconds.  By default, updates will occur every 15 seconds.  A setting of zero disables redrawing at interval.
status-justify [left | centre | right | absolute-centre] Set the position of the window list in the status line: left, centre or right.  centre puts the window list in the relative centre of the available free space; absolute-centre uses the centre of the entire horizontal space.
status-keys [vi | emacs] 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’.
status-left string Display string (by default the session name) to the left of the status line.  string will be passed through strftime(3).  Also see the FORMATS and STYLES sections.
For details on how the names and titles can be set see the NAMES AND TITLES section.
#(sysctl vm.loadavg) #[fg=yellow,bold]#(apm -l)%%#[default] [#S]
The default is ‘[#S] ’.
status-left-length length Set the maximum length of the left component of the status line. The default is 10.
status-left-style style Set the style of the left part of the status line.  For how to specify style, see the STYLES section.
status-position [top | bottom] Set the position of the status line.
status-right string Display string to the right of the status line.  By default, the current pane title in double quotes, the date and the time are shown.  As with status-left, string will be passed to strftime(3) and character pairs are replaced.
status-right-length length Set the maximum length of the right component of the status line. The default is 40.
status-right-style style Set the style of the right part of the status line.  For how to specify style, see the STYLES section.
status-style style Set status line style.  For how to specify style, see the STYLES section.
update-environment[] variable Set 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 do not exist in the source environment are set to be removed from the session environment (as if -r was given to the set-environment command).
visual-activity [on | off | both] If on, display a message instead of sending a bell when activity occurs in a window for which the monitor-activity window option is enabled.  If set to both, a bell and a message are produced.
visual-bell [on | off | both] If on, a message is shown on a bell in a window for which the monitor-bell window option is enabled instead of it being passed through to the terminal (which normally makes a sound).  If set to both, a bell and a message are produced.  Also see the bell-action option.
visual-silence [on | off | both] If monitor-silence is enabled, prints a message after the interval has expired on a given window instead of sending a bell.  If set to both, a bell and a message are produced.
word-separators string 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 ‘ -_@’.
Available window options are:
aggressive-resize [on | off] Aggressively resize the chosen window.  This means that tmux will resize the window to the size of the smallest or largest session (see the window-size option) for which it is the current window, rather than the session to which it is attached.  The window may resize when the current window is changed on another session; this option is good for full-screen programs which support SIGWINCH and poor for interactive programs such as shells.
automatic-rename [on | off] Control automatic window renaming.  When this setting is enabled, tmux will rename the window automatically using the format specified by automatic-rename-format.  This flag is automatically disabled for an individual window when a name is specified at creation with new-window or new-session, or later with rename-window, or with a terminal escape sequence.  It may be switched off globally with:
set-option -wg automatic-rename off
automatic-rename-format format The format (see FORMATS) used when the automatic-rename option is enabled.
clock-mode-colour colour Set clock colour.
clock-mode-style [12 | 24] Set clock hour format.
main-pane-height height main-pane-width width Set the width or height of the main (left or top) pane in the main-horizontal or main-vertical layouts.  If suffixed by ‘%’, this is a percentage of the window size.
copy-mode-match-style style Set the style of search matches in copy mode.  For how to specify style, see the STYLES section.
copy-mode-mark-style style Set the style of the line containing the mark in copy mode.  For how to specify style, see the STYLES section.
copy-mode-current-match-style style Set the style of the current search match in copy mode.  For how to specify style, see the STYLES section.
mode-keys [vi | emacs] Use vi or emacs-style key bindings in copy mode.  The default is emacs, unless VISUAL or EDITOR contains ‘vi’.
mode-style style Set window modes style.  For how to specify style, see the STYLES section.
monitor-activity [on | off] Monitor for activity in the window.  Windows with activity are highlighted in the status line.
monitor-bell [on | off] Monitor for a bell in the window.  Windows with a bell are highlighted in the status line.
monitor-silence [interval] Monitor for silence (no activity) in the window within interval seconds.  Windows that have been silent for the interval are highlighted in the status line.  An interval of zero disables the monitoring.
other-pane-height 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-height options are set, the main pane will grow taller to make the other panes the specified height, but will never shrink to do so.  If suffixed by ‘%’, this is a percentage of the window size.
other-pane-width width Like other-pane-height, but set the width of other panes in the main-vertical layout.
pane-active-border-style style Set the pane border style for the currently active pane.  For how to specify style, see the STYLES section.  Attributes are ignored.
pane-base-index index Like base-index, but set the starting index for pane numbers.
pane-border-format format Set the text shown in pane border status lines.
pane-border-lines type Set the type of characters used for drawing pane borders.  type may be one of:
single  single lines using ACS or UTF-8 characters
double  double lines using UTF-8 characters
heavy   heavy lines using UTF-8 characters
simple  simple ASCII characters
number  the pane number
‘double’ and ‘heavy’ will fall back to standard ACS line drawing when UTF-8 is not supported.
pane-border-status [off | top | bottom] Turn pane border status lines off or set their position.
pane-border-style style Set the pane border style for panes aside from the active pane. For how to specify style, see the STYLES section.  Attributes are ignored.
window-status-activity-style style Set status line style for windows with an activity alert.  For how to specify style, see the STYLES section.
window-status-bell-style style Set status line style for windows with a bell alert.  For how to specify style, see the STYLES section.
window-status-current-format string Like window-status-format, but is the format used when the window is the current window.
window-status-current-style style Set status line style for the currently active window.  For how to specify style, see the STYLES section.
window-status-format string Set the format in which the window is displayed in the status line window list.  See the FORMATS and STYLES sections.
window-status-last-style style Set status line style for the last active window.  For how to specify style, see the STYLES section.
window-status-separator string Sets the separator drawn between windows in the status line.  The default is a single space character.
window-status-style style Set status line style for a single window.  For how to specify style, see the STYLES section.
window-size largest | smallest | manual | latest Configure how tmux determines the window size.  If set to largest, the size of the largest attached session is used; if smallest, the size of the smallest.  If manual, the size of a new window is set from the default-size option and windows are resized automatically. With latest, tmux uses the size of the client that had the most recent activity.  See also the resize-window command and the aggressive-resize option.
wrap-search [on | off] If this option is set, searches will wrap around the end of the pane contents.  The default is on.
Available pane options are:
allow-rename [on | off] Allow programs in the pane to change the window name using a terminal escape sequence (\ek...\e\\).
alternate-screen [on | off] This option configures whether programs running inside the pane may use the terminal alternate screen feature, which allows the smcup and rmcup terminfo(5) capabilities.  The alternate screen feature preserves the contents of the window when an interactive application starts and restores it on exit, so that any output visible before the application starts reappears unchanged after it exits.
remain-on-exit [on | off | failed] A pane with this flag set is not destroyed when the program running in it exits.  If set to failed, then only when the program exit status is not zero.  The pane may be reactivated with the respawn-pane command.
synchronize-panes [on | off] Duplicate input to all other panes in the same window where this option is also on (only for panes that are not in any mode).
window-active-style style Set the pane style when it is the active pane.  For how to specify style, see the STYLES section.
window-style style Set the pane style.  For how to specify style, see the STYLES section.
tmux allows commands to run on various triggers, called hooks.  Most tmux commands have an after hook and there are a number of hooks not associated with commands.
Hooks are stored as array options, members of the array are executed in order when the hook is triggered.  Like options different hooks may be global or belong to a session, window or pane.  Hooks may be configured with the set-hook or set-option commands and displayed with show-hooks or show-options -H.  The following two commands are equivalent:
set-hook -g pane-mode-changed[42] 'set -g status-left-style bg=red' set-option -g pane-mode-changed[42] 'set -g status-left-style bg=red'
Setting a hook without specifying an array index clears the hook and sets the first member of the array.
A command's after hook is run after it completes, except when the command is run as part of a hook itself.  They are named with an ‘after-’ prefix. For example, the following command adds a hook to select the even-vertical layout after every split-window:
set-hook -g after-split-window "selectl even-vertical"
All the notifications listed in the CONTROL MODE section are hooks (without any arguments), except %exit.  The following additional hooks are available:
alert-activity          Run when a window has activity.  See monitor-activity.
alert-bell              Run when a window has received a bell.  See monitor-bell.
alert-silence           Run when a window has been silent.  See monitor-silence.
client-attached         Run when a client is attached.
client-detached         Run when a client is detached
client-resized          Run when a client is resized.
client-session-changed  Run when a client's attached session is changed.
pane-died               Run when the program running in a pane exits, but remain-on-exit is on so the pane has not closed.
pane-exited             Run when the program running in a pane exits.
pane-focus-in           Run when the focus enters a pane, if the focus-events option is on.
pane-focus-out          Run when the focus exits a pane, if the focus-events option is on.
pane-set-clipboard      Run when the terminal clipboard is set using the xterm(1) escape sequence.
session-created         Run when a new session created.
session-closed          Run when a session closed.
session-renamed         Run when a session is renamed.
window-linked           Run when a window is linked into a session.
window-renamed          Run when a window is renamed.
window-unlinked         Run when a window is unlinked from a session.
Hooks are managed with these commands:
set-hook [-agpRuw] [-t target-pane] hook-name command Without -R, sets (or with -u unsets) hook hook-name to command. The flags are the same as for set-option.
With -R, run hook-name immediately.
show-hooks [-gpw] [-t target-pane] Shows hooks.  The flags are the same as for show-options.
If the mouse option is on (the default is off), tmux allows mouse events to be bound as keys.  The name of each key is made up of a mouse event (such as ‘MouseUp1’) and a location suffix, one of the following:
Pane             the contents of a pane Border           a pane border Status           the status line window list StatusLeft       the left part of the status line StatusRight      the right part of the status line StatusDefault    any other part of the status line
The following mouse events are available: