1.\" $OpenBSD: tmux.1,v 1.855 2021/08/27 17:15:57 nicm Exp $ 2.\" 3.\" Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com> 4.\" 5.\" Permission to use, copy, modify, and distribute this software for any 6.\" purpose with or without fee is hereby granted, provided that the above 7.\" copyright notice and this permission notice appear in all copies. 8.\" 9.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13.\" WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER 14.\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING 15.\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16.\" 17.Dd $Mdocdate: August 27 2021 $ 18.Dt TMUX 1 19.Os 20.Sh NAME 21.Nm tmux 22.Nd terminal multiplexer 23.Sh SYNOPSIS 24.Nm tmux 25.Bk -words 26.Op Fl 2CDluvV 27.Op Fl c Ar shell-command 28.Op Fl f Ar file 29.Op Fl L Ar socket-name 30.Op Fl S Ar socket-path 31.Op Fl T Ar features 32.Op Ar command Op Ar flags 33.Ek 34.Sh DESCRIPTION 35.Nm 36is a terminal multiplexer: 37it enables a number of terminals to be created, accessed, and 38controlled from a single screen. 39.Nm 40may be detached from a screen 41and continue running in the background, 42then later reattached. 43.Pp 44When 45.Nm 46is started it creates a new 47.Em session 48with a single 49.Em window 50and displays it on screen. 51A status line at the bottom of the screen 52shows information on the current session 53and is used to enter interactive commands. 54.Pp 55A session is a single collection of 56.Em pseudo terminals 57under the management of 58.Nm . 59Each session has one or more 60windows linked to it. 61A window occupies the entire screen 62and may be split into rectangular panes, 63each of which is a separate pseudo terminal 64(the 65.Xr pty 4 66manual page documents the technical details of pseudo terminals). 67Any number of 68.Nm 69instances may connect to the same session, 70and any number of windows may be present in the same session. 71Once all sessions are killed, 72.Nm 73exits. 74.Pp 75Each session is persistent and will survive accidental disconnection 76(such as 77.Xr ssh 1 78connection timeout) or intentional detaching (with the 79.Ql C-b d 80key strokes). 81.Nm 82may be reattached using: 83.Pp 84.Dl $ tmux attach 85.Pp 86In 87.Nm , 88a session is displayed on screen by a 89.Em client 90and all sessions are managed by a single 91.Em server . 92The server and each client are separate processes which communicate through a 93socket in 94.Pa /tmp . 95.Pp 96The options are as follows: 97.Bl -tag -width "XXXXXXXXXXXX" 98.It Fl 2 99Force 100.Nm 101to assume the terminal supports 256 colours. 102This is equivalent to 103.Fl T Ar 256 . 104.It Fl C 105Start in control mode (see the 106.Sx CONTROL MODE 107section). 108Given twice 109.Xo ( Fl CC ) Xc 110disables echo. 111.It Fl c Ar shell-command 112Execute 113.Ar shell-command 114using the default shell. 115If necessary, the 116.Nm 117server will be started to retrieve the 118.Ic default-shell 119option. 120This option is for compatibility with 121.Xr sh 1 122when 123.Nm 124is used as a login shell. 125.It Fl D 126Do not start the 127.Nm 128server as a daemon. 129This also turns the 130.Ic exit-empty 131option off. 132With 133.Fl D , 134.Ar command 135may not be specified. 136.It Fl f Ar file 137Specify an alternative configuration file. 138By default, 139.Nm 140loads the system configuration file from 141.Pa /etc/tmux.conf , 142if present, then looks for a user configuration file at 143.Pa ~/.tmux.conf . 144.Pp 145The configuration file is a set of 146.Nm 147commands which are executed in sequence when the server is first started. 148.Nm 149loads configuration files once when the server process has started. 150The 151.Ic source-file 152command may be used to load a file later. 153.Pp 154.Nm 155shows any error messages from commands in configuration files in the first 156session created, and continues to process the rest of the configuration file. 157.It Fl L Ar socket-name 158.Nm 159stores the server socket in a directory under 160.Ev TMUX_TMPDIR 161or 162.Pa /tmp 163if it is unset. 164The default socket is named 165.Em default . 166This option allows a different socket name to be specified, allowing several 167independent 168.Nm 169servers to be run. 170Unlike 171.Fl S 172a full path is not necessary: the sockets are all created in a directory 173.Pa tmux-UID 174under the directory given by 175.Ev TMUX_TMPDIR 176or in 177.Pa /tmp . 178The 179.Pa tmux-UID 180directory is created by 181.Nm 182and must not be world readable, writable or executable. 183.Pp 184If the socket is accidentally removed, the 185.Dv SIGUSR1 186signal may be sent to the 187.Nm 188server process to recreate it (note that this will fail if any parent 189directories are missing). 190.It Fl l 191Behave as a login shell. 192This flag currently has no effect and is for compatibility with other shells 193when using tmux as a login shell. 194.It Fl N 195Do not start the server even if the command would normally do so (for example 196.Ic new-session 197or 198.Ic start-server ) . 199.It Fl S Ar socket-path 200Specify a full alternative path to the server socket. 201If 202.Fl S 203is specified, the default socket directory is not used and any 204.Fl L 205flag is ignored. 206.It Fl u 207Write UTF-8 output to the terminal even if the first environment 208variable of 209.Ev LC_ALL , 210.Ev LC_CTYPE , 211or 212.Ev LANG 213that is set does not contain 214.Qq UTF-8 215or 216.Qq UTF8 . 217This is equivalent to 218.Fl T Ar UTF-8 . 219.It Fl T Ar features 220Set terminal features for the client. 221This is a comma-separated list of features. 222See the 223.Ic terminal-features 224option. 225.It Fl v 226Request verbose logging. 227Log messages will be saved into 228.Pa tmux-client-PID.log 229and 230.Pa tmux-server-PID.log 231files in the current directory, where 232.Em PID 233is the PID of the server or client process. 234If 235.Fl v 236is specified twice, an additional 237.Pa tmux-out-PID.log 238file is generated with a copy of everything 239.Nm 240writes to the terminal. 241.Pp 242The 243.Dv SIGUSR2 244signal may be sent to the 245.Nm 246server process to toggle logging between on (as if 247.Fl v 248was given) and off. 249.It Fl V 250Report the 251.Nm 252version. 253.It Ar command Op Ar flags 254This specifies one of a set of commands used to control 255.Nm , 256as described in the following sections. 257If no commands are specified, the 258.Ic new-session 259command is assumed. 260.El 261.Sh DEFAULT KEY BINDINGS 262.Nm 263may be controlled from an attached client by using a key combination of a 264prefix key, 265.Ql C-b 266(Ctrl-b) by default, followed by a command key. 267.Pp 268The default command key bindings are: 269.Pp 270.Bl -tag -width "XXXXXXXXXX" -offset indent -compact 271.It C-b 272Send the prefix key (C-b) through to the application. 273.It C-o 274Rotate the panes in the current window forwards. 275.It C-z 276Suspend the 277.Nm 278client. 279.It ! 280Break the current pane out of the window. 281.It \&" 282.\" " 283Split the current pane into two, top and bottom. 284.It # 285List all paste buffers. 286.It $ 287Rename the current session. 288.It % 289Split the current pane into two, left and right. 290.It & 291Kill the current window. 292.It ' 293Prompt for a window index to select. 294.It \&( 295Switch the attached client to the previous session. 296.It \&) 297Switch the attached client to the next session. 298.It , 299Rename the current window. 300.It - 301Delete the most recently copied buffer of text. 302.It . 303Prompt for an index to move the current window. 304.It 0 to 9 305Select windows 0 to 9. 306.It : 307Enter the 308.Nm 309command prompt. 310.It ; 311Move to the previously active pane. 312.It = 313Choose which buffer to paste interactively from a list. 314.It \&? 315List all key bindings. 316.It D 317Choose a client to detach. 318.It L 319Switch the attached client back to the last session. 320.It \&[ 321Enter copy mode to copy text or view the history. 322.It \&] 323Paste the most recently copied buffer of text. 324.It c 325Create a new window. 326.It d 327Detach the current client. 328.It f 329Prompt to search for text in open windows. 330.It i 331Display some information about the current window. 332.It l 333Move to the previously selected window. 334.It m 335Mark the current pane (see 336.Ic select-pane 337.Fl m ) . 338.It M 339Clear the marked pane. 340.It n 341Change to the next window. 342.It o 343Select the next pane in the current window. 344.It p 345Change to the previous window. 346.It q 347Briefly display pane indexes. 348.It r 349Force redraw of the attached client. 350.It s 351Select a new session for the attached client interactively. 352.It t 353Show the time. 354.It w 355Choose the current window interactively. 356.It x 357Kill the current pane. 358.It z 359Toggle zoom state of the current pane. 360.It { 361Swap the current pane with the previous pane. 362.It } 363Swap the current pane with the next pane. 364.It ~ 365Show previous messages from 366.Nm , 367if any. 368.It Page Up 369Enter copy mode and scroll one page up. 370.It Up, Down 371.It Left, Right 372Change to the pane above, below, to the left, or to the right of the current 373pane. 374.It M-1 to M-5 375Arrange panes in one of the five preset layouts: even-horizontal, 376even-vertical, main-horizontal, main-vertical, or tiled. 377.It Space 378Arrange the current window in the next preset layout. 379.It M-n 380Move to the next window with a bell or activity marker. 381.It M-o 382Rotate the panes in the current window backwards. 383.It M-p 384Move to the previous window with a bell or activity marker. 385.It C-Up, C-Down 386.It C-Left, C-Right 387Resize the current pane in steps of one cell. 388.It M-Up, M-Down 389.It M-Left, M-Right 390Resize the current pane in steps of five cells. 391.El 392.Pp 393Key bindings may be changed with the 394.Ic bind-key 395and 396.Ic unbind-key 397commands. 398.Sh COMMAND PARSING AND EXECUTION 399.Nm 400supports a large number of commands which can be used to control its 401behaviour. 402Each command is named and can accept zero or more flags and arguments. 403They may be bound to a key with the 404.Ic bind-key 405command or run from the shell prompt, a shell script, a configuration file or 406the command prompt. 407For example, the same 408.Ic set-option 409command run from the shell prompt, from 410.Pa ~/.tmux.conf 411and bound to a key may look like: 412.Bd -literal -offset indent 413$ tmux set-option -g status-style bg=cyan 414 415set-option -g status-style bg=cyan 416 417bind-key C set-option -g status-style bg=cyan 418.Ed 419.Pp 420Here, the command name is 421.Ql set-option , 422.Ql Fl g 423is a flag and 424.Ql status-style 425and 426.Ql bg=cyan 427are arguments. 428.Pp 429.Nm 430distinguishes between command parsing and execution. 431In order to execute a command, 432.Nm 433needs it to be split up into its name and arguments. 434This is command parsing. 435If a command is run from the shell, the shell parses it; from inside 436.Nm 437or from a configuration file, 438.Nm 439does. 440Examples of when 441.Nm 442parses commands are: 443.Bl -dash -offset indent 444.It 445in a configuration file; 446.It 447typed at the command prompt (see 448.Ic command-prompt ) ; 449.It 450given to 451.Ic bind-key ; 452.It 453passed as arguments to 454.Ic if-shell 455or 456.Ic confirm-before . 457.El 458.Pp 459To execute commands, each client has a 460.Ql command queue . 461A global command queue not attached to any client is used on startup 462for configuration files like 463.Pa ~/.tmux.conf . 464Parsed commands added to the queue are executed in order. 465Some commands, like 466.Ic if-shell 467and 468.Ic confirm-before , 469parse their argument to create a new command which is inserted immediately 470after themselves. 471This means that arguments can be parsed twice or more - once when the parent command (such as 472.Ic if-shell ) 473is parsed and again when it parses and executes its command. 474Commands like 475.Ic if-shell , 476.Ic run-shell 477and 478.Ic display-panes 479stop execution of subsequent commands on the queue until something happens - 480.Ic if-shell 481and 482.Ic run-shell 483until a shell command finishes and 484.Ic display-panes 485until a key is pressed. 486For example, the following commands: 487.Bd -literal -offset indent 488new-session; new-window 489if-shell "true" "split-window" 490kill-session 491.Ed 492.Pp 493Will execute 494.Ic new-session , 495.Ic new-window , 496.Ic if-shell , 497the shell command 498.Xr true 1 , 499.Ic split-window 500and 501.Ic kill-session 502in that order. 503.Pp 504The 505.Sx COMMANDS 506section lists the 507.Nm 508commands and their arguments. 509.Sh PARSING SYNTAX 510This section describes the syntax of commands parsed by 511.Nm , 512for example in a configuration file or at the command prompt. 513Note that when commands are entered into the shell, they are parsed by the shell 514- see for example 515.Xr ksh 1 516or 517.Xr csh 1 . 518.Pp 519Each command is terminated by a newline or a semicolon (;). 520Commands separated by semicolons together form a 521.Ql command sequence 522- if a command in the sequence encounters an error, no subsequent commands are 523executed. 524.Pp 525It is recommended that a semicolon used as a command separator should be 526written as an individual token, for example from 527.Xr sh 1 : 528.Bd -literal -offset indent 529$ tmux neww \\; splitw 530.Ed 531.Pp 532Or: 533.Bd -literal -offset indent 534$ tmux neww ';' splitw 535.Ed 536.Pp 537Or from the tmux command prompt: 538.Bd -literal -offset indent 539neww ; splitw 540.Ed 541.Pp 542However, a trailing semicolon is also interpreted as a command separator, 543for example in these 544.Xr sh 1 545commands: 546.Bd -literal -offset indent 547$ tmux neww\e\e; splitw 548.Ed 549.Pp 550Or: 551.Bd -literal -offset indent 552$ tmux 'neww;' splitw 553.Ed 554.Pp 555As in these examples, when running tmux from the shell extra care must be taken 556to properly quote semicolons: 557.Bl -enum -offset Ds 558.It 559Semicolons that should be interpreted as a command separator 560should be escaped according to the shell conventions. 561For 562.Xr sh 1 563this typically means quoted (such as 564.Ql neww ';' splitw ) 565or escaped (such as 566.Ql neww \e\e\e\e; splitw ) . 567.It 568Individual semicolons or trailing semicolons that should be interpreted as 569arguments should be escaped twice: once according to the shell conventions and 570a second time for 571.Nm ; 572for example: 573.Bd -literal -offset indent 574$ tmux neww 'foo\e\e;' bar 575$ tmux neww foo\e\e\e\e; bar 576.Ed 577.It 578Semicolons that are not individual tokens or trailing another token should only 579be escaped once according to shell conventions; for example: 580.Bd -literal -offset indent 581$ tmux neww 'foo-;-bar' 582$ tmux neww foo-\e\e;-bar 583.Ed 584.El 585.Pp 586Comments are marked by the unquoted # character - any remaining text after a 587comment is ignored until the end of the line. 588.Pp 589If the last character of a line is \e, the line is joined with the following 590line (the \e and the newline are completely removed). 591This is called line continuation and applies both inside and outside quoted 592strings and in comments, but not inside braces. 593.Pp 594Command arguments may be specified as strings surrounded by single (') quotes, 595double quotes (") or braces ({}). 596.\" " 597This is required when the argument contains any special character. 598Single and double quoted strings cannot span multiple lines except with line 599continuation. 600Braces can span multiple lines. 601.Pp 602Outside of quotes and inside double quotes, these replacements are performed: 603.Bl -dash -offset indent 604.It 605Environment variables preceded by $ are replaced with their value from the 606global environment (see the 607.Sx GLOBAL AND SESSION ENVIRONMENT 608section). 609.It 610A leading ~ or ~user is expanded to the home directory of the current or 611specified user. 612.It 613\euXXXX or \euXXXXXXXX is replaced by the Unicode codepoint corresponding to 614the given four or eight digit hexadecimal number. 615.It 616When preceded (escaped) by a \e, the following characters are replaced: \ee by 617the escape character; \er by a carriage return; \en by a newline; and \et by a 618tab. 619.It 620\eooo is replaced by a character of the octal value ooo. 621Three octal digits are required, for example \e001. 622The largest valid character is \e377. 623.It 624Any other characters preceded by \e are replaced by themselves (that is, the \e 625is removed) and are not treated as having any special meaning - so for example 626\e; will not mark a command sequence and \e$ will not expand an environment 627variable. 628.El 629.Pp 630Braces are parsed as a configuration file (so conditions such as 631.Ql %if 632are processed) and then converted into a string. 633They are designed to avoid the need for additional escaping when passing a 634group of 635.Nm 636commands as an argument (for example to 637.Ic if-shell ) . 638These two examples produce an identical command - note that no escaping is 639needed when using {}: 640.Bd -literal -offset indent 641if-shell true { 642 display -p 'brace-dollar-foo: }$foo' 643} 644 645if-shell true "display -p 'brace-dollar-foo: }\e$foo'" 646.Ed 647.Pp 648Braces may be enclosed inside braces, for example: 649.Bd -literal -offset indent 650bind x if-shell "true" { 651 if-shell "true" { 652 display "true!" 653 } 654} 655.Ed 656.Pp 657Environment variables may be set by using the syntax 658.Ql name=value , 659for example 660.Ql HOME=/home/user . 661Variables set during parsing are added to the global environment. 662A hidden variable may be set with 663.Ql %hidden , 664for example: 665.Bd -literal -offset indent 666%hidden MYVAR=42 667.Ed 668.Pp 669Hidden variables are not passed to the environment of processes created 670by tmux. 671See the 672.Sx GLOBAL AND SESSION ENVIRONMENT 673section. 674.Pp 675Commands may be parsed conditionally by surrounding them with 676.Ql %if , 677.Ql %elif , 678.Ql %else 679and 680.Ql %endif . 681The argument to 682.Ql %if 683and 684.Ql %elif 685is expanded as a format (see 686.Sx FORMATS ) 687and if it evaluates to false (zero or empty), subsequent text is ignored until 688the closing 689.Ql %elif , 690.Ql %else 691or 692.Ql %endif . 693For example: 694.Bd -literal -offset indent 695%if "#{==:#{host},myhost}" 696set -g status-style bg=red 697%elif "#{==:#{host},myotherhost}" 698set -g status-style bg=green 699%else 700set -g status-style bg=blue 701%endif 702.Ed 703.Pp 704Will change the status line to red if running on 705.Ql myhost , 706green if running on 707.Ql myotherhost , 708or blue if running on another host. 709Conditionals may be given on one line, for example: 710.Bd -literal -offset indent 711%if #{==:#{host},myhost} set -g status-style bg=red %endif 712.Ed 713.Sh COMMANDS 714This section describes the commands supported by 715.Nm . 716Most commands accept the optional 717.Fl t 718(and sometimes 719.Fl s ) 720argument with one of 721.Ar target-client , 722.Ar target-session , 723.Ar target-window , 724or 725.Ar target-pane . 726These specify the client, session, window or pane which a command should affect. 727.Pp 728.Ar target-client 729should be the name of the client, 730typically the 731.Xr pty 4 732file to which the client is connected, for example either of 733.Pa /dev/ttyp1 734or 735.Pa ttyp1 736for the client attached to 737.Pa /dev/ttyp1 . 738If no client is specified, 739.Nm 740attempts to work out the client currently in use; if that fails, an error is 741reported. 742Clients may be listed with the 743.Ic list-clients 744command. 745.Pp 746.Ar target-session 747is tried as, in order: 748.Bl -enum -offset Ds 749.It 750A session ID prefixed with a $. 751.It 752An exact name of a session (as listed by the 753.Ic list-sessions 754command). 755.It 756The start of a session name, for example 757.Ql mysess 758would match a session named 759.Ql mysession . 760.It 761An 762.Xr fnmatch 3 763pattern which is matched against the session name. 764.El 765.Pp 766If the session name is prefixed with an 767.Ql = , 768only an exact match is accepted (so 769.Ql =mysess 770will only match exactly 771.Ql mysess , 772not 773.Ql mysession ) . 774.Pp 775If a single session is found, it is used as the target session; multiple matches 776produce an error. 777If a session is omitted, the current session is used if available; if no 778current session is available, the most recently used is chosen. 779.Pp 780.Ar target-window 781(or 782.Ar src-window 783or 784.Ar dst-window ) 785specifies a window in the form 786.Em session Ns \&: Ns Em window . 787.Em session 788follows the same rules as for 789.Ar target-session , 790and 791.Em window 792is looked for in order as: 793.Bl -enum -offset Ds 794.It 795A special token, listed below. 796.It 797A window index, for example 798.Ql mysession:1 799is window 1 in session 800.Ql mysession . 801.It 802A window ID, such as @1. 803.It 804An exact window name, such as 805.Ql mysession:mywindow . 806.It 807The start of a window name, such as 808.Ql mysession:mywin . 809.It 810As an 811.Xr fnmatch 3 812pattern matched against the window name. 813.El 814.Pp 815Like sessions, a 816.Ql = 817prefix will do an exact match only. 818An empty window name specifies the next unused index if appropriate (for 819example the 820.Ic new-window 821and 822.Ic link-window 823commands) 824otherwise the current window in 825.Em session 826is chosen. 827.Pp 828The following special tokens are available to indicate particular windows. 829Each has a single-character alternative form. 830.Bl -column "XXXXXXXXXX" "X" 831.It Sy "Token" Ta Sy "" Ta Sy "Meaning" 832.It Li "{start}" Ta "^" Ta "The lowest-numbered window" 833.It Li "{end}" Ta "$" Ta "The highest-numbered window" 834.It Li "{last}" Ta "!" Ta "The last (previously current) window" 835.It Li "{next}" Ta "+" Ta "The next window by number" 836.It Li "{previous}" Ta "-" Ta "The previous window by number" 837.El 838.Pp 839.Ar target-pane 840(or 841.Ar src-pane 842or 843.Ar dst-pane ) 844may be a pane ID or takes a similar form to 845.Ar target-window 846but with the optional addition of a period followed by a pane index or pane ID, 847for example: 848.Ql mysession:mywindow.1 . 849If the pane index is omitted, the currently active pane in the specified 850window is used. 851The following special tokens are available for the pane index: 852.Bl -column "XXXXXXXXXXXXXX" "X" 853.It Sy "Token" Ta Sy "" Ta Sy "Meaning" 854.It Li "{last}" Ta "!" Ta "The last (previously active) pane" 855.It Li "{next}" Ta "+" Ta "The next pane by number" 856.It Li "{previous}" Ta "-" Ta "The previous pane by number" 857.It Li "{top}" Ta "" Ta "The top pane" 858.It Li "{bottom}" Ta "" Ta "The bottom pane" 859.It Li "{left}" Ta "" Ta "The leftmost pane" 860.It Li "{right}" Ta "" Ta "The rightmost pane" 861.It Li "{top-left}" Ta "" Ta "The top-left pane" 862.It Li "{top-right}" Ta "" Ta "The top-right pane" 863.It Li "{bottom-left}" Ta "" Ta "The bottom-left pane" 864.It Li "{bottom-right}" Ta "" Ta "The bottom-right pane" 865.It Li "{up-of}" Ta "" Ta "The pane above the active pane" 866.It Li "{down-of}" Ta "" Ta "The pane below the active pane" 867.It Li "{left-of}" Ta "" Ta "The pane to the left of the active pane" 868.It Li "{right-of}" Ta "" Ta "The pane to the right of the active pane" 869.El 870.Pp 871The tokens 872.Ql + 873and 874.Ql - 875may be followed by an offset, for example: 876.Bd -literal -offset indent 877select-window -t:+2 878.Ed 879.Pp 880In addition, 881.Em target-session , 882.Em target-window 883or 884.Em target-pane 885may consist entirely of the token 886.Ql {mouse} 887(alternative form 888.Ql = ) 889to specify the session, window or pane where the most recent mouse event occurred 890(see the 891.Sx MOUSE SUPPORT 892section) 893or 894.Ql {marked} 895(alternative form 896.Ql ~ ) 897to specify the marked pane (see 898.Ic select-pane 899.Fl m ) . 900.Pp 901Sessions, window and panes are each numbered with a unique ID; session IDs are 902prefixed with a 903.Ql $ , 904windows with a 905.Ql @ , 906and panes with a 907.Ql % . 908These are unique and are unchanged for the life of the session, window or pane 909in the 910.Nm 911server. 912The pane ID is passed to the child process of the pane in the 913.Ev TMUX_PANE 914environment variable. 915IDs may be displayed using the 916.Ql session_id , 917.Ql window_id , 918or 919.Ql pane_id 920formats (see the 921.Sx FORMATS 922section) and the 923.Ic display-message , 924.Ic list-sessions , 925.Ic list-windows 926or 927.Ic list-panes 928commands. 929.Pp 930.Ar shell-command 931arguments are 932.Xr sh 1 933commands. 934This may be a single argument passed to the shell, for example: 935.Bd -literal -offset indent 936new-window 'vi ~/.tmux.conf' 937.Ed 938.Pp 939Will run: 940.Bd -literal -offset indent 941/bin/sh -c 'vi ~/.tmux.conf' 942.Ed 943.Pp 944Additionally, the 945.Ic new-window , 946.Ic new-session , 947.Ic split-window , 948.Ic respawn-window 949and 950.Ic respawn-pane 951commands allow 952.Ar shell-command 953to be given as multiple arguments and executed directly (without 954.Ql sh -c ) . 955This can avoid issues with shell quoting. 956For example: 957.Bd -literal -offset indent 958$ tmux new-window vi ~/.tmux.conf 959.Ed 960.Pp 961Will run 962.Xr vi 1 963directly without invoking the shell. 964.Pp 965.Ar command 966.Op Ar arguments 967refers to a 968.Nm 969command, either passed with the command and arguments separately, for example: 970.Bd -literal -offset indent 971bind-key F1 set-option status off 972.Ed 973.Pp 974Or passed as a single string argument in 975.Pa .tmux.conf , 976for example: 977.Bd -literal -offset indent 978bind-key F1 { set-option status off } 979.Ed 980.Pp 981Example 982.Nm 983commands include: 984.Bd -literal -offset indent 985refresh-client -t/dev/ttyp2 986 987rename-session -tfirst newname 988 989set-option -wt:0 monitor-activity on 990 991new-window ; split-window -d 992 993bind-key R source-file ~/.tmux.conf \e; \e 994 display-message "source-file done" 995.Ed 996.Pp 997Or from 998.Xr sh 1 : 999.Bd -literal -offset indent 1000$ tmux kill-window -t :1 1001 1002$ tmux new-window \e; split-window -d 1003 1004$ tmux new-session -d 'vi ~/.tmux.conf' \e; split-window -d \e; attach 1005.Ed 1006.Sh CLIENTS AND SESSIONS 1007The 1008.Nm 1009server manages clients, sessions, windows and panes. 1010Clients are attached to sessions to interact with them, either 1011when they are created with the 1012.Ic new-session 1013command, or later with the 1014.Ic attach-session 1015command. 1016Each session has one or more windows 1017.Em linked 1018into it. 1019Windows may be linked to multiple sessions and are made up of one or 1020more panes, 1021each of which contains a pseudo terminal. 1022Commands for creating, linking and otherwise manipulating windows 1023are covered 1024in the 1025.Sx WINDOWS AND PANES 1026section. 1027.Pp 1028The following commands are available to manage clients and sessions: 1029.Bl -tag -width Ds 1030.It Xo Ic attach-session 1031.Op Fl dErx 1032.Op Fl c Ar working-directory 1033.Op Fl f Ar flags 1034.Op Fl t Ar target-session 1035.Xc 1036.D1 (alias: Ic attach ) 1037If run from outside 1038.Nm , 1039create a new client in the current terminal and attach it to 1040.Ar target-session . 1041If used from inside, switch the current client. 1042If 1043.Fl d 1044is specified, any other clients attached to the session are detached. 1045If 1046.Fl x 1047is given, send 1048.Dv SIGHUP 1049to the parent process of the client as well as 1050detaching the client, typically causing it to exit. 1051.Fl f 1052sets a comma-separated list of client flags. 1053The flags are: 1054.Bl -tag -width Ds 1055.It active-pane 1056the client has an independent active pane 1057.It ignore-size 1058the client does not affect the size of other clients 1059.It no-output 1060the client does not receive pane output in control mode 1061.It pause-after=seconds 1062output is paused once the pane is 1063.Ar seconds 1064behind in control mode 1065.It read-only 1066the client is read-only 1067.It wait-exit 1068wait for an empty line input before exiting in control mode 1069.El 1070.Pp 1071A leading 1072.Ql \&! 1073turns a flag off if the client is already attached. 1074.Fl r 1075is an alias for 1076.Fl f 1077.Ar read-only,ignore-size . 1078When a client is read-only, only keys bound to the 1079.Ic detach-client 1080or 1081.Ic switch-client 1082commands have any effect. 1083A client with the 1084.Ar active-pane 1085flag allows the active pane to be selected independently of the window's active 1086pane used by clients without the flag. 1087This only affects the cursor position and commands issued from the client; 1088other features such as hooks and styles continue to use the window's active 1089pane. 1090.Pp 1091If no server is started, 1092.Ic attach-session 1093will attempt to start it; this will fail unless sessions are created in the 1094configuration file. 1095.Pp 1096The 1097.Ar target-session 1098rules for 1099.Ic attach-session 1100are slightly adjusted: if 1101.Nm 1102needs to select the most recently used session, it will prefer the most 1103recently used 1104.Em unattached 1105session. 1106.Pp 1107.Fl c 1108will set the session working directory (used for new windows) to 1109.Ar working-directory . 1110.Pp 1111If 1112.Fl E 1113is used, the 1114.Ic update-environment 1115option will not be applied. 1116.It Xo Ic detach-client 1117.Op Fl aP 1118.Op Fl E Ar shell-command 1119.Op Fl s Ar target-session 1120.Op Fl t Ar target-client 1121.Xc 1122.D1 (alias: Ic detach ) 1123Detach the current client if bound to a key, the client specified with 1124.Fl t , 1125or all clients currently attached to the session specified by 1126.Fl s . 1127The 1128.Fl a 1129option kills all but the client given with 1130.Fl t . 1131If 1132.Fl P 1133is given, send 1134.Dv SIGHUP 1135to the parent process of the client, typically causing it 1136to exit. 1137With 1138.Fl E , 1139run 1140.Ar shell-command 1141to replace the client. 1142.It Ic has-session Op Fl t Ar target-session 1143.D1 (alias: Ic has ) 1144Report an error and exit with 1 if the specified session does not exist. 1145If it does exist, exit with 0. 1146.It Ic kill-server 1147Kill the 1148.Nm 1149server and clients and destroy all sessions. 1150.It Xo Ic kill-session 1151.Op Fl aC 1152.Op Fl t Ar target-session 1153.Xc 1154Destroy the given session, closing any windows linked to it and no other 1155sessions, and detaching all clients attached to it. 1156If 1157.Fl a 1158is given, all sessions but the specified one is killed. 1159The 1160.Fl C 1161flag clears alerts (bell, activity, or silence) in all windows linked to the 1162session. 1163.It Xo Ic list-clients 1164.Op Fl F Ar format 1165.Op Fl t Ar target-session 1166.Xc 1167.D1 (alias: Ic lsc ) 1168List all clients attached to the server. 1169For the meaning of the 1170.Fl F 1171flag, see the 1172.Sx FORMATS 1173section. 1174If 1175.Ar target-session 1176is specified, list only clients connected to that session. 1177.It Xo Ic list-commands 1178.Op Fl F Ar format 1179.Op Ar command 1180.Xc 1181.D1 (alias: Ic lscm ) 1182List the syntax of 1183.Ar command 1184or - if omitted - of all commands supported by 1185.Nm . 1186.It Xo Ic list-sessions 1187.Op Fl F Ar format 1188.Op Fl f Ar filter 1189.Xc 1190.D1 (alias: Ic ls ) 1191List all sessions managed by the server. 1192.Fl F 1193specifies the format of each line and 1194.Fl f 1195a filter. 1196Only sessions for which the filter is true are shown. 1197See the 1198.Sx FORMATS 1199section. 1200.It Ic lock-client Op Fl t Ar target-client 1201.D1 (alias: Ic lockc ) 1202Lock 1203.Ar target-client , 1204see the 1205.Ic lock-server 1206command. 1207.It Ic lock-session Op Fl t Ar target-session 1208.D1 (alias: Ic locks ) 1209Lock all clients attached to 1210.Ar target-session . 1211.It Xo Ic new-session 1212.Op Fl AdDEPX 1213.Op Fl c Ar start-directory 1214.Op Fl e Ar environment 1215.Op Fl f Ar flags 1216.Op Fl F Ar format 1217.Op Fl n Ar window-name 1218.Op Fl s Ar session-name 1219.Op Fl t Ar group-name 1220.Op Fl x Ar width 1221.Op Fl y Ar height 1222.Op Ar shell-command 1223.Xc 1224.D1 (alias: Ic new ) 1225Create a new session with name 1226.Ar session-name . 1227.Pp 1228The new session is attached to the current terminal unless 1229.Fl d 1230is given. 1231.Ar window-name 1232and 1233.Ar shell-command 1234are the name of and shell command to execute in the initial window. 1235With 1236.Fl d , 1237the initial size comes from the global 1238.Ic default-size 1239option; 1240.Fl x 1241and 1242.Fl y 1243can be used to specify a different size. 1244.Ql - 1245uses the size of the current client if any. 1246If 1247.Fl x 1248or 1249.Fl y 1250is given, the 1251.Ic default-size 1252option is set for the session. 1253.Fl f 1254sets a comma-separated list of client flags (see 1255.Ic attach-session ) . 1256.Pp 1257If run from a terminal, any 1258.Xr termios 4 1259special characters are saved and used for new windows in the new session. 1260.Pp 1261The 1262.Fl A 1263flag makes 1264.Ic new-session 1265behave like 1266.Ic attach-session 1267if 1268.Ar session-name 1269already exists; in this case, 1270.Fl D 1271behaves like 1272.Fl d 1273to 1274.Ic attach-session , 1275and 1276.Fl X 1277behaves like 1278.Fl x 1279to 1280.Ic attach-session . 1281.Pp 1282If 1283.Fl t 1284is given, it specifies a 1285.Ic session group . 1286Sessions in the same group share the same set of windows - new windows are 1287linked to all sessions in the group and any windows closed removed from all 1288sessions. 1289The current and previous window and any session options remain independent and 1290any session in a group may be killed without affecting the others. 1291The 1292.Ar group-name 1293argument may be: 1294.Bl -enum -width Ds 1295.It 1296the name of an existing group, in which case the new session is added to that 1297group; 1298.It 1299the name of an existing session - the new session is added to the same group 1300as that session, creating a new group if necessary; 1301.It 1302the name for a new group containing only the new session. 1303.El 1304.Pp 1305.Fl n 1306and 1307.Ar shell-command 1308are invalid if 1309.Fl t 1310is used. 1311.Pp 1312The 1313.Fl P 1314option prints information about the new session after it has been created. 1315By default, it uses the format 1316.Ql #{session_name}:\& 1317but a different format may be specified with 1318.Fl F . 1319.Pp 1320If 1321.Fl E 1322is used, the 1323.Ic update-environment 1324option will not be applied. 1325.Fl e 1326takes the form 1327.Ql VARIABLE=value 1328and sets an environment variable for the newly created session; it may be 1329specified multiple times. 1330.It Xo Ic refresh-client 1331.Op Fl cDlLRSU 1332.Op Fl A Ar pane:state 1333.Op Fl B Ar name:what:format 1334.Op Fl C Ar size 1335.Op Fl f Ar flags 1336.Op Fl t Ar target-client 1337.Op Ar adjustment 1338.Xc 1339.D1 (alias: Ic refresh ) 1340Refresh the current client if bound to a key, or a single client if one is given 1341with 1342.Fl t . 1343If 1344.Fl S 1345is specified, only update the client's status line. 1346.Pp 1347The 1348.Fl U , 1349.Fl D , 1350.Fl L 1351.Fl R , 1352and 1353.Fl c 1354flags allow the visible portion of a window which is larger than the client 1355to be changed. 1356.Fl U 1357moves the visible part up by 1358.Ar adjustment 1359rows and 1360.Fl D 1361down, 1362.Fl L 1363left by 1364.Ar adjustment 1365columns and 1366.Fl R 1367right. 1368.Fl c 1369returns to tracking the cursor automatically. 1370If 1371.Ar adjustment 1372is omitted, 1 is used. 1373Note that the visible position is a property of the client not of the 1374window, changing the current window in the attached session will reset 1375it. 1376.Pp 1377.Fl C 1378sets the width and height of a control mode client or of a window for a 1379control mode client, 1380.Ar size 1381must be one of 1382.Ql widthxheight 1383or 1384.Ql window ID:widthxheight , 1385for example 1386.Ql 80x24 1387or 1388.Ql @0:80x24 . 1389.Fl A 1390allows a control mode client to trigger actions on a pane. 1391The argument is a pane ID (with leading 1392.Ql % ) , 1393a colon, then one of 1394.Ql on , 1395.Ql off , 1396.Ql continue 1397or 1398.Ql pause . 1399If 1400.Ql off , 1401.Nm 1402will not send output from the pane to the client and if all clients have turned 1403the pane off, will stop reading from the pane. 1404If 1405.Ql continue , 1406.Nm 1407will return to sending output to the pane if it was paused (manually or with the 1408.Ar pause-after 1409flag). 1410If 1411.Ql pause , 1412.Nm 1413will pause the pane. 1414.Fl A 1415may be given multiple times for different panes. 1416.Pp 1417.Fl B 1418sets a subscription to a format for a control mode client. 1419The argument is split into three items by colons: 1420.Ar name 1421is a name for the subscription; 1422.Ar what 1423is a type of item to subscribe to; 1424.Ar format 1425is the format. 1426After a subscription is added, changes to the format are reported with the 1427.Ic %subscription-changed 1428notification, at most once a second. 1429If only the name is given, the subscription is removed. 1430.Ar what 1431may be empty to check the format only for the attached session, or one of: 1432a pane ID such as 1433.Ql %0 ; 1434.Ql %* 1435for all panes in the attached session; 1436a window ID such as 1437.Ql @0 ; 1438or 1439.Ql @* 1440for all windows in the attached session. 1441.Pp 1442.Fl f 1443sets a comma-separated list of client flags, see 1444.Ic attach-session . 1445.Pp 1446.Fl l 1447requests the clipboard from the client using the 1448.Xr xterm 1 1449escape sequence and stores it in a new paste buffer. 1450.Pp 1451.Fl L , 1452.Fl R , 1453.Fl U 1454and 1455.Fl D 1456move the visible portion of the window left, right, up or down 1457by 1458.Ar adjustment , 1459if the window is larger than the client. 1460.Fl c 1461resets so that the position follows the cursor. 1462See the 1463.Ic window-size 1464option. 1465.It Xo Ic rename-session 1466.Op Fl t Ar target-session 1467.Ar new-name 1468.Xc 1469.D1 (alias: Ic rename ) 1470Rename the session to 1471.Ar new-name . 1472.It Xo Ic show-messages 1473.Op Fl JT 1474.Op Fl t Ar target-client 1475.Xc 1476.D1 (alias: Ic showmsgs ) 1477Show server messages or information. 1478Messages are stored, up to a maximum of the limit set by the 1479.Ar message-limit 1480server option. 1481.Fl J 1482and 1483.Fl T 1484show debugging information about jobs and terminals. 1485.It Xo Ic source-file 1486.Op Fl Fnqv 1487.Ar path 1488.Ar ... 1489.Xc 1490.D1 (alias: Ic source ) 1491Execute commands from one or more files specified by 1492.Ar path 1493(which may be 1494.Xr glob 7 1495patterns). 1496If 1497.Fl F 1498is present, then 1499.Ar path 1500is expanded as a format. 1501If 1502.Fl q 1503is given, no error will be returned if 1504.Ar path 1505does not exist. 1506With 1507.Fl n , 1508the file is parsed but no commands are executed. 1509.Fl v 1510shows the parsed commands and line numbers if possible. 1511.It Ic start-server 1512.D1 (alias: Ic start ) 1513Start the 1514.Nm 1515server, if not already running, without creating any sessions. 1516.Pp 1517Note that as by default the 1518.Nm 1519server will exit with no sessions, this is only useful if a session is created in 1520.Pa ~/.tmux.conf , 1521.Ic exit-empty 1522is turned off, or another command is run as part of the same command sequence. 1523For example: 1524.Bd -literal -offset indent 1525$ tmux start \\; show -g 1526.Ed 1527.It Xo Ic suspend-client 1528.Op Fl t Ar target-client 1529.Xc 1530.D1 (alias: Ic suspendc ) 1531Suspend a client by sending 1532.Dv SIGTSTP 1533(tty stop). 1534.It Xo Ic switch-client 1535.Op Fl ElnprZ 1536.Op Fl c Ar target-client 1537.Op Fl t Ar target-session 1538.Op Fl T Ar key-table 1539.Xc 1540.D1 (alias: Ic switchc ) 1541Switch the current session for client 1542.Ar target-client 1543to 1544.Ar target-session . 1545As a special case, 1546.Fl t 1547may refer to a pane (a target that contains 1548.Ql \&: , 1549.Ql \&. 1550or 1551.Ql % ) , 1552to change session, window and pane. 1553In that case, 1554.Fl Z 1555keeps the window zoomed if it was zoomed. 1556If 1557.Fl l , 1558.Fl n 1559or 1560.Fl p 1561is used, the client is moved to the last, next or previous session 1562respectively. 1563.Fl r 1564toggles the client 1565.Ic read-only 1566and 1567.Ic ignore-size 1568flags (see the 1569.Ic attach-session 1570command). 1571.Pp 1572If 1573.Fl E 1574is used, 1575.Ic update-environment 1576option will not be applied. 1577.Pp 1578.Fl T 1579sets the client's key table; the next key from the client will be interpreted 1580from 1581.Ar key-table . 1582This may be used to configure multiple prefix keys, or to bind commands to 1583sequences of keys. 1584For example, to make typing 1585.Ql abc 1586run the 1587.Ic list-keys 1588command: 1589.Bd -literal -offset indent 1590bind-key -Ttable2 c list-keys 1591bind-key -Ttable1 b switch-client -Ttable2 1592bind-key -Troot a switch-client -Ttable1 1593.Ed 1594.El 1595.Sh WINDOWS AND PANES 1596Each window displayed by 1597.Nm 1598may be split into one or more 1599.Em panes ; 1600each pane takes up a certain area of the display and is a separate terminal. 1601A window may be split into panes using the 1602.Ic split-window 1603command. 1604Windows may be split horizontally (with the 1605.Fl h 1606flag) or vertically. 1607Panes may be resized with the 1608.Ic resize-pane 1609command (bound to 1610.Ql C-Up , 1611.Ql C-Down 1612.Ql C-Left 1613and 1614.Ql C-Right 1615by default), the current pane may be changed with the 1616.Ic select-pane 1617command and the 1618.Ic rotate-window 1619and 1620.Ic swap-pane 1621commands may be used to swap panes without changing their position. 1622Panes are numbered beginning from zero in the order they are created. 1623.Pp 1624By default, a 1625.Nm 1626pane permits direct access to the terminal contained in the pane. 1627A pane may also be put into one of several modes: 1628.Bl -dash -offset indent 1629.It 1630Copy mode, which permits a section of a window or its 1631history to be copied to a 1632.Em paste buffer 1633for later insertion into another window. 1634This mode is entered with the 1635.Ic copy-mode 1636command, bound to 1637.Ql \&[ 1638by default. 1639Copied text can be pasted with the 1640.Ic paste-buffer 1641command, bound to 1642.Ql \&] . 1643.It 1644View mode, which is like copy mode but is entered when a command that produces 1645output, such as 1646.Ic list-keys , 1647is executed from a key binding. 1648.It 1649Choose mode, which allows an item to be chosen from a list. 1650This may be a client, a session or window or pane, or a buffer. 1651This mode is entered with the 1652.Ic choose-buffer , 1653.Ic choose-client 1654and 1655.Ic choose-tree 1656commands. 1657.El 1658.Pp 1659In copy mode an indicator is displayed in the top-right corner of the pane with 1660the current position and the number of lines in the history. 1661.Pp 1662Commands are sent to copy mode using the 1663.Fl X 1664flag to the 1665.Ic send-keys 1666command. 1667When a key is pressed, copy mode automatically uses one of two key tables, 1668depending on the 1669.Ic mode-keys 1670option: 1671.Ic copy-mode 1672for emacs, or 1673.Ic copy-mode-vi 1674for vi. 1675Key tables may be viewed with the 1676.Ic list-keys 1677command. 1678.Pp 1679The following commands are supported in copy mode: 1680.Bl -column "CommandXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "viXXXXXXXXXX" "emacs" -offset indent 1681.It Sy "Command" Ta Sy "vi" Ta Sy "emacs" 1682.It Li "append-selection" Ta "" Ta "" 1683.It Li "append-selection-and-cancel" Ta "A" Ta "" 1684.It Li "back-to-indentation" Ta "^" Ta "M-m" 1685.It Li "begin-selection" Ta "Space" Ta "C-Space" 1686.It Li "bottom-line" Ta "L" Ta "" 1687.It Li "cancel" Ta "q" Ta "Escape" 1688.It Li "clear-selection" Ta "Escape" Ta "C-g" 1689.It Li "copy-end-of-line [<prefix>]" Ta "" Ta "" 1690.It Li "copy-end-of-line-and-cancel [<prefix>]" Ta "" Ta "" 1691.It Li "copy-pipe-end-of-line [<command>] [<prefix>]" Ta "" Ta "" 1692.It Li "copy-pipe-end-of-line-and-cancel [<command>] [<prefix>]" Ta "D" Ta "C-k" 1693.It Li "copy-line [<prefix>]" Ta "" Ta "" 1694.It Li "copy-line-and-cancel [<prefix>]" Ta "" Ta "" 1695.It Li "copy-pipe-line [<command>] [<prefix>]" Ta "" Ta "" 1696.It Li "copy-pipe-line-and-cancel [<command>] [<prefix>]" Ta "" Ta "" 1697.It Li "copy-pipe [<command>] [<prefix>]" Ta "" Ta "" 1698.It Li "copy-pipe-no-clear [<command>] [<prefix>]" Ta "" Ta "" 1699.It Li "copy-pipe-and-cancel [<command>] [<prefix>]" Ta "" Ta "" 1700.It Li "copy-selection [<prefix>]" Ta "" Ta "" 1701.It Li "copy-selection-no-clear [<prefix>]" Ta "" Ta "" 1702.It Li "copy-selection-and-cancel [<prefix>]" Ta "Enter" Ta "M-w" 1703.It Li "cursor-down" Ta "j" Ta "Down" 1704.It Li "cursor-down-and-cancel" Ta "" Ta "" 1705.It Li "cursor-left" Ta "h" Ta "Left" 1706.It Li "cursor-right" Ta "l" Ta "Right" 1707.It Li "cursor-up" Ta "k" Ta "Up" 1708.It Li "end-of-line" Ta "$" Ta "C-e" 1709.It Li "goto-line <line>" Ta ":" Ta "g" 1710.It Li "halfpage-down" Ta "C-d" Ta "M-Down" 1711.It Li "halfpage-down-and-cancel" Ta "" Ta "" 1712.It Li "halfpage-up" Ta "C-u" Ta "M-Up" 1713.It Li "history-bottom" Ta "G" Ta "M->" 1714.It Li "history-top" Ta "g" Ta "M-<" 1715.It Li "jump-again" Ta ";" Ta ";" 1716.It Li "jump-backward <to>" Ta "F" Ta "F" 1717.It Li "jump-forward <to>" Ta "f" Ta "f" 1718.It Li "jump-reverse" Ta "," Ta "," 1719.It Li "jump-to-backward <to>" Ta "T" Ta "" 1720.It Li "jump-to-forward <to>" Ta "t" Ta "" 1721.It Li "jump-to-mark" Ta "M-x" Ta "M-x" 1722.It Li "middle-line" Ta "M" Ta "M-r" 1723.It Li "next-matching-bracket" Ta "%" Ta "M-C-f" 1724.It Li "next-paragraph" Ta "}" Ta "M-}" 1725.It Li "next-space" Ta "W" Ta "" 1726.It Li "next-space-end" Ta "E" Ta "" 1727.It Li "next-word" Ta "w" Ta "" 1728.It Li "next-word-end" Ta "e" Ta "M-f" 1729.It Li "other-end" Ta "o" Ta "" 1730.It Li "page-down" Ta "C-f" Ta "PageDown" 1731.It Li "page-down-and-cancel" Ta "" Ta "" 1732.It Li "page-up" Ta "C-b" Ta "PageUp" 1733.It Li "pipe [<command>] [<prefix>]" Ta "" Ta "" 1734.It Li "pipe-no-clear [<command>] [<prefix>]" Ta "" Ta "" 1735.It Li "pipe-and-cancel [<command>] [<prefix>]" Ta "" Ta "" 1736.It Li "previous-matching-bracket" Ta "" Ta "M-C-b" 1737.It Li "previous-paragraph" Ta "{" Ta "M-{" 1738.It Li "previous-space" Ta "B" Ta "" 1739.It Li "previous-word" Ta "b" Ta "M-b" 1740.It Li "rectangle-on" Ta "" Ta "" 1741.It Li "rectangle-off" Ta "" Ta "" 1742.It Li "rectangle-toggle" Ta "v" Ta "R" 1743.It Li "refresh-from-pane" Ta "r" Ta "r" 1744.It Li "scroll-down" Ta "C-e" Ta "C-Down" 1745.It Li "scroll-down-and-cancel" Ta "" Ta "" 1746.It Li "scroll-up" Ta "C-y" Ta "C-Up" 1747.It Li "search-again" Ta "n" Ta "n" 1748.It Li "search-backward <for>" Ta "?" Ta "" 1749.It Li "search-backward-incremental <for>" Ta "" Ta "C-r" 1750.It Li "search-backward-text <for>" Ta "" Ta "" 1751.It Li "search-forward <for>" Ta "/" Ta "" 1752.It Li "search-forward-incremental <for>" Ta "" Ta "C-s" 1753.It Li "search-forward-text <for>" Ta "" Ta "" 1754.It Li "search-reverse" Ta "N" Ta "N" 1755.It Li "select-line" Ta "V" Ta "" 1756.It Li "select-word" Ta "" Ta "" 1757.It Li "set-mark" Ta "X" Ta "X" 1758.It Li "start-of-line" Ta "0" Ta "C-a" 1759.It Li "stop-selection" Ta "" Ta "" 1760.It Li "top-line" Ta "H" Ta "M-R" 1761.El 1762.Pp 1763The search commands come in several varieties: 1764.Ql search-forward 1765and 1766.Ql search-backward 1767search for a regular expression; 1768the 1769.Ql -text 1770variants search for a plain text string rather than a regular expression; 1771.Ql -incremental 1772perform an incremental search and expect to be used with the 1773.Fl i 1774flag to the 1775.Ic command-prompt 1776command. 1777.Ql search-again 1778repeats the last search and 1779.Ql search-reverse 1780does the same but reverses the direction (forward becomes backward and backward 1781becomes forward). 1782.Pp 1783Copy commands may take an optional buffer prefix argument which is used 1784to generate the buffer name (the default is 1785.Ql buffer 1786so buffers are named 1787.Ql buffer0 , 1788.Ql buffer1 1789and so on). 1790Pipe commands take a command argument which is the command to which the 1791selected text is piped. 1792.Ql copy-pipe 1793variants also copy the selection. 1794The 1795.Ql -and-cancel 1796variants of some commands exit copy mode after they have completed (for copy 1797commands) or when the cursor reaches the bottom (for scrolling commands). 1798.Ql -no-clear 1799variants do not clear the selection. 1800.Pp 1801The next and previous word keys skip over whitespace and treat consecutive 1802runs of either word separators or other letters as words. 1803Word separators can be customized with the 1804.Em word-separators 1805session option. 1806Next word moves to the start of the next word, next word end to the end of the 1807next word and previous word to the start of the previous word. 1808The three next and previous space keys work similarly but use a space alone as 1809the word separator. 1810Setting 1811.Em word-separators 1812to the empty string makes next/previous word equivalent to next/previous space. 1813.Pp 1814The jump commands enable quick movement within a line. 1815For instance, typing 1816.Ql f 1817followed by 1818.Ql / 1819will move the cursor to the next 1820.Ql / 1821character on the current line. 1822A 1823.Ql \&; 1824will then jump to the next occurrence. 1825.Pp 1826Commands in copy mode may be prefaced by an optional repeat count. 1827With vi key bindings, a prefix is entered using the number keys; with 1828emacs, the Alt (meta) key and a number begins prefix entry. 1829.Pp 1830The synopsis for the 1831.Ic copy-mode 1832command is: 1833.Bl -tag -width Ds 1834.It Xo Ic copy-mode 1835.Op Fl eHMqu 1836.Op Fl s Ar src-pane 1837.Op Fl t Ar target-pane 1838.Xc 1839Enter copy mode. 1840The 1841.Fl u 1842option scrolls one page up. 1843.Fl M 1844begins a mouse drag (only valid if bound to a mouse key binding, see 1845.Sx MOUSE SUPPORT ) . 1846.Fl H 1847hides the position indicator in the top right. 1848.Fl q 1849cancels copy mode and any other modes. 1850.Fl s 1851copies from 1852.Ar src-pane 1853instead of 1854.Ar target-pane . 1855.Pp 1856.Fl e 1857specifies that scrolling to the bottom of the history (to the visible screen) 1858should exit copy mode. 1859While in copy mode, pressing a key other than those used for scrolling will 1860disable this behaviour. 1861This is intended to allow fast scrolling through a pane's history, for 1862example with: 1863.Bd -literal -offset indent 1864bind PageUp copy-mode -eu 1865.Ed 1866.El 1867.Pp 1868A number of preset arrangements of panes are available, these are called layouts. 1869These may be selected with the 1870.Ic select-layout 1871command or cycled with 1872.Ic next-layout 1873(bound to 1874.Ql Space 1875by default); once a layout is chosen, panes within it may be moved and resized 1876as normal. 1877.Pp 1878The following layouts are supported: 1879.Bl -tag -width Ds 1880.It Ic even-horizontal 1881Panes are spread out evenly from left to right across the window. 1882.It Ic even-vertical 1883Panes are spread evenly from top to bottom. 1884.It Ic main-horizontal 1885A large (main) pane is shown at the top of the window and the remaining panes 1886are spread from left to right in the leftover space at the bottom. 1887Use the 1888.Em main-pane-height 1889window option to specify the height of the top pane. 1890.It Ic main-vertical 1891Similar to 1892.Ic main-horizontal 1893but the large pane is placed on the left and the others spread from top to 1894bottom along the right. 1895See the 1896.Em main-pane-width 1897window option. 1898.It Ic tiled 1899Panes are spread out as evenly as possible over the window in both rows and 1900columns. 1901.El 1902.Pp 1903In addition, 1904.Ic select-layout 1905may be used to apply a previously used layout - the 1906.Ic list-windows 1907command displays the layout of each window in a form suitable for use with 1908.Ic select-layout . 1909For example: 1910.Bd -literal -offset indent 1911$ tmux list-windows 19120: ksh [159x48] 1913 layout: bb62,159x48,0,0{79x48,0,0,79x48,80,0} 1914$ tmux select-layout bb62,159x48,0,0{79x48,0,0,79x48,80,0} 1915.Ed 1916.Pp 1917.Nm 1918automatically adjusts the size of the layout for the current window size. 1919Note that a layout cannot be applied to a window with more panes than that 1920from which the layout was originally defined. 1921.Pp 1922Commands related to windows and panes are as follows: 1923.Bl -tag -width Ds 1924.It Xo Ic break-pane 1925.Op Fl abdP 1926.Op Fl F Ar format 1927.Op Fl n Ar window-name 1928.Op Fl s Ar src-pane 1929.Op Fl t Ar dst-window 1930.Xc 1931.D1 (alias: Ic breakp ) 1932Break 1933.Ar src-pane 1934off from its containing window to make it the only pane in 1935.Ar dst-window . 1936With 1937.Fl a 1938or 1939.Fl b , 1940the window is moved to the next index after or before (existing windows are 1941moved if necessary). 1942If 1943.Fl d 1944is given, the new window does not become the current window. 1945The 1946.Fl P 1947option prints information about the new window after it has been created. 1948By default, it uses the format 1949.Ql #{session_name}:#{window_index}.#{pane_index} 1950but a different format may be specified with 1951.Fl F . 1952.It Xo Ic capture-pane 1953.Op Fl aepPqCJN 1954.Op Fl b Ar buffer-name 1955.Op Fl E Ar end-line 1956.Op Fl S Ar start-line 1957.Op Fl t Ar target-pane 1958.Xc 1959.D1 (alias: Ic capturep ) 1960Capture the contents of a pane. 1961If 1962.Fl p 1963is given, the output goes to stdout, otherwise to the buffer specified with 1964.Fl b 1965or a new buffer if omitted. 1966If 1967.Fl a 1968is given, the alternate screen is used, and the history is not accessible. 1969If no alternate screen exists, an error will be returned unless 1970.Fl q 1971is given. 1972If 1973.Fl e 1974is given, the output includes escape sequences for text and background 1975attributes. 1976.Fl C 1977also escapes non-printable characters as octal \exxx. 1978.Fl N 1979preserves trailing spaces at each line's end and 1980.Fl J 1981preserves trailing spaces and joins any wrapped lines. 1982.Fl P 1983captures only any output that the pane has received that is the beginning of an 1984as-yet incomplete escape sequence. 1985.Pp 1986.Fl S 1987and 1988.Fl E 1989specify the starting and ending line numbers, zero is the first line of the 1990visible pane and negative numbers are lines in the history. 1991.Ql - 1992to 1993.Fl S 1994is the start of the history and to 1995.Fl E 1996the end of the visible pane. 1997The default is to capture only the visible contents of the pane. 1998.It Xo 1999.Ic choose-client 2000.Op Fl NrZ 2001.Op Fl F Ar format 2002.Op Fl f Ar filter 2003.Op Fl K Ar key-format 2004.Op Fl O Ar sort-order 2005.Op Fl t Ar target-pane 2006.Op Ar template 2007.Xc 2008Put a pane into client mode, allowing a client to be selected interactively from 2009a list. 2010Each client is shown on one line. 2011A shortcut key is shown on the left in brackets allowing for immediate choice, 2012or the list may be navigated and an item chosen or otherwise manipulated using 2013the keys below. 2014.Fl Z 2015zooms the pane. 2016The following keys may be used in client mode: 2017.Bl -column "Key" "Function" -offset indent 2018.It Sy "Key" Ta Sy "Function" 2019.It Li "Enter" Ta "Choose selected client" 2020.It Li "Up" Ta "Select previous client" 2021.It Li "Down" Ta "Select next client" 2022.It Li "C-s" Ta "Search by name" 2023.It Li "n" Ta "Repeat last search" 2024.It Li "t" Ta "Toggle if client is tagged" 2025.It Li "T" Ta "Tag no clients" 2026.It Li "C-t" Ta "Tag all clients" 2027.It Li "d" Ta "Detach selected client" 2028.It Li "D" Ta "Detach tagged clients" 2029.It Li "x" Ta "Detach and HUP selected client" 2030.It Li "X" Ta "Detach and HUP tagged clients" 2031.It Li "z" Ta "Suspend selected client" 2032.It Li "Z" Ta "Suspend tagged clients" 2033.It Li "f" Ta "Enter a format to filter items" 2034.It Li "O" Ta "Change sort field" 2035.It Li "r" Ta "Reverse sort order" 2036.It Li "v" Ta "Toggle preview" 2037.It Li "q" Ta "Exit mode" 2038.El 2039.Pp 2040After a client is chosen, 2041.Ql %% 2042is replaced by the client name in 2043.Ar template 2044and the result executed as a command. 2045If 2046.Ar template 2047is not given, "detach-client -t '%%'" is used. 2048.Pp 2049.Fl O 2050specifies the initial sort field: one of 2051.Ql name , 2052.Ql size , 2053.Ql creation , 2054or 2055.Ql activity . 2056.Fl r 2057reverses the sort order. 2058.Fl f 2059specifies an initial filter: the filter is a format - if it evaluates to zero, 2060the item in the list is not shown, otherwise it is shown. 2061If a filter would lead to an empty list, it is ignored. 2062.Fl F 2063specifies the format for each item in the list and 2064.Fl K 2065a format for each shortcut key; both are evaluated once for each line. 2066.Fl N 2067starts without the preview. 2068This command works only if at least one client is attached. 2069.It Xo 2070.Ic choose-tree 2071.Op Fl GNrswZ 2072.Op Fl F Ar format 2073.Op Fl f Ar filter 2074.Op Fl K Ar key-format 2075.Op Fl O Ar sort-order 2076.Op Fl t Ar target-pane 2077.Op Ar template 2078.Xc 2079Put a pane into tree mode, where a session, window or pane may be chosen 2080interactively from a tree. 2081Each session, window or pane is shown on one line. 2082A shortcut key is shown on the left in brackets allowing for immediate choice, 2083or the tree may be navigated and an item chosen or otherwise manipulated using 2084the keys below. 2085.Fl s 2086starts with sessions collapsed and 2087.Fl w 2088with windows collapsed. 2089.Fl Z 2090zooms the pane. 2091The following keys may be used in tree mode: 2092.Bl -column "Key" "Function" -offset indent 2093.It Sy "Key" Ta Sy "Function" 2094.It Li "Enter" Ta "Choose selected item" 2095.It Li "Up" Ta "Select previous item" 2096.It Li "Down" Ta "Select next item" 2097.It Li "+" Ta "Expand selected item" 2098.It Li "-" Ta "Collapse selected item" 2099.It Li "M-+" Ta "Expand all items" 2100.It Li "M--" Ta "Collapse all items" 2101.It Li "x" Ta "Kill selected item" 2102.It Li "X" Ta "Kill tagged items" 2103.It Li "<" Ta "Scroll list of previews left" 2104.It Li ">" Ta "Scroll list of previews right" 2105.It Li "C-s" Ta "Search by name" 2106.It Li "m" Ta "Set the marked pane" 2107.It Li "M" Ta "Clear the marked pane" 2108.It Li "n" Ta "Repeat last search" 2109.It Li "t" Ta "Toggle if item is tagged" 2110.It Li "T" Ta "Tag no items" 2111.It Li "C-t" Ta "Tag all items" 2112.It Li "\&:" Ta "Run a command for each tagged item" 2113.It Li "f" Ta "Enter a format to filter items" 2114.It Li "H" Ta "Jump to the starting pane" 2115.It Li "O" Ta "Change sort field" 2116.It Li "r" Ta "Reverse sort order" 2117.It Li "v" Ta "Toggle preview" 2118.It Li "q" Ta "Exit mode" 2119.El 2120.Pp 2121After a session, window or pane is chosen, the first instance of 2122.Ql %% 2123and all instances of 2124.Ql %1 2125are replaced by the target in 2126.Ar template 2127and the result executed as a command. 2128If 2129.Ar template 2130is not given, "switch-client -t '%%'" is used. 2131.Pp 2132.Fl O 2133specifies the initial sort field: one of 2134.Ql index , 2135.Ql name , 2136or 2137.Ql time . 2138.Fl r 2139reverses the sort order. 2140.Fl f 2141specifies an initial filter: the filter is a format - if it evaluates to zero, 2142the item in the list is not shown, otherwise it is shown. 2143If a filter would lead to an empty list, it is ignored. 2144.Fl F 2145specifies the format for each item in the tree and 2146.Fl K 2147a format for each shortcut key; both are evaluated once for each line. 2148.Fl N 2149starts without the preview. 2150.Fl G 2151includes all sessions in any session groups in the tree rather than only the 2152first. 2153This command works only if at least one client is attached. 2154.It Xo 2155.Ic customize-mode 2156.Op Fl NZ 2157.Op Fl F Ar format 2158.Op Fl f Ar filter 2159.Op Fl t Ar target-pane 2160.Op Ar template 2161.Xc 2162Put a pane into customize mode, where options and key bindings may be browsed 2163and modified from a list. 2164Option values in the list are shown for the active pane in the current window. 2165.Fl Z 2166zooms the pane. 2167The following keys may be used in customize mode: 2168.Bl -column "Key" "Function" -offset indent 2169.It Sy "Key" Ta Sy "Function" 2170.It Li "Enter" Ta "Set pane, window, session or global option value" 2171.It Li "Up" Ta "Select previous item" 2172.It Li "Down" Ta "Select next item" 2173.It Li "+" Ta "Expand selected item" 2174.It Li "-" Ta "Collapse selected item" 2175.It Li "M-+" Ta "Expand all items" 2176.It Li "M--" Ta "Collapse all items" 2177.It Li "s" Ta "Set option value or key attribute" 2178.It Li "S" Ta "Set global option value" 2179.It Li "w" Ta "Set window option value, if option is for pane and window" 2180.It Li "d" Ta "Set an option or key to the default" 2181.It Li "D" Ta "Set tagged options and tagged keys to the default" 2182.It Li "u" Ta "Unset an option (set to default value if global) or unbind a key" 2183.It Li "U" Ta "Unset tagged options and unbind tagged keys" 2184.It Li "C-s" Ta "Search by name" 2185.It Li "n" Ta "Repeat last search" 2186.It Li "t" Ta "Toggle if item is tagged" 2187.It Li "T" Ta "Tag no items" 2188.It Li "C-t" Ta "Tag all items" 2189.It Li "f" Ta "Enter a format to filter items" 2190.It Li "v" Ta "Toggle option information" 2191.It Li "q" Ta "Exit mode" 2192.El 2193.Pp 2194.Fl f 2195specifies an initial filter: the filter is a format - if it evaluates to zero, 2196the item in the list is not shown, otherwise it is shown. 2197If a filter would lead to an empty list, it is ignored. 2198.Fl F 2199specifies the format for each item in the tree. 2200.Fl N 2201starts without the option information. 2202This command works only if at least one client is attached. 2203.It Xo 2204.Ic display-panes 2205.Op Fl bN 2206.Op Fl d Ar duration 2207.Op Fl t Ar target-client 2208.Op Ar template 2209.Xc 2210.D1 (alias: Ic displayp ) 2211Display a visible indicator of each pane shown by 2212.Ar target-client . 2213See the 2214.Ic display-panes-colour 2215and 2216.Ic display-panes-active-colour 2217session options. 2218The indicator is closed when a key is pressed (unless 2219.Fl N 2220is given) or 2221.Ar duration 2222milliseconds have passed. 2223If 2224.Fl d 2225is not given, 2226.Ic display-panes-time 2227is used. 2228A duration of zero means the indicator stays until a key is pressed. 2229While the indicator is on screen, a pane may be chosen with the 2230.Ql 0 2231to 2232.Ql 9 2233keys, which will cause 2234.Ar template 2235to be executed as a command with 2236.Ql %% 2237substituted by the pane ID. 2238The default 2239.Ar template 2240is "select-pane -t '%%'". 2241With 2242.Fl b , 2243other commands are not blocked from running until the indicator is closed. 2244.It Xo Ic find-window 2245.Op Fl iCNrTZ 2246.Op Fl t Ar target-pane 2247.Ar match-string 2248.Xc 2249.D1 (alias: Ic findw ) 2250Search for a 2251.Xr fnmatch 3 2252pattern or, with 2253.Fl r , 2254regular expression 2255.Ar match-string 2256in window names, titles, and visible content (but not history). 2257The flags control matching behavior: 2258.Fl C 2259matches only visible window contents, 2260.Fl N 2261matches only the window name and 2262.Fl T 2263matches only the window title. 2264.Fl i 2265makes the search ignore case. 2266The default is 2267.Fl CNT . 2268.Fl Z 2269zooms the pane. 2270.Pp 2271This command works only if at least one client is attached. 2272.It Xo Ic join-pane 2273.Op Fl bdfhv 2274.Op Fl l Ar size 2275.Op Fl s Ar src-pane 2276.Op Fl t Ar dst-pane 2277.Xc 2278.D1 (alias: Ic joinp ) 2279Like 2280.Ic split-window , 2281but instead of splitting 2282.Ar dst-pane 2283and creating a new pane, split it and move 2284.Ar src-pane 2285into the space. 2286This can be used to reverse 2287.Ic break-pane . 2288The 2289.Fl b 2290option causes 2291.Ar src-pane 2292to be joined to left of or above 2293.Ar dst-pane . 2294.Pp 2295If 2296.Fl s 2297is omitted and a marked pane is present (see 2298.Ic select-pane 2299.Fl m ) , 2300the marked pane is used rather than the current pane. 2301.It Xo Ic kill-pane 2302.Op Fl a 2303.Op Fl t Ar target-pane 2304.Xc 2305.D1 (alias: Ic killp ) 2306Destroy the given pane. 2307If no panes remain in the containing window, it is also destroyed. 2308The 2309.Fl a 2310option kills all but the pane given with 2311.Fl t . 2312.It Xo Ic kill-window 2313.Op Fl a 2314.Op Fl t Ar target-window 2315.Xc 2316.D1 (alias: Ic killw ) 2317Kill the current window or the window at 2318.Ar target-window , 2319removing it from any sessions to which it is linked. 2320The 2321.Fl a 2322option kills all but the window given with 2323.Fl t . 2324.It Xo Ic last-pane 2325.Op Fl deZ 2326.Op Fl t Ar target-window 2327.Xc 2328.D1 (alias: Ic lastp ) 2329Select the last (previously selected) pane. 2330.Fl Z 2331keeps the window zoomed if it was zoomed. 2332.Fl e 2333enables or 2334.Fl d 2335disables input to the pane. 2336.It Ic last-window Op Fl t Ar target-session 2337.D1 (alias: Ic last ) 2338Select the last (previously selected) window. 2339If no 2340.Ar target-session 2341is specified, select the last window of the current session. 2342.It Xo Ic link-window 2343.Op Fl abdk 2344.Op Fl s Ar src-window 2345.Op Fl t Ar dst-window 2346.Xc 2347.D1 (alias: Ic linkw ) 2348Link the window at 2349.Ar src-window 2350to the specified 2351.Ar dst-window . 2352If 2353.Ar dst-window 2354is specified and no such window exists, the 2355.Ar src-window 2356is linked there. 2357With 2358.Fl a 2359or 2360.Fl b 2361the window is moved to the next index after or before 2362.Ar dst-window 2363(existing windows are moved if necessary). 2364If 2365.Fl k 2366is given and 2367.Ar dst-window 2368exists, it is killed, otherwise an error is generated. 2369If 2370.Fl d 2371is given, the newly linked window is not selected. 2372.It Xo Ic list-panes 2373.Op Fl as 2374.Op Fl F Ar format 2375.Op Fl f Ar filter 2376.Op Fl t Ar target 2377.Xc 2378.D1 (alias: Ic lsp ) 2379If 2380.Fl a 2381is given, 2382.Ar target 2383is ignored and all panes on the server are listed. 2384If 2385.Fl s 2386is given, 2387.Ar target 2388is a session (or the current session). 2389If neither is given, 2390.Ar target 2391is a window (or the current window). 2392.Fl F 2393specifies the format of each line and 2394.Fl f 2395a filter. 2396Only panes for which the filter is true are shown. 2397See the 2398.Sx FORMATS 2399section. 2400.It Xo Ic list-windows 2401.Op Fl a 2402.Op Fl F Ar format 2403.Op Fl f Ar filter 2404.Op Fl t Ar target-session 2405.Xc 2406.D1 (alias: Ic lsw ) 2407If 2408.Fl a 2409is given, list all windows on the server. 2410Otherwise, list windows in the current session or in 2411.Ar target-session . 2412.Fl F 2413specifies the format of each line and 2414.Fl f 2415a filter. 2416Only windows for which the filter is true are shown. 2417See the 2418.Sx FORMATS 2419section. 2420.It Xo Ic move-pane 2421.Op Fl bdfhv 2422.Op Fl l Ar size 2423.Op Fl s Ar src-pane 2424.Op Fl t Ar dst-pane 2425.Xc 2426.D1 (alias: Ic movep ) 2427Does the same as 2428.Ic join-pane . 2429.It Xo Ic move-window 2430.Op Fl abrdk 2431.Op Fl s Ar src-window 2432.Op Fl t Ar dst-window 2433.Xc 2434.D1 (alias: Ic movew ) 2435This is similar to 2436.Ic link-window , 2437except the window at 2438.Ar src-window 2439is moved to 2440.Ar dst-window . 2441With 2442.Fl r , 2443all windows in the session are renumbered in sequential order, respecting 2444the 2445.Ic base-index 2446option. 2447.It Xo Ic new-window 2448.Op Fl abdkPS 2449.Op Fl c Ar start-directory 2450.Op Fl e Ar environment 2451.Op Fl F Ar format 2452.Op Fl n Ar window-name 2453.Op Fl t Ar target-window 2454.Op Ar shell-command 2455.Xc 2456.D1 (alias: Ic neww ) 2457Create a new window. 2458With 2459.Fl a 2460or 2461.Fl b , 2462the new window is inserted at the next index after or before the specified 2463.Ar target-window , 2464moving windows up if necessary; 2465otherwise 2466.Ar target-window 2467is the new window location. 2468.Pp 2469If 2470.Fl d 2471is given, the session does not make the new window the current window. 2472.Ar target-window 2473represents the window to be created; if the target already exists an error is 2474shown, unless the 2475.Fl k 2476flag is used, in which case it is destroyed. 2477If 2478.Fl S 2479is given and a window named 2480.Ar window-name 2481already exists, it is selected (unless 2482.Fl d 2483is also given in which case the command does nothing). 2484.Pp 2485.Ar shell-command 2486is the command to execute. 2487If 2488.Ar shell-command 2489is not specified, the value of the 2490.Ic default-command 2491option is used. 2492.Fl c 2493specifies the working directory in which the new window is created. 2494.Pp 2495When the shell command completes, the window closes. 2496See the 2497.Ic remain-on-exit 2498option to change this behaviour. 2499.Pp 2500.Fl e 2501takes the form 2502.Ql VARIABLE=value 2503and sets an environment variable for the newly created window; it may be 2504specified multiple times. 2505.Pp 2506The 2507.Ev TERM 2508environment variable must be set to 2509.Ql screen 2510or 2511.Ql tmux 2512for all programs running 2513.Em inside 2514.Nm . 2515New windows will automatically have 2516.Ql TERM=screen 2517added to their environment, but care must be taken not to reset this in shell 2518start-up files or by the 2519.Fl e 2520option. 2521.Pp 2522The 2523.Fl P 2524option prints information about the new window after it has been created. 2525By default, it uses the format 2526.Ql #{session_name}:#{window_index} 2527but a different format may be specified with 2528.Fl F . 2529.It Ic next-layout Op Fl t Ar target-window 2530.D1 (alias: Ic nextl ) 2531Move a window to the next layout and rearrange the panes to fit. 2532.It Xo Ic next-window 2533.Op Fl a 2534.Op Fl t Ar target-session 2535.Xc 2536.D1 (alias: Ic next ) 2537Move to the next window in the session. 2538If 2539.Fl a 2540is used, move to the next window with an alert. 2541.It Xo Ic pipe-pane 2542.Op Fl IOo 2543.Op Fl t Ar target-pane 2544.Op Ar shell-command 2545.Xc 2546.D1 (alias: Ic pipep ) 2547Pipe output sent by the program in 2548.Ar target-pane 2549to a shell command or vice versa. 2550A pane may only be connected to one command at a time, any existing pipe is 2551closed before 2552.Ar shell-command 2553is executed. 2554The 2555.Ar shell-command 2556string may contain the special character sequences supported by the 2557.Ic status-left 2558option. 2559If no 2560.Ar shell-command 2561is given, the current pipe (if any) is closed. 2562.Pp 2563.Fl I 2564and 2565.Fl O 2566specify which of the 2567.Ar shell-command 2568output streams are connected to the pane: 2569with 2570.Fl I 2571stdout is connected (so anything 2572.Ar shell-command 2573prints is written to the pane as if it were typed); 2574with 2575.Fl O 2576stdin is connected (so any output in the pane is piped to 2577.Ar shell-command ) . 2578Both may be used together and if neither are specified, 2579.Fl O 2580is used. 2581.Pp 2582The 2583.Fl o 2584option only opens a new pipe if no previous pipe exists, allowing a pipe to 2585be toggled with a single key, for example: 2586.Bd -literal -offset indent 2587bind-key C-p pipe-pane -o 'cat >>~/output.#I-#P' 2588.Ed 2589.It Xo Ic previous-layout 2590.Op Fl t Ar target-window 2591.Xc 2592.D1 (alias: Ic prevl ) 2593Move to the previous layout in the session. 2594.It Xo Ic previous-window 2595.Op Fl a 2596.Op Fl t Ar target-session 2597.Xc 2598.D1 (alias: Ic prev ) 2599Move to the previous window in the session. 2600With 2601.Fl a , 2602move to the previous window with an alert. 2603.It Xo Ic rename-window 2604.Op Fl t Ar target-window 2605.Ar new-name 2606.Xc 2607.D1 (alias: Ic renamew ) 2608Rename the current window, or the window at 2609.Ar target-window 2610if specified, to 2611.Ar new-name . 2612.It Xo Ic resize-pane 2613.Op Fl DLMRTUZ 2614.Op Fl t Ar target-pane 2615.Op Fl x Ar width 2616.Op Fl y Ar height 2617.Op Ar adjustment 2618.Xc 2619.D1 (alias: Ic resizep ) 2620Resize a pane, up, down, left or right by 2621.Ar adjustment 2622with 2623.Fl U , 2624.Fl D , 2625.Fl L 2626or 2627.Fl R , 2628or 2629to an absolute size 2630with 2631.Fl x 2632or 2633.Fl y . 2634The 2635.Ar adjustment 2636is given in lines or columns (the default is 1); 2637.Fl x 2638and 2639.Fl y 2640may be a given as a number of lines or columns or followed by 2641.Ql % 2642for a percentage of the window size (for example 2643.Ql -x 10% ) . 2644With 2645.Fl Z , 2646the active pane is toggled between zoomed (occupying the whole of the window) 2647and unzoomed (its normal position in the layout). 2648.Pp 2649.Fl M 2650begins mouse resizing (only valid if bound to a mouse key binding, see 2651.Sx MOUSE SUPPORT ) . 2652.Pp 2653.Fl T 2654trims all lines below the current cursor position and moves lines out of the 2655history to replace them. 2656.It Xo Ic resize-window 2657.Op Fl aADLRU 2658.Op Fl t Ar target-window 2659.Op Fl x Ar width 2660.Op Fl y Ar height 2661.Op Ar adjustment 2662.Xc 2663.D1 (alias: Ic resizew ) 2664Resize a window, up, down, left or right by 2665.Ar adjustment 2666with 2667.Fl U , 2668.Fl D , 2669.Fl L 2670or 2671.Fl R , 2672or 2673to an absolute size 2674with 2675.Fl x 2676or 2677.Fl y . 2678The 2679.Ar adjustment 2680is given in lines or cells (the default is 1). 2681.Fl A 2682sets the size of the largest session containing the window; 2683.Fl a 2684the size of the smallest. 2685This command will automatically set 2686.Ic window-size 2687to manual in the window options. 2688.It Xo Ic respawn-pane 2689.Op Fl k 2690.Op Fl c Ar start-directory 2691.Op Fl e Ar environment 2692.Op Fl t Ar target-pane 2693.Op Ar shell-command 2694.Xc 2695.D1 (alias: Ic respawnp ) 2696Reactivate a pane in which the command has exited (see the 2697.Ic remain-on-exit 2698window option). 2699If 2700.Ar shell-command 2701is not given, the command used when the pane was created or last respawned is 2702executed. 2703The pane must be already inactive, unless 2704.Fl k 2705is given, in which case any existing command is killed. 2706.Fl c 2707specifies a new working directory for the pane. 2708The 2709.Fl e 2710option has the same meaning as for the 2711.Ic new-window 2712command. 2713.It Xo Ic respawn-window 2714.Op Fl k 2715.Op Fl c Ar start-directory 2716.Op Fl e Ar environment 2717.Op Fl t Ar target-window 2718.Op Ar shell-command 2719.Xc 2720.D1 (alias: Ic respawnw ) 2721Reactivate a window in which the command has exited (see the 2722.Ic remain-on-exit 2723window option). 2724If 2725.Ar shell-command 2726is not given, the command used when the window was created or last respawned is 2727executed. 2728The window must be already inactive, unless 2729.Fl k 2730is given, in which case any existing command is killed. 2731.Fl c 2732specifies a new working directory for the window. 2733The 2734.Fl e 2735option has the same meaning as for the 2736.Ic new-window 2737command. 2738.It Xo Ic rotate-window 2739.Op Fl DUZ 2740.Op Fl t Ar target-window 2741.Xc 2742.D1 (alias: Ic rotatew ) 2743Rotate the positions of the panes within a window, either upward (numerically 2744lower) with 2745.Fl U 2746or downward (numerically higher). 2747.Fl Z 2748keeps the window zoomed if it was zoomed. 2749.It Xo Ic select-layout 2750.Op Fl Enop 2751.Op Fl t Ar target-pane 2752.Op Ar layout-name 2753.Xc 2754.D1 (alias: Ic selectl ) 2755Choose a specific layout for a window. 2756If 2757.Ar layout-name 2758is not given, the last preset layout used (if any) is reapplied. 2759.Fl n 2760and 2761.Fl p 2762are equivalent to the 2763.Ic next-layout 2764and 2765.Ic previous-layout 2766commands. 2767.Fl o 2768applies the last set layout if possible (undoes the most recent layout change). 2769.Fl E 2770spreads the current pane and any panes next to it out evenly. 2771.It Xo Ic select-pane 2772.Op Fl DdeLlMmRUZ 2773.Op Fl T Ar title 2774.Op Fl t Ar target-pane 2775.Xc 2776.D1 (alias: Ic selectp ) 2777Make pane 2778.Ar target-pane 2779the active pane in its window. 2780If one of 2781.Fl D , 2782.Fl L , 2783.Fl R , 2784or 2785.Fl U 2786is used, respectively the pane below, to the left, to the right, or above the 2787target pane is used. 2788.Fl Z 2789keeps the window zoomed if it was zoomed. 2790.Fl l 2791is the same as using the 2792.Ic last-pane 2793command. 2794.Fl e 2795enables or 2796.Fl d 2797disables input to the pane. 2798.Fl T 2799sets the pane title. 2800.Pp 2801.Fl m 2802and 2803.Fl M 2804are used to set and clear the 2805.Em marked pane . 2806There is one marked pane at a time, setting a new marked pane clears the last. 2807The marked pane is the default target for 2808.Fl s 2809to 2810.Ic join-pane , 2811.Ic move-pane , 2812.Ic swap-pane 2813and 2814.Ic swap-window . 2815.It Xo Ic select-window 2816.Op Fl lnpT 2817.Op Fl t Ar target-window 2818.Xc 2819.D1 (alias: Ic selectw ) 2820Select the window at 2821.Ar target-window . 2822.Fl l , 2823.Fl n 2824and 2825.Fl p 2826are equivalent to the 2827.Ic last-window , 2828.Ic next-window 2829and 2830.Ic previous-window 2831commands. 2832If 2833.Fl T 2834is given and the selected window is already the current window, 2835the command behaves like 2836.Ic last-window . 2837.It Xo Ic split-window 2838.Op Fl bdfhIvPZ 2839.Op Fl c Ar start-directory 2840.Op Fl e Ar environment 2841.Op Fl l Ar size 2842.Op Fl t Ar target-pane 2843.Op Ar shell-command 2844.Op Fl F Ar format 2845.Xc 2846.D1 (alias: Ic splitw ) 2847Create a new pane by splitting 2848.Ar target-pane : 2849.Fl h 2850does a horizontal split and 2851.Fl v 2852a vertical split; if neither is specified, 2853.Fl v 2854is assumed. 2855The 2856.Fl l 2857option specifies the size of the new pane in lines (for vertical split) or in 2858columns (for horizontal split); 2859.Ar size 2860may be followed by 2861.Ql % 2862to specify a percentage of the available space. 2863The 2864.Fl b 2865option causes the new pane to be created to the left of or above 2866.Ar target-pane . 2867The 2868.Fl f 2869option creates a new pane spanning the full window height (with 2870.Fl h ) 2871or full window width (with 2872.Fl v ) , 2873instead of splitting the active pane. 2874.Fl Z 2875zooms if the window is not zoomed, or keeps it zoomed if already zoomed. 2876.Pp 2877An empty 2878.Ar shell-command 2879('') will create a pane with no command running in it. 2880Output can be sent to such a pane with the 2881.Ic display-message 2882command. 2883The 2884.Fl I 2885flag (if 2886.Ar shell-command 2887is not specified or empty) 2888will create an empty pane and forward any output from stdin to it. 2889For example: 2890.Bd -literal -offset indent 2891$ make 2>&1|tmux splitw -dI & 2892.Ed 2893.Pp 2894All other options have the same meaning as for the 2895.Ic new-window 2896command. 2897.It Xo Ic swap-pane 2898.Op Fl dDUZ 2899.Op Fl s Ar src-pane 2900.Op Fl t Ar dst-pane 2901.Xc 2902.D1 (alias: Ic swapp ) 2903Swap two panes. 2904If 2905.Fl U 2906is used and no source pane is specified with 2907.Fl s , 2908.Ar dst-pane 2909is swapped with the previous pane (before it numerically); 2910.Fl D 2911swaps with the next pane (after it numerically). 2912.Fl d 2913instructs 2914.Nm 2915not to change the active pane and 2916.Fl Z 2917keeps the window zoomed if it was zoomed. 2918.Pp 2919If 2920.Fl s 2921is omitted and a marked pane is present (see 2922.Ic select-pane 2923.Fl m ) , 2924the marked pane is used rather than the current pane. 2925.It Xo Ic swap-window 2926.Op Fl d 2927.Op Fl s Ar src-window 2928.Op Fl t Ar dst-window 2929.Xc 2930.D1 (alias: Ic swapw ) 2931This is similar to 2932.Ic link-window , 2933except the source and destination windows are swapped. 2934It is an error if no window exists at 2935.Ar src-window . 2936If 2937.Fl d 2938is given, the new window does not become the current window. 2939.Pp 2940If 2941.Fl s 2942is omitted and a marked pane is present (see 2943.Ic select-pane 2944.Fl m ) , 2945the window containing the marked pane is used rather than the current window. 2946.It Xo Ic unlink-window 2947.Op Fl k 2948.Op Fl t Ar target-window 2949.Xc 2950.D1 (alias: Ic unlinkw ) 2951Unlink 2952.Ar target-window . 2953Unless 2954.Fl k 2955is given, a window may be unlinked only if it is linked to multiple sessions - 2956windows may not be linked to no sessions; 2957if 2958.Fl k 2959is specified and the window is linked to only one session, it is unlinked and 2960destroyed. 2961.El 2962.Sh KEY BINDINGS 2963.Nm 2964allows a command to be bound to most keys, with or without a prefix key. 2965When specifying keys, most represent themselves (for example 2966.Ql A 2967to 2968.Ql Z ) . 2969Ctrl keys may be prefixed with 2970.Ql C- 2971or 2972.Ql ^ , 2973Shift keys with 2974.Ql S- 2975and Alt (meta) with 2976.Ql M- . 2977In addition, the following special key names are accepted: 2978.Em Up , 2979.Em Down , 2980.Em Left , 2981.Em Right , 2982.Em BSpace , 2983.Em BTab , 2984.Em DC 2985(Delete), 2986.Em End , 2987.Em Enter , 2988.Em Escape , 2989.Em F1 2990to 2991.Em F12 , 2992.Em Home , 2993.Em IC 2994(Insert), 2995.Em NPage/PageDown/PgDn , 2996.Em PPage/PageUp/PgUp , 2997.Em Space , 2998and 2999.Em Tab . 3000Note that to bind the 3001.Ql \&" 3002or 3003.Ql ' 3004keys, quotation marks are necessary, for example: 3005.Bd -literal -offset indent 3006bind-key '"' split-window 3007bind-key "'" new-window 3008.Ed 3009.Pp 3010A command bound to the 3011.Em Any 3012key will execute for all keys which do not have a more specific binding. 3013.Pp 3014Commands related to key bindings are as follows: 3015.Bl -tag -width Ds 3016.It Xo Ic bind-key 3017.Op Fl nr 3018.Op Fl N Ar note 3019.Op Fl T Ar key-table 3020.Ar key command Op Ar arguments 3021.Xc 3022.D1 (alias: Ic bind ) 3023Bind key 3024.Ar key 3025to 3026.Ar command . 3027Keys are bound in a key table. 3028By default (without -T), the key is bound in 3029the 3030.Em prefix 3031key table. 3032This table is used for keys pressed after the prefix key (for example, 3033by default 3034.Ql c 3035is bound to 3036.Ic new-window 3037in the 3038.Em prefix 3039table, so 3040.Ql C-b c 3041creates a new window). 3042The 3043.Em root 3044table is used for keys pressed without the prefix key: binding 3045.Ql c 3046to 3047.Ic new-window 3048in the 3049.Em root 3050table (not recommended) means a plain 3051.Ql c 3052will create a new window. 3053.Fl n 3054is an alias 3055for 3056.Fl T Ar root . 3057Keys may also be bound in custom key tables and the 3058.Ic switch-client 3059.Fl T 3060command used to switch to them from a key binding. 3061The 3062.Fl r 3063flag indicates this key may repeat, see the 3064.Ic repeat-time 3065option. 3066.Fl N 3067attaches a note to the key (shown with 3068.Ic list-keys 3069.Fl N ) . 3070.Pp 3071To view the default bindings and possible commands, see the 3072.Ic list-keys 3073command. 3074.It Xo Ic list-keys 3075.Op Fl 1aN 3076.Op Fl P Ar prefix-string Fl T Ar key-table 3077.Op Ar key 3078.Xc 3079.D1 (alias: Ic lsk ) 3080List key bindings. 3081There are two forms: the default lists keys as 3082.Ic bind-key 3083commands; 3084.Fl N 3085lists only keys with attached notes and shows only the key and note for each 3086key. 3087.Pp 3088With the default form, all key tables are listed by default. 3089.Fl T 3090lists only keys in 3091.Ar key-table . 3092.Pp 3093With the 3094.Fl N 3095form, only keys in the 3096.Em root 3097and 3098.Em prefix 3099key tables are listed by default; 3100.Fl T 3101also lists only keys in 3102.Ar key-table . 3103.Fl P 3104specifies a prefix to print before each key and 3105.Fl 1 3106lists only the first matching key. 3107.Fl a 3108lists the command for keys that do not have a note rather than skipping them. 3109.It Xo Ic send-keys 3110.Op Fl FHlMRX 3111.Op Fl N Ar repeat-count 3112.Op Fl t Ar target-pane 3113.Ar key Ar ... 3114.Xc 3115.D1 (alias: Ic send ) 3116Send a key or keys to a window. 3117Each argument 3118.Ar key 3119is the name of the key (such as 3120.Ql C-a 3121or 3122.Ql NPage ) 3123to send; if the string is not recognised as a key, it is sent as a series of 3124characters. 3125All arguments are sent sequentially from first to last. 3126.Pp 3127The 3128.Fl l 3129flag disables key name lookup and processes the keys as literal UTF-8 3130characters. 3131The 3132.Fl H 3133flag expects each key to be a hexadecimal number for an ASCII character. 3134.Pp 3135The 3136.Fl R 3137flag causes the terminal state to be reset. 3138.Pp 3139.Fl M 3140passes through a mouse event (only valid if bound to a mouse key binding, see 3141.Sx MOUSE SUPPORT ) . 3142.Pp 3143.Fl X 3144is used to send a command into copy mode - see 3145the 3146.Sx WINDOWS AND PANES 3147section. 3148.Fl N 3149specifies a repeat count and 3150.Fl F 3151expands formats in arguments where appropriate. 3152.It Xo Ic send-prefix 3153.Op Fl 2 3154.Op Fl t Ar target-pane 3155.Xc 3156Send the prefix key, or with 3157.Fl 2 3158the secondary prefix key, to a window as if it was pressed. 3159.It Xo Ic unbind-key 3160.Op Fl anq 3161.Op Fl T Ar key-table 3162.Ar key 3163.Xc 3164.D1 (alias: Ic unbind ) 3165Unbind the command bound to 3166.Ar key . 3167.Fl n 3168and 3169.Fl T 3170are the same as for 3171.Ic bind-key . 3172If 3173.Fl a 3174is present, all key bindings are removed. 3175The 3176.Fl q 3177option prevents errors being returned. 3178.El 3179.Sh OPTIONS 3180The appearance and behaviour of 3181.Nm 3182may be modified by changing the value of various options. 3183There are four types of option: 3184.Em server options , 3185.Em session options , 3186.Em window options , 3187and 3188.Em pane options . 3189.Pp 3190The 3191.Nm 3192server has a set of global server options which do not apply to any particular 3193window or session or pane. 3194These are altered with the 3195.Ic set-option 3196.Fl s 3197command, or displayed with the 3198.Ic show-options 3199.Fl s 3200command. 3201.Pp 3202In addition, each individual session may have a set of session options, and 3203there is a separate set of global session options. 3204Sessions which do not have a particular option configured inherit the value 3205from the global session options. 3206Session options are set or unset with the 3207.Ic set-option 3208command and may be listed with the 3209.Ic show-options 3210command. 3211The available server and session options are listed under the 3212.Ic set-option 3213command. 3214.Pp 3215Similarly, a set of window options is attached to each window and a set of pane 3216options to each pane. 3217Pane options inherit from window options. 3218This means any pane option may be set as a window option to apply the option to 3219all panes in the window without the option set, for example these commands will 3220set the background colour to red for all panes except pane 0: 3221.Bd -literal -offset indent 3222set -w window-style bg=red 3223set -pt:.0 window-style bg=blue 3224.Ed 3225.Pp 3226There is also a set of global window options from which any unset window or 3227pane options are inherited. 3228Window and pane options are altered with 3229.Ic set-option 3230.Fl w 3231and 3232.Fl p 3233commands and displayed with 3234.Ic show-option 3235.Fl w 3236and 3237.Fl p . 3238.Pp 3239.Nm 3240also supports user options which are prefixed with a 3241.Ql \&@ . 3242User options may have any name, so long as they are prefixed with 3243.Ql \&@ , 3244and be set to any string. 3245For example: 3246.Bd -literal -offset indent 3247$ tmux set -wq @foo "abc123" 3248$ tmux show -wv @foo 3249abc123 3250.Ed 3251.Pp 3252Commands which set options are as follows: 3253.Bl -tag -width Ds 3254.It Xo Ic set-option 3255.Op Fl aFgopqsuUw 3256.Op Fl t Ar target-pane 3257.Ar option Ar value 3258.Xc 3259.D1 (alias: Ic set ) 3260Set a pane option with 3261.Fl p , 3262a window option with 3263.Fl w , 3264a server option with 3265.Fl s , 3266otherwise a session option. 3267If the option is not a user option, 3268.Fl w 3269or 3270.Fl s 3271may be unnecessary - 3272.Nm 3273will infer the type from the option name, assuming 3274.Fl w 3275for pane options. 3276If 3277.Fl g 3278is given, the global session or window option is set. 3279.Pp 3280.Fl F 3281expands formats in the option value. 3282The 3283.Fl u 3284flag unsets an option, so a session inherits the option from the global 3285options (or with 3286.Fl g , 3287restores a global option to the default). 3288.Fl U 3289unsets an option (like 3290.Fl u ) 3291but if the option is a pane option also unsets the option on any panes in the 3292window. 3293.Ar value 3294depends on the option and may be a number, a string, or a flag (on, off, or 3295omitted to toggle). 3296.Pp 3297The 3298.Fl o 3299flag prevents setting an option that is already set and the 3300.Fl q 3301flag suppresses errors about unknown or ambiguous options. 3302.Pp 3303With 3304.Fl a , 3305and if the option expects a string or a style, 3306.Ar value 3307is appended to the existing setting. 3308For example: 3309.Bd -literal -offset indent 3310set -g status-left "foo" 3311set -ag status-left "bar" 3312.Ed 3313.Pp 3314Will result in 3315.Ql foobar . 3316And: 3317.Bd -literal -offset indent 3318set -g status-style "bg=red" 3319set -ag status-style "fg=blue" 3320.Ed 3321.Pp 3322Will result in a red background 3323.Em and 3324blue foreground. 3325Without 3326.Fl a , 3327the result would be the default background and a blue foreground. 3328.It Xo Ic show-options 3329.Op Fl AgHpqsvw 3330.Op Fl t Ar target-pane 3331.Op Ar option 3332.Xc 3333.D1 (alias: Ic show ) 3334Show the pane options (or a single option if 3335.Ar option 3336is provided) with 3337.Fl p , 3338the window options with 3339.Fl w , 3340the server options with 3341.Fl s , 3342otherwise the session options. 3343If the option is not a user option, 3344.Fl w 3345or 3346.Fl s 3347may be unnecessary - 3348.Nm 3349will infer the type from the option name, assuming 3350.Fl w 3351for pane options. 3352Global session or window options are listed if 3353.Fl g 3354is used. 3355.Fl v 3356shows only the option value, not the name. 3357If 3358.Fl q 3359is set, no error will be returned if 3360.Ar option 3361is unset. 3362.Fl H 3363includes hooks (omitted by default). 3364.Fl A 3365includes options inherited from a parent set of options, such options are 3366marked with an asterisk. 3367.El 3368.Pp 3369Available server options are: 3370.Bl -tag -width Ds 3371.It Ic backspace Ar key 3372Set the key sent by 3373.Nm 3374for backspace. 3375.It Ic buffer-limit Ar number 3376Set the number of buffers; as new buffers are added to the top of the stack, 3377old ones are removed from the bottom if necessary to maintain this maximum 3378length. 3379.It Xo Ic command-alias[] 3380.Ar name=value 3381.Xc 3382This is an array of custom aliases for commands. 3383If an unknown command matches 3384.Ar name , 3385it is replaced with 3386.Ar value . 3387For example, after: 3388.Pp 3389.Dl set -s command-alias[100] zoom='resize-pane -Z' 3390.Pp 3391Using: 3392.Pp 3393.Dl zoom -t:.1 3394.Pp 3395Is equivalent to: 3396.Pp 3397.Dl resize-pane -Z -t:.1 3398.Pp 3399Note that aliases are expanded when a command is parsed rather than when it is 3400executed, so binding an alias with 3401.Ic bind-key 3402will bind the expanded form. 3403.It Ic default-terminal Ar terminal 3404Set the default terminal for new windows created in this session - the 3405default value of the 3406.Ev TERM 3407environment variable. 3408For 3409.Nm 3410to work correctly, this 3411.Em must 3412be set to 3413.Ql screen , 3414.Ql tmux 3415or a derivative of them. 3416.It Ic copy-command Ar shell-command 3417Give the command to pipe to if the 3418.Ic copy-pipe 3419copy mode command is used without arguments. 3420.It Ic escape-time Ar time 3421Set the time in milliseconds for which 3422.Nm 3423waits after an escape is input to determine if it is part of a function or meta 3424key sequences. 3425The default is 500 milliseconds. 3426.It Ic editor Ar shell-command 3427Set the command used when 3428.Nm 3429runs an editor. 3430.It Xo Ic exit-empty 3431.Op Ic on | off 3432.Xc 3433If enabled (the default), the server will exit when there are no active 3434sessions. 3435.It Xo Ic exit-unattached 3436.Op Ic on | off 3437.Xc 3438If enabled, the server will exit when there are no attached clients. 3439.It Xo Ic extended-keys 3440.Op Ic on | off | always 3441.Xc 3442When 3443.Ic on 3444or 3445.Ic always , 3446the escape sequence to enable extended keys is sent to the terminal, if 3447.Nm 3448knows that it is supported. 3449.Nm 3450always recognises extended keys itself. 3451If this option is 3452.Ic on , 3453.Nm 3454will only forward extended keys to applications when they request them; if 3455.Ic always , 3456.Nm 3457will always forward the keys. 3458.It Xo Ic focus-events 3459.Op Ic on | off 3460.Xc 3461When enabled, focus events are requested from the terminal if supported and 3462passed through to applications running in 3463.Nm . 3464Attached clients should be detached and attached again after changing this 3465option. 3466.It Ic history-file Ar path 3467If not empty, a file to which 3468.Nm 3469will write command prompt history on exit and load it from on start. 3470.It Ic message-limit Ar number 3471Set the number of error or information messages to save in the message log for 3472each client. 3473.It Ic prompt-history-limit Ar number 3474Set the number of history items to save in the history file for each type of 3475command prompt. 3476.It Xo Ic set-clipboard 3477.Op Ic on | external | off 3478.Xc 3479Attempt to set the terminal clipboard content using the 3480.Xr xterm 1 3481escape sequence, if there is an 3482.Em \&Ms 3483entry in the 3484.Xr terminfo 5 3485description (see the 3486.Sx TERMINFO EXTENSIONS 3487section). 3488.Pp 3489If set to 3490.Ic on , 3491.Nm 3492will both accept the escape sequence to create a buffer and attempt to set 3493the terminal clipboard. 3494If set to 3495.Ic external , 3496.Nm 3497will attempt to set the terminal clipboard but ignore attempts 3498by applications to set 3499.Nm 3500buffers. 3501If 3502.Ic off , 3503.Nm 3504will neither accept the clipboard escape sequence nor attempt to set the 3505clipboard. 3506.Pp 3507Note that this feature needs to be enabled in 3508.Xr xterm 1 3509by setting the resource: 3510.Bd -literal -offset indent 3511disallowedWindowOps: 20,21,SetXprop 3512.Ed 3513.Pp 3514Or changing this property from the 3515.Xr xterm 1 3516interactive menu when required. 3517.It Ic terminal-features[] Ar string 3518Set terminal features for terminal types read from 3519.Xr terminfo 5 . 3520.Nm 3521has a set of named terminal features. 3522Each will apply appropriate changes to the 3523.Xr terminfo 5 3524entry in use. 3525.Pp 3526.Nm 3527can detect features for a few common terminals; this option can be used to 3528easily tell tmux about features supported by terminals it cannot detect. 3529The 3530.Ic terminal-overrides 3531option allows individual 3532.Xr terminfo 5 3533capabilities to be set instead, 3534.Ic terminal-features 3535is intended for classes of functionality supported in a standard way but not 3536reported by 3537.Xr terminfo 5 . 3538Care must be taken to configure this only with features the terminal actually 3539supports. 3540.Pp 3541This is an array option where each entry is a colon-separated string made up 3542of a terminal type pattern (matched using 3543.Xr fnmatch 3 ) 3544followed by a list of terminal features. 3545The available features are: 3546.Bl -tag -width Ds 3547.It 256 3548Supports 256 colours with the SGR escape sequences. 3549.It clipboard 3550Allows setting the system clipboard. 3551.It ccolour 3552Allows setting the cursor colour. 3553.It cstyle 3554Allows setting the cursor style. 3555.It extkeys 3556Supports extended keys. 3557.It focus 3558Supports focus reporting. 3559.It margins 3560Supports DECSLRM margins. 3561.It mouse 3562Supports 3563.Xr xterm 1 3564mouse sequences. 3565.It overline 3566Supports the overline SGR attribute. 3567.It rectfill 3568Supports the DECFRA rectangle fill escape sequence. 3569.It RGB 3570Supports RGB colour with the SGR escape sequences. 3571.It strikethrough 3572Supports the strikethrough SGR escape sequence. 3573.It sync 3574Supports synchronized updates. 3575.It title 3576Supports 3577.Xr xterm 1 3578title setting. 3579.It usstyle 3580Allows underscore style and colour to be set. 3581.El 3582.It Ic terminal-overrides[] Ar string 3583Allow terminal descriptions read using 3584.Xr terminfo 5 3585to be overridden. 3586Each entry is a colon-separated string made up of a terminal type pattern 3587(matched using 3588.Xr fnmatch 3 ) 3589and a set of 3590.Em name=value 3591entries. 3592.Pp 3593For example, to set the 3594.Ql clear 3595.Xr terminfo 5 3596entry to 3597.Ql \ee[H\ee[2J 3598for all terminal types matching 3599.Ql rxvt* : 3600.Pp 3601.Dl "rxvt*:clear=\ee[H\ee[2J" 3602.Pp 3603The terminal entry value is passed through 3604.Xr strunvis 3 3605before interpretation. 3606.It Ic user-keys[] Ar key 3607Set list of user-defined key escape sequences. 3608Each item is associated with a key named 3609.Ql User0 , 3610.Ql User1 , 3611and so on. 3612.Pp 3613For example: 3614.Bd -literal -offset indent 3615set -s user-keys[0] "\ee[5;30012~" 3616bind User0 resize-pane -L 3 3617.Ed 3618.El 3619.Pp 3620Available session options are: 3621.Bl -tag -width Ds 3622.It Xo Ic activity-action 3623.Op Ic any | none | current | other 3624.Xc 3625Set action on window activity when 3626.Ic monitor-activity 3627is on. 3628.Ic any 3629means activity in any window linked to a session causes a bell or message 3630(depending on 3631.Ic visual-activity ) 3632in the current window of that session, 3633.Ic none 3634means all activity is ignored (equivalent to 3635.Ic monitor-activity 3636being off), 3637.Ic current 3638means only activity in windows other than the current window are ignored and 3639.Ic other 3640means activity in the current window is ignored but not those in other windows. 3641.It Ic assume-paste-time Ar milliseconds 3642If keys are entered faster than one in 3643.Ar milliseconds , 3644they are assumed to have been pasted rather than typed and 3645.Nm 3646key bindings are not processed. 3647The default is one millisecond and zero disables. 3648.It Ic base-index Ar index 3649Set the base index from which an unused index should be searched when a new 3650window is created. 3651The default is zero. 3652.It Xo Ic bell-action 3653.Op Ic any | none | current | other 3654.Xc 3655Set action on a bell in a window when 3656.Ic monitor-bell 3657is on. 3658The values are the same as those for 3659.Ic activity-action . 3660.It Ic default-command Ar shell-command 3661Set the command used for new windows (if not specified when the window is 3662created) to 3663.Ar shell-command , 3664which may be any 3665.Xr sh 1 3666command. 3667The default is an empty string, which instructs 3668.Nm 3669to create a login shell using the value of the 3670.Ic default-shell 3671option. 3672.It Ic default-shell Ar path 3673Specify the default shell. 3674This is used as the login shell for new windows when the 3675.Ic default-command 3676option is set to empty, and must be the full path of the executable. 3677When started 3678.Nm 3679tries to set a default value from the first suitable of the 3680.Ev SHELL 3681environment variable, the shell returned by 3682.Xr getpwuid 3 , 3683or 3684.Pa /bin/sh . 3685This option should be configured when 3686.Nm 3687is used as a login shell. 3688.It Ic default-size Ar XxY 3689Set the default size of new windows when the 3690.Ic window-size 3691option is set to manual or when a session is created with 3692.Ic new-session 3693.Fl d . 3694The value is the width and height separated by an 3695.Ql x 3696character. 3697The default is 80x24. 3698.It Xo Ic destroy-unattached 3699.Op Ic on | off 3700.Xc 3701If enabled and the session is no longer attached to any clients, it is 3702destroyed. 3703.It Xo Ic detach-on-destroy 3704.Op Ic off | on | no-detached 3705.Xc 3706If on (the default), the client is detached when the session it is attached to 3707is destroyed. 3708If off, the client is switched to the most recently active of the remaining 3709sessions. 3710If 3711.Ic no-detached , 3712the client is detached only if there are no detached sessions; if detached 3713sessions exist, the client is switched to the most recently active. 3714.It Ic display-panes-active-colour Ar colour 3715Set the colour used by the 3716.Ic display-panes 3717command to show the indicator for the active pane. 3718.It Ic display-panes-colour Ar colour 3719Set the colour used by the 3720.Ic display-panes 3721command to show the indicators for inactive panes. 3722.It Ic display-panes-time Ar time 3723Set the time in milliseconds for which the indicators shown by the 3724.Ic display-panes 3725command appear. 3726.It Ic display-time Ar time 3727Set the amount of time for which status line messages and other on-screen 3728indicators are displayed. 3729If set to 0, messages and indicators are displayed until a key is pressed. 3730.Ar time 3731is in milliseconds. 3732.It Ic history-limit Ar lines 3733Set the maximum number of lines held in window history. 3734This setting applies only to new windows - existing window histories are not 3735resized and retain the limit at the point they were created. 3736.It Ic key-table Ar key-table 3737Set the default key table to 3738.Ar key-table 3739instead of 3740.Em root . 3741.It Ic lock-after-time Ar number 3742Lock the session (like the 3743.Ic lock-session 3744command) after 3745.Ar number 3746seconds of inactivity. 3747The default is not to lock (set to 0). 3748.It Ic lock-command Ar shell-command 3749Command to run when locking each client. 3750The default is to run 3751.Xr lock 1 3752with 3753.Fl np . 3754.It Ic message-command-style Ar style 3755Set status line message command style. 3756This is used for the command prompt with 3757.Xr vi 1 3758keys when in command mode. 3759For how to specify 3760.Ar style , 3761see the 3762.Sx STYLES 3763section. 3764.It Ic message-style Ar style 3765Set status line message style. 3766This is used for messages and for the command prompt. 3767For how to specify 3768.Ar style , 3769see the 3770.Sx STYLES 3771section. 3772.It Xo Ic mouse 3773.Op Ic on | off 3774.Xc 3775If on, 3776.Nm 3777captures the mouse and allows mouse events to be bound as key bindings. 3778See the 3779.Sx MOUSE SUPPORT 3780section for details. 3781.It Ic prefix Ar key 3782Set the key accepted as a prefix key. 3783In addition to the standard keys described under 3784.Sx KEY BINDINGS , 3785.Ic prefix 3786can be set to the special key 3787.Ql None 3788to set no prefix. 3789.It Ic prefix2 Ar key 3790Set a secondary key accepted as a prefix key. 3791Like 3792.Ic prefix , 3793.Ic prefix2 3794can be set to 3795.Ql None . 3796.It Xo Ic renumber-windows 3797.Op Ic on | off 3798.Xc 3799If on, when a window is closed in a session, automatically renumber the other 3800windows in numerical order. 3801This respects the 3802.Ic base-index 3803option if it has been set. 3804If off, do not renumber the windows. 3805.It Ic repeat-time Ar time 3806Allow multiple commands to be entered without pressing the prefix-key again 3807in the specified 3808.Ar time 3809milliseconds (the default is 500). 3810Whether a key repeats may be set when it is bound using the 3811.Fl r 3812flag to 3813.Ic bind-key . 3814Repeat is enabled for the default keys bound to the 3815.Ic resize-pane 3816command. 3817.It Xo Ic set-titles 3818.Op Ic on | off 3819.Xc 3820Attempt to set the client terminal title using the 3821.Em tsl 3822and 3823.Em fsl 3824.Xr terminfo 5 3825entries if they exist. 3826.Nm 3827automatically sets these to the \ee]0;...\e007 sequence if 3828the terminal appears to be 3829.Xr xterm 1 . 3830This option is off by default. 3831.It Ic set-titles-string Ar string 3832String used to set the client terminal title if 3833.Ic set-titles 3834is on. 3835Formats are expanded, see the 3836.Sx FORMATS 3837section. 3838.It Xo Ic silence-action 3839.Op Ic any | none | current | other 3840.Xc 3841Set action on window silence when 3842.Ic monitor-silence 3843is on. 3844The values are the same as those for 3845.Ic activity-action . 3846.It Xo Ic status 3847.Op Ic off | on | 2 | 3 | 4 | 5 3848.Xc 3849Show or hide the status line or specify its size. 3850Using 3851.Ic on 3852gives a status line one row in height; 3853.Ic 2 , 3854.Ic 3 , 3855.Ic 4 3856or 3857.Ic 5 3858more rows. 3859.It Ic status-format[] Ar format 3860Specify the format to be used for each line of the status line. 3861The default builds the top status line from the various individual status 3862options below. 3863.It Ic status-interval Ar interval 3864Update the status line every 3865.Ar interval 3866seconds. 3867By default, updates will occur every 15 seconds. 3868A setting of zero disables redrawing at interval. 3869.It Xo Ic status-justify 3870.Op Ic left | centre | right | absolute-centre 3871.Xc 3872Set the position of the window list in the status line: left, centre or right. 3873centre puts the window list in the relative centre of the available free space; 3874absolute-centre uses the centre of the entire horizontal space. 3875.It Xo Ic status-keys 3876.Op Ic vi | emacs 3877.Xc 3878Use vi or emacs-style 3879key bindings in the status line, for example at the command prompt. 3880The default is emacs, unless the 3881.Ev VISUAL 3882or 3883.Ev EDITOR 3884environment variables are set and contain the string 3885.Ql vi . 3886.It Ic status-left Ar string 3887Display 3888.Ar string 3889(by default the session name) to the left of the status line. 3890.Ar string 3891will be passed through 3892.Xr strftime 3 . 3893Also see the 3894.Sx FORMATS 3895and 3896.Sx STYLES 3897sections. 3898.Pp 3899For details on how the names and titles can be set see the 3900.Sx "NAMES AND TITLES" 3901section. 3902.Pp 3903Examples are: 3904.Bd -literal -offset indent 3905#(sysctl vm.loadavg) 3906#[fg=yellow,bold]#(apm -l)%%#[default] [#S] 3907.Ed 3908.Pp 3909The default is 3910.Ql "[#S] " . 3911.It Ic status-left-length Ar length 3912Set the maximum 3913.Ar length 3914of the left component of the status line. 3915The default is 10. 3916.It Ic status-left-style Ar style 3917Set the style of the left part of the status line. 3918For how to specify 3919.Ar style , 3920see the 3921.Sx STYLES 3922section. 3923.It Xo Ic status-position 3924.Op Ic top | bottom 3925.Xc 3926Set the position of the status line. 3927.It Ic status-right Ar string 3928Display 3929.Ar string 3930to the right of the status line. 3931By default, the current pane title in double quotes, the date and the time 3932are shown. 3933As with 3934.Ic status-left , 3935.Ar string 3936will be passed to 3937.Xr strftime 3 3938and character pairs are replaced. 3939.It Ic status-right-length Ar length 3940Set the maximum 3941.Ar length 3942of the right component of the status line. 3943The default is 40. 3944.It Ic status-right-style Ar style 3945Set the style of the right part of the status line. 3946For how to specify 3947.Ar style , 3948see the 3949.Sx STYLES 3950section. 3951.It Ic status-style Ar style 3952Set status line style. 3953For how to specify 3954.Ar style , 3955see the 3956.Sx STYLES 3957section. 3958.It Ic update-environment[] Ar variable 3959Set list of environment variables to be copied into the session environment 3960when a new session is created or an existing session is attached. 3961Any variables that do not exist in the source environment are set to be 3962removed from the session environment (as if 3963.Fl r 3964was given to the 3965.Ic set-environment 3966command). 3967.It Xo Ic visual-activity 3968.Op Ic on | off | both 3969.Xc 3970If on, display a message instead of sending a bell when activity occurs in a 3971window for which the 3972.Ic monitor-activity 3973window option is enabled. 3974If set to both, a bell and a message are produced. 3975.It Xo Ic visual-bell 3976.Op Ic on | off | both 3977.Xc 3978If on, a message is shown on a bell in a window for which the 3979.Ic monitor-bell 3980window option is enabled instead of it being passed through to the 3981terminal (which normally makes a sound). 3982If set to both, a bell and a message are produced. 3983Also see the 3984.Ic bell-action 3985option. 3986.It Xo Ic visual-silence 3987.Op Ic on | off | both 3988.Xc 3989If 3990.Ic monitor-silence 3991is enabled, prints a message after the interval has expired on a given window 3992instead of sending a bell. 3993If set to both, a bell and a message are produced. 3994.It Ic word-separators Ar string 3995Sets the session's conception of what characters are considered word 3996separators, for the purposes of the next and previous word commands in 3997copy mode. 3998.Pp 3999Available window options are: 4000.Pp 4001.Bl -tag -width Ds -compact 4002.It Xo Ic aggressive-resize 4003.Op Ic on | off 4004.Xc 4005Aggressively resize the chosen window. 4006This means that 4007.Nm 4008will resize the window to the size of the smallest or largest session 4009(see the 4010.Ic window-size 4011option) for which it is the current window, rather than the session to 4012which it is attached. 4013The window may resize when the current window is changed on another 4014session; this option is good for full-screen programs which support 4015.Dv SIGWINCH 4016and poor for interactive programs such as shells. 4017.Pp 4018.It Xo Ic automatic-rename 4019.Op Ic on | off 4020.Xc 4021Control automatic window renaming. 4022When this setting is enabled, 4023.Nm 4024will rename the window automatically using the format specified by 4025.Ic automatic-rename-format . 4026This flag is automatically disabled for an individual window when a name 4027is specified at creation with 4028.Ic new-window 4029or 4030.Ic new-session , 4031or later with 4032.Ic rename-window , 4033or with a terminal escape sequence. 4034It may be switched off globally with: 4035.Bd -literal -offset indent 4036set-option -wg automatic-rename off 4037.Ed 4038.Pp 4039.It Ic automatic-rename-format Ar format 4040The format (see 4041.Sx FORMATS ) 4042used when the 4043.Ic automatic-rename 4044option is enabled. 4045.Pp 4046.It Ic clock-mode-colour Ar colour 4047Set clock colour. 4048.Pp 4049.It Xo Ic clock-mode-style 4050.Op Ic 12 | 24 4051.Xc 4052Set clock hour format. 4053.Pp 4054.It Ic main-pane-height Ar height 4055.It Ic main-pane-width Ar width 4056Set the width or height of the main (left or top) pane in the 4057.Ic main-horizontal 4058or 4059.Ic main-vertical 4060layouts. 4061If suffixed by 4062.Ql % , 4063this is a percentage of the window size. 4064.Pp 4065.It Ic copy-mode-match-style Ar style 4066Set the style of search matches in copy mode. 4067For how to specify 4068.Ar style , 4069see the 4070.Sx STYLES 4071section. 4072.Pp 4073.It Ic copy-mode-mark-style Ar style 4074Set the style of the line containing the mark in copy mode. 4075For how to specify 4076.Ar style , 4077see the 4078.Sx STYLES 4079section. 4080.Pp 4081.It Ic copy-mode-current-match-style Ar style 4082Set the style of the current search match in copy mode. 4083For how to specify 4084.Ar style , 4085see the 4086.Sx STYLES 4087section. 4088.Pp 4089.It Xo Ic mode-keys 4090.Op Ic vi | emacs 4091.Xc 4092Use vi or emacs-style key bindings in copy mode. 4093The default is emacs, unless 4094.Ev VISUAL 4095or 4096.Ev EDITOR 4097contains 4098.Ql vi . 4099.Pp 4100.It Ic mode-style Ar style 4101Set window modes style. 4102For how to specify 4103.Ar style , 4104see the 4105.Sx STYLES 4106section. 4107.Pp 4108.It Xo Ic monitor-activity 4109.Op Ic on | off 4110.Xc 4111Monitor for activity in the window. 4112Windows with activity are highlighted in the status line. 4113.Pp 4114.It Xo Ic monitor-bell 4115.Op Ic on | off 4116.Xc 4117Monitor for a bell in the window. 4118Windows with a bell are highlighted in the status line. 4119.Pp 4120.It Xo Ic monitor-silence 4121.Op Ic interval 4122.Xc 4123Monitor for silence (no activity) in the window within 4124.Ic interval 4125seconds. 4126Windows that have been silent for the interval are highlighted in the 4127status line. 4128An interval of zero disables the monitoring. 4129.Pp 4130.It Ic other-pane-height Ar height 4131Set the height of the other panes (not the main pane) in the 4132.Ic main-horizontal 4133layout. 4134If this option is set to 0 (the default), it will have no effect. 4135If both the 4136.Ic main-pane-height 4137and 4138.Ic other-pane-height 4139options are set, the main pane will grow taller to make the other panes the 4140specified height, but will never shrink to do so. 4141If suffixed by 4142.Ql % , 4143this is a percentage of the window size. 4144.Pp 4145.It Ic other-pane-width Ar width 4146Like 4147.Ic other-pane-height , 4148but set the width of other panes in the 4149.Ic main-vertical 4150layout. 4151.Pp 4152.It Ic pane-active-border-style Ar style 4153Set the pane border style for the currently active pane. 4154For how to specify 4155.Ar style , 4156see the 4157.Sx STYLES 4158section. 4159Attributes are ignored. 4160.It Ic pane-base-index Ar index 4161Like 4162.Ic base-index , 4163but set the starting index for pane numbers. 4164.Pp 4165.It Ic pane-border-format Ar format 4166Set the text shown in pane border status lines. 4167.Pp 4168.It Ic pane-border-lines Ar type 4169Set the type of characters used for drawing pane borders. 4170.Ar type 4171may be one of: 4172.Bl -tag -width Ds 4173.It single 4174single lines using ACS or UTF-8 characters 4175.It double 4176double lines using UTF-8 characters 4177.It heavy 4178heavy lines using UTF-8 characters 4179.It simple 4180simple ASCII characters 4181.It number 4182the pane number 4183.El 4184.Pp 4185.Ql double 4186and 4187.Ql heavy 4188will fall back to standard ACS line drawing when UTF-8 is not supported. 4189.Pp 4190.It Xo Ic pane-border-status 4191.Op Ic off | top | bottom 4192.Xc 4193Turn pane border status lines off or set their position. 4194.Pp 4195.It Ic pane-border-style Ar style 4196Set the pane border style for panes aside from the active pane. 4197For how to specify 4198.Ar style , 4199see the 4200.Sx STYLES 4201section. 4202Attributes are ignored. 4203.Pp 4204.It Ic window-status-activity-style Ar style 4205Set status line style for windows with an activity alert. 4206For how to specify 4207.Ar style , 4208see the 4209.Sx STYLES 4210section. 4211.Pp 4212.It Ic window-status-bell-style Ar style 4213Set status line style for windows with a bell alert. 4214For how to specify 4215.Ar style , 4216see the 4217.Sx STYLES 4218section. 4219.Pp 4220.It Ic window-status-current-format Ar string 4221Like 4222.Ar window-status-format , 4223but is the format used when the window is the current window. 4224.Pp 4225.It Ic window-status-current-style Ar style 4226Set status line style for the currently active window. 4227For how to specify 4228.Ar style , 4229see the 4230.Sx STYLES 4231section. 4232.Pp 4233.It Ic window-status-format Ar string 4234Set the format in which the window is displayed in the status line window list. 4235See the 4236.Sx FORMATS 4237and 4238.Sx STYLES 4239sections. 4240.Pp 4241.It Ic window-status-last-style Ar style 4242Set status line style for the last active window. 4243For how to specify 4244.Ar style , 4245see the 4246.Sx STYLES 4247section. 4248.Pp 4249.It Ic window-status-separator Ar string 4250Sets the separator drawn between windows in the status line. 4251The default is a single space character. 4252.Pp 4253.It Ic window-status-style Ar style 4254Set status line style for a single window. 4255For how to specify 4256.Ar style , 4257see the 4258.Sx STYLES 4259section. 4260.Pp 4261.It Xo Ic window-size 4262.Ar largest | Ar smallest | Ar manual | Ar latest 4263.Xc 4264Configure how 4265.Nm 4266determines the window size. 4267If set to 4268.Ar largest , 4269the size of the largest attached session is used; if 4270.Ar smallest , 4271the size of the smallest. 4272If 4273.Ar manual , 4274the size of a new window is set from the 4275.Ic default-size 4276option and windows are resized automatically. 4277With 4278.Ar latest , 4279.Nm 4280uses the size of the client that had the most recent activity. 4281See also the 4282.Ic resize-window 4283command and the 4284.Ic aggressive-resize 4285option. 4286.Pp 4287.It Xo Ic wrap-search 4288.Op Ic on | off 4289.Xc 4290If this option is set, searches will wrap around the end of the pane contents. 4291The default is on. 4292.El 4293.Pp 4294Available pane options are: 4295.Pp 4296.Bl -tag -width Ds -compact 4297.It Xo Ic allow-rename 4298.Op Ic on | off 4299.Xc 4300Allow programs in the pane to change the window name using a terminal escape 4301sequence (\eek...\ee\e\e). 4302.Pp 4303.It Xo Ic alternate-screen 4304.Op Ic on | off 4305.Xc 4306This option configures whether programs running inside the pane may use the 4307terminal alternate screen feature, which allows the 4308.Em smcup 4309and 4310.Em rmcup 4311.Xr terminfo 5 4312capabilities. 4313The alternate screen feature preserves the contents of the window when an 4314interactive application starts and restores it on exit, so that any output 4315visible before the application starts reappears unchanged after it exits. 4316.Pp 4317.It Ic pane-colours[] Ar colour 4318The default colour palette. 4319Each entry in the array defines the colour 4320.Nm 4321uses when the colour with that index is requested. 4322The index may be from zero to 255. 4323.Pp 4324.It Xo Ic remain-on-exit 4325.Op Ic on | off | failed 4326.Xc 4327A pane with this flag set is not destroyed when the program running in it 4328exits. 4329If set to 4330.Ic failed , 4331then only when the program exit status is not zero. 4332The pane may be reactivated with the 4333.Ic respawn-pane 4334command. 4335.Pp 4336.It Xo Ic synchronize-panes 4337.Op Ic on | off 4338.Xc 4339Duplicate input to all other panes in the same window where this option is also 4340on (only for panes that are not in any mode). 4341.Pp 4342.It Ic window-active-style Ar style 4343Set the pane style when it is the active pane. 4344For how to specify 4345.Ar style , 4346see the 4347.Sx STYLES 4348section. 4349.Pp 4350.It Ic window-style Ar style 4351Set the pane style. 4352For how to specify 4353.Ar style , 4354see the 4355.Sx STYLES 4356section. 4357.El 4358.El 4359.Sh HOOKS 4360.Nm 4361allows commands to run on various triggers, called 4362.Em hooks . 4363Most 4364.Nm 4365commands have an 4366.Em after 4367hook and there are a number of hooks not associated with commands. 4368.Pp 4369Hooks are stored as array options, members of the array are executed in 4370order when the hook is triggered. 4371Like options different hooks may be global or belong to a session, window or pane. 4372Hooks may be configured with the 4373.Ic set-hook 4374or 4375.Ic set-option 4376commands and displayed with 4377.Ic show-hooks 4378or 4379.Ic show-options 4380.Fl H . 4381The following two commands are equivalent: 4382.Bd -literal -offset indent. 4383set-hook -g pane-mode-changed[42] 'set -g status-left-style bg=red' 4384set-option -g pane-mode-changed[42] 'set -g status-left-style bg=red' 4385.Ed 4386.Pp 4387Setting a hook without specifying an array index clears the hook and sets the 4388first member of the array. 4389.Pp 4390A command's after 4391hook is run after it completes, except when the command is run as part of a hook 4392itself. 4393They are named with an 4394.Ql after- 4395prefix. 4396For example, the following command adds a hook to select the even-vertical 4397layout after every 4398.Ic split-window : 4399.Bd -literal -offset indent 4400set-hook -g after-split-window "selectl even-vertical" 4401.Ed 4402.Pp 4403All the notifications listed in the 4404.Sx CONTROL MODE 4405section are hooks (without any arguments), except 4406.Ic %exit . 4407The following additional hooks are available: 4408.Bl -tag -width "XXXXXXXXXXXXXXXXXXXXXX" 4409.It alert-activity 4410Run when a window has activity. 4411See 4412.Ic monitor-activity . 4413.It alert-bell 4414Run when a window has received a bell. 4415See 4416.Ic monitor-bell . 4417.It alert-silence 4418Run when a window has been silent. 4419See 4420.Ic monitor-silence . 4421.It client-active 4422Run when a client becomes the latest active client of its session. 4423.It client-attached 4424Run when a client is attached. 4425.It client-detached 4426Run when a client is detached 4427.It client-focus-in 4428Run when focus enters a client 4429.It client-focus-out 4430Run when focus exits a client 4431.It client-resized 4432Run when a client is resized. 4433.It client-session-changed 4434Run when a client's attached session is changed. 4435.It pane-died 4436Run when the program running in a pane exits, but 4437.Ic remain-on-exit 4438is on so the pane has not closed. 4439.It pane-exited 4440Run when the program running in a pane exits. 4441.It pane-focus-in 4442Run when the focus enters a pane, if the 4443.Ic focus-events 4444option is on. 4445.It pane-focus-out 4446Run when the focus exits a pane, if the 4447.Ic focus-events 4448option is on. 4449.It pane-set-clipboard 4450Run when the terminal clipboard is set using the 4451.Xr xterm 1 4452escape sequence. 4453.It session-created 4454Run when a new session created. 4455.It session-closed 4456Run when a session closed. 4457.It session-renamed 4458Run when a session is renamed. 4459.It window-linked 4460Run when a window is linked into a session. 4461.It window-renamed 4462Run when a window is renamed. 4463.It window-unlinked 4464Run when a window is unlinked from a session. 4465.El 4466.Pp 4467Hooks are managed with these commands: 4468.Bl -tag -width Ds 4469.It Xo Ic set-hook 4470.Op Fl agpRuw 4471.Op Fl t Ar target-pane 4472.Ar hook-name 4473.Ar command 4474.Xc 4475Without 4476.Fl R , 4477sets (or with 4478.Fl u 4479unsets) hook 4480.Ar hook-name 4481to 4482.Ar command . 4483The flags are the same as for 4484.Ic set-option . 4485.Pp 4486With 4487.Fl R , 4488run 4489.Ar hook-name 4490immediately. 4491.It Xo Ic show-hooks 4492.Op Fl gpw 4493.Op Fl t Ar target-pane 4494.Xc 4495Shows hooks. 4496The flags are the same as for 4497.Ic show-options . 4498.El 4499.Sh MOUSE SUPPORT 4500If the 4501.Ic mouse 4502option is on (the default is off), 4503.Nm 4504allows mouse events to be bound as keys. 4505The name of each key is made up of a mouse event (such as 4506.Ql MouseUp1 ) 4507and a location suffix, one of the following: 4508.Bl -column "XXXXXXXXXXXXX" -offset indent 4509.It Li "Pane" Ta "the contents of a pane" 4510.It Li "Border" Ta "a pane border" 4511.It Li "Status" Ta "the status line window list" 4512.It Li "StatusLeft" Ta "the left part of the status line" 4513.It Li "StatusRight" Ta "the right part of the status line" 4514.It Li "StatusDefault" Ta "any other part of the status line" 4515.El 4516.Pp 4517The following mouse events are available: 4518.Bl -column "MouseDown1" "MouseDrag1" "WheelDown" -offset indent 4519.It Li "WheelUp" Ta "WheelDown" Ta "" 4520.It Li "MouseDown1" Ta "MouseUp1" Ta "MouseDrag1" Ta "MouseDragEnd1" 4521.It Li "MouseDown2" Ta "MouseUp2" Ta "MouseDrag2" Ta "MouseDragEnd2" 4522.It Li "MouseDown3" Ta "MouseUp3" Ta "MouseDrag3" Ta "MouseDragEnd3" 4523.It Li "SecondClick1" Ta "SecondClick2" Ta "SecondClick3" 4524.It Li "DoubleClick1" Ta "DoubleClick2" Ta "DoubleClick3" 4525.It Li "TripleClick1" Ta "TripleClick2" Ta "TripleClick3" 4526.El 4527.Pp 4528The 4529.Ql SecondClick 4530events are fired for the second click of a double click, even if there may be a 4531third click which will fire 4532.Ql TripleClick 4533instead of 4534.Ql DoubleClick . 4535.Pp 4536Each should be suffixed with a location, for example 4537.Ql MouseDown1Status . 4538.Pp 4539The special token 4540.Ql {mouse} 4541or 4542.Ql = 4543may be used as 4544.Ar target-window 4545or 4546.Ar target-pane 4547in commands bound to mouse key bindings. 4548It resolves to the window or pane over which the mouse event took place 4549(for example, the window in the status line over which button 1 was released for a 4550.Ql MouseUp1Status 4551binding, or the pane over which the wheel was scrolled for a 4552.Ql WheelDownPane 4553binding). 4554.Pp 4555The 4556.Ic send-keys 4557.Fl M 4558flag may be used to forward a mouse event to a pane. 4559.Pp 4560The default key bindings allow the mouse to be used to select and resize panes, 4561to copy text and to change window using the status line. 4562These take effect if the 4563.Ic mouse 4564option is turned on. 4565.Sh FORMATS 4566Certain commands accept the 4567.Fl F 4568flag with a 4569.Ar format 4570argument. 4571This is a string which controls the output format of the command. 4572Format variables are enclosed in 4573.Ql #{ 4574and 4575.Ql } , 4576for example 4577.Ql #{session_name} . 4578The possible variables are listed in the table below, or the name of a 4579.Nm 4580option may be used for an option's value. 4581Some variables have a shorter alias such as 4582.Ql #S ; 4583.Ql ## 4584is replaced by a single 4585.Ql # , 4586.Ql #, 4587by a 4588.Ql \&, 4589and 4590.Ql #} 4591by a 4592.Ql } . 4593.Pp 4594Conditionals are available by prefixing with 4595.Ql \&? 4596and separating two alternatives with a comma; 4597if the specified variable exists and is not zero, the first alternative 4598is chosen, otherwise the second is used. 4599For example 4600.Ql #{?session_attached,attached,not attached} 4601will include the string 4602.Ql attached 4603if the session is attached and the string 4604.Ql not attached 4605if it is unattached, or 4606.Ql #{?automatic-rename,yes,no} 4607will include 4608.Ql yes 4609if 4610.Ic automatic-rename 4611is enabled, or 4612.Ql no 4613if not. 4614Conditionals can be nested arbitrarily. 4615Inside a conditional, 4616.Ql \&, 4617and 4618.Ql } 4619must be escaped as 4620.Ql #, 4621and 4622.Ql #} , 4623unless they are part of a 4624.Ql #{...} 4625replacement. 4626For example: 4627.Bd -literal -offset indent 4628#{?pane_in_mode,#[fg=white#,bg=red],#[fg=red#,bg=white]}#W . 4629.Ed 4630.Pp 4631String comparisons may be expressed by prefixing two comma-separated 4632alternatives by 4633.Ql == , 4634.Ql != , 4635.Ql < , 4636.Ql > , 4637.Ql <= 4638or 4639.Ql >= 4640and a colon. 4641For example 4642.Ql #{==:#{host},myhost} 4643will be replaced by 4644.Ql 1 4645if running on 4646.Ql myhost , 4647otherwise by 4648.Ql 0 . 4649.Ql || 4650and 4651.Ql && 4652evaluate to true if either or both of two comma-separated alternatives are 4653true, for example 4654.Ql #{||:#{pane_in_mode},#{alternate_on}} . 4655.Pp 4656An 4657.Ql m 4658specifies an 4659.Xr fnmatch 3 4660or regular expression comparison. 4661The first argument is the pattern and the second the string to compare. 4662An optional argument specifies flags: 4663.Ql r 4664means the pattern is a regular expression instead of the default 4665.Xr fnmatch 3 4666pattern, and 4667.Ql i 4668means to ignore case. 4669For example: 4670.Ql #{m:*foo*,#{host}} 4671or 4672.Ql #{m/ri:^A,MYVAR} . 4673A 4674.Ql C 4675performs a search for an 4676.Xr fnmatch 3 4677pattern or regular expression in the pane content and evaluates to zero if not 4678found, or a line number if found. 4679Like 4680.Ql m , 4681an 4682.Ql r 4683flag means search for a regular expression and 4684.Ql i 4685ignores case. 4686For example: 4687.Ql #{C/r:^Start} 4688.Pp 4689Numeric operators may be performed by prefixing two comma-separated alternatives with an 4690.Ql e 4691and an operator. 4692An optional 4693.Ql f 4694flag may be given after the operator to use floating point numbers, otherwise integers are used. 4695This may be followed by a number giving the number of decimal places to use for the result. 4696The available operators are: 4697addition 4698.Ql + , 4699subtraction 4700.Ql - , 4701multiplication 4702.Ql * , 4703division 4704.Ql / , 4705modulus 4706.Ql m 4707or 4708.Ql % 4709(note that 4710.Ql % 4711must be escaped as 4712.Ql %% 4713in formats which are also expanded by 4714.Xr strftime 3 ) 4715and numeric comparison operators 4716.Ql == , 4717.Ql != , 4718.Ql < , 4719.Ql <= , 4720.Ql > 4721and 4722.Ql >= . 4723For example, 4724.Ql #{e|*|f|4:5.5,3} 4725multiplies 5.5 by 3 for a result with four decimal places and 4726.Ql #{e|%%:7,3} 4727returns the modulus of 7 and 3. 4728.Ql a 4729replaces a numeric argument by its ASCII equivalent, so 4730.Ql #{a:98} 4731results in 4732.Ql b . 4733.Pp 4734A limit may be placed on the length of the resultant string by prefixing it 4735by an 4736.Ql = , 4737a number and a colon. 4738Positive numbers count from the start of the string and negative from the end, 4739so 4740.Ql #{=5:pane_title} 4741will include at most the first five characters of the pane title, or 4742.Ql #{=-5:pane_title} 4743the last five characters. 4744A suffix or prefix may be given as a second argument - if provided then it is 4745appended or prepended to the string if the length has been trimmed, for example 4746.Ql #{=/5/...:pane_title} 4747will append 4748.Ql ... 4749if the pane title is more than five characters. 4750Similarly, 4751.Ql p 4752pads the string to a given width, for example 4753.Ql #{p10:pane_title} 4754will result in a width of at least 10 characters. 4755A positive width pads on the left, a negative on the right. 4756.Ql n 4757expands to the length of the variable and 4758.Ql w 4759to its width when displayed, for example 4760.Ql #{n:window_name} . 4761.Pp 4762Prefixing a time variable with 4763.Ql t:\& 4764will convert it to a string, so if 4765.Ql #{window_activity} 4766gives 4767.Ql 1445765102 , 4768.Ql #{t:window_activity} 4769gives 4770.Ql Sun Oct 25 09:25:02 2015 . 4771Adding 4772.Ql p ( 4773.Ql `t/p` ) 4774will use shorter but less accurate time format for times in the past. 4775A custom format may be given using an 4776.Ql f 4777suffix (note that 4778.Ql % 4779must be escaped as 4780.Ql %% 4781if the format is separately being passed through 4782.Xr strftime 3 , 4783for example in the 4784.Ic status-left 4785option): 4786.Ql #{t/f/%%H#:%%M:window_activity} , 4787see 4788.Xr strftime 3 . 4789.Pp 4790The 4791.Ql b:\& 4792and 4793.Ql d:\& 4794prefixes are 4795.Xr basename 3 4796and 4797.Xr dirname 3 4798of the variable respectively. 4799.Ql q:\& 4800will escape 4801.Xr sh 1 4802special characters or with a 4803.Ql h 4804suffix, escape hash characters (so 4805.Ql # 4806becomes 4807.Ql ## ) . 4808.Ql E:\& 4809will expand the format twice, for example 4810.Ql #{E:status-left} 4811is the result of expanding the content of the 4812.Ic status-left 4813option rather than the option itself. 4814.Ql T:\& 4815is like 4816.Ql E:\& 4817but also expands 4818.Xr strftime 3 4819specifiers. 4820.Ql S:\& , 4821.Ql W:\& 4822or 4823.Ql P:\& 4824will loop over each session, window or pane and insert the format once 4825for each. 4826For windows and panes, two comma-separated formats may be given: 4827the second is used for the current window or active pane. 4828For example, to get a list of windows formatted like the status line: 4829.Bd -literal -offset indent 4830#{W:#{E:window-status-format} ,#{E:window-status-current-format} } 4831.Ed 4832.Pp 4833.Ql N:\& 4834checks if a window (without any suffix or with the 4835.Ql w 4836suffix) or a session (with the 4837.Ql s 4838suffix) name exists, for example 4839.Ql `N/w:foo` 4840is replaced with 1 if a window named 4841.Ql foo 4842exists. 4843.Pp 4844A prefix of the form 4845.Ql s/foo/bar/:\& 4846will substitute 4847.Ql foo 4848with 4849.Ql bar 4850throughout. 4851The first argument may be an extended regular expression and a final argument may be 4852.Ql i 4853to ignore case, for example 4854.Ql s/a(.)/\e1x/i:\& 4855would change 4856.Ql abABab 4857into 4858.Ql bxBxbx . 4859.Pp 4860In addition, the last line of a shell command's output may be inserted using 4861.Ql #() . 4862For example, 4863.Ql #(uptime) 4864will insert the system's uptime. 4865When constructing formats, 4866.Nm 4867does not wait for 4868.Ql #() 4869commands to finish; instead, the previous result from running the same command is used, 4870or a placeholder if the command has not been run before. 4871If the command hasn't exited, the most recent line of output will be used, but the status 4872line will not be updated more than once a second. 4873Commands are executed with the 4874.Nm 4875global environment set (see the 4876.Sx GLOBAL AND SESSION ENVIRONMENT 4877section). 4878.Pp 4879An 4880.Ql l 4881specifies that a string should be interpreted literally and not expanded. 4882For example 4883.Ql #{l:#{?pane_in_mode,yes,no}} 4884will be replaced by 4885.Ql #{?pane_in_mode,yes,no} . 4886.Pp 4887The following variables are available, where appropriate: 4888.Bl -column "XXXXXXXXXXXXXXXXXXX" "XXXXX" 4889.It Sy "Variable name" Ta Sy "Alias" Ta Sy "Replaced with" 4890.It Li "active_window_index" Ta "" Ta "Index of active window in session" 4891.It Li "alternate_on" Ta "" Ta "1 if pane is in alternate screen" 4892.It Li "alternate_saved_x" Ta "" Ta "Saved cursor X in alternate screen" 4893.It Li "alternate_saved_y" Ta "" Ta "Saved cursor Y in alternate screen" 4894.It Li "buffer_created" Ta "" Ta "Time buffer created" 4895.It Li "buffer_name" Ta "" Ta "Name of buffer" 4896.It Li "buffer_sample" Ta "" Ta "Sample of start of buffer" 4897.It Li "buffer_size" Ta "" Ta "Size of the specified buffer in bytes" 4898.It Li "client_activity" Ta "" Ta "Time client last had activity" 4899.It Li "client_cell_height" Ta "" Ta "Height of each client cell in pixels" 4900.It Li "client_cell_width" Ta "" Ta "Width of each client cell in pixels" 4901.It Li "client_control_mode" Ta "" Ta "1 if client is in control mode" 4902.It Li "client_created" Ta "" Ta "Time client created" 4903.It Li "client_discarded" Ta "" Ta "Bytes discarded when client behind" 4904.It Li "client_flags" Ta "" Ta "List of client flags" 4905.It Li "client_height" Ta "" Ta "Height of client" 4906.It Li "client_key_table" Ta "" Ta "Current key table" 4907.It Li "client_last_session" Ta "" Ta "Name of the client's last session" 4908.It Li "client_name" Ta "" Ta "Name of client" 4909.It Li "client_pid" Ta "" Ta "PID of client process" 4910.It Li "client_prefix" Ta "" Ta "1 if prefix key has been pressed" 4911.It Li "client_readonly" Ta "" Ta "1 if client is readonly" 4912.It Li "client_session" Ta "" Ta "Name of the client's session" 4913.It Li "client_termfeatures" Ta "" Ta "Terminal features of client, if any" 4914.It Li "client_termname" Ta "" Ta "Terminal name of client" 4915.It Li "client_termtype" Ta "" Ta "Terminal type of client, if available" 4916.It Li "client_tty" Ta "" Ta "Pseudo terminal of client" 4917.It Li "client_utf8" Ta "" Ta "1 if client supports UTF-8" 4918.It Li "client_width" Ta "" Ta "Width of client" 4919.It Li "client_written" Ta "" Ta "Bytes written to client" 4920.It Li "command" Ta "" Ta "Name of command in use, if any" 4921.It Li "command_list_alias" Ta "" Ta "Command alias if listing commands" 4922.It Li "command_list_name" Ta "" Ta "Command name if listing commands" 4923.It Li "command_list_usage" Ta "" Ta "Command usage if listing commands" 4924.It Li "config_files" Ta "" Ta "List of configuration files loaded" 4925.It Li "copy_cursor_line" Ta "" Ta "Line the cursor is on in copy mode" 4926.It Li "copy_cursor_word" Ta "" Ta "Word under cursor in copy mode" 4927.It Li "copy_cursor_x" Ta "" Ta "Cursor X position in copy mode" 4928.It Li "copy_cursor_y" Ta "" Ta "Cursor Y position in copy mode" 4929.It Li "current_file" Ta "" Ta "Current configuration file" 4930.It Li "cursor_character" Ta "" Ta "Character at cursor in pane" 4931.It Li "cursor_flag" Ta "" Ta "Pane cursor flag" 4932.It Li "cursor_x" Ta "" Ta "Cursor X position in pane" 4933.It Li "cursor_y" Ta "" Ta "Cursor Y position in pane" 4934.It Li "history_bytes" Ta "" Ta "Number of bytes in window history" 4935.It Li "history_limit" Ta "" Ta "Maximum window history lines" 4936.It Li "history_size" Ta "" Ta "Size of history in lines" 4937.It Li "hook" Ta "" Ta "Name of running hook, if any" 4938.It Li "hook_client" Ta "" Ta "Name of client where hook was run, if any" 4939.It Li "hook_pane" Ta "" Ta "ID of pane where hook was run, if any" 4940.It Li "hook_session" Ta "" Ta "ID of session where hook was run, if any" 4941.It Li "hook_session_name" Ta "" Ta "Name of session where hook was run, if any" 4942.It Li "hook_window" Ta "" Ta "ID of window where hook was run, if any" 4943.It Li "hook_window_name" Ta "" Ta "Name of window where hook was run, if any" 4944.It Li "host" Ta "#H" Ta "Hostname of local host" 4945.It Li "host_short" Ta "#h" Ta "Hostname of local host (no domain name)" 4946.It Li "insert_flag" Ta "" Ta "Pane insert flag" 4947.It Li "keypad_cursor_flag" Ta "" Ta "Pane keypad cursor flag" 4948.It Li "keypad_flag" Ta "" Ta "Pane keypad flag" 4949.It Li "last_window_index" Ta "" Ta "Index of last window in session" 4950.It Li "line" Ta "" Ta "Line number in the list" 4951.It Li "mouse_all_flag" Ta "" Ta "Pane mouse all flag" 4952.It Li "mouse_any_flag" Ta "" Ta "Pane mouse any flag" 4953.It Li "mouse_button_flag" Ta "" Ta "Pane mouse button flag" 4954.It Li "mouse_line" Ta "" Ta "Line under mouse, if any" 4955.It Li "mouse_sgr_flag" Ta "" Ta "Pane mouse SGR flag" 4956.It Li "mouse_standard_flag" Ta "" Ta "Pane mouse standard flag" 4957.It Li "mouse_utf8_flag" Ta "" Ta "Pane mouse UTF-8 flag" 4958.It Li "mouse_word" Ta "" Ta "Word under mouse, if any" 4959.It Li "mouse_x" Ta "" Ta "Mouse X position, if any" 4960.It Li "mouse_y" Ta "" Ta "Mouse Y position, if any" 4961.It Li "origin_flag" Ta "" Ta "Pane origin flag" 4962.It Li "pane_active" Ta "" Ta "1 if active pane" 4963.It Li "pane_at_bottom" Ta "" Ta "1 if pane is at the bottom of window" 4964.It Li "pane_at_left" Ta "" Ta "1 if pane is at the left of window" 4965.It Li "pane_at_right" Ta "" Ta "1 if pane is at the right of window" 4966.It Li "pane_at_top" Ta "" Ta "1 if pane is at the top of window" 4967.It Li "pane_bg" Ta "" Ta "Pane background colour" 4968.It Li "pane_bottom" Ta "" Ta "Bottom of pane" 4969.It Li "pane_current_command" Ta "" Ta "Current command if available" 4970.It Li "pane_current_path" Ta "" Ta "Current path if available" 4971.It Li "pane_dead" Ta "" Ta "1 if pane is dead" 4972.It Li "pane_dead_status" Ta "" Ta "Exit status of process in dead pane" 4973.It Li "pane_fg" Ta "" Ta "Pane foreground colour" 4974.It Li "pane_format" Ta "" Ta "1 if format is for a pane" 4975.It Li "pane_height" Ta "" Ta "Height of pane" 4976.It Li "pane_id" Ta "#D" Ta "Unique pane ID" 4977.It Li "pane_in_mode" Ta "" Ta "1 if pane is in a mode" 4978.It Li "pane_index" Ta "#P" Ta "Index of pane" 4979.It Li "pane_input_off" Ta "" Ta "1 if input to pane is disabled" 4980.It Li "pane_last" Ta "" Ta "1 if last pane" 4981.It Li "pane_left" Ta "" Ta "Left of pane" 4982.It Li "pane_marked" Ta "" Ta "1 if this is the marked pane" 4983.It Li "pane_marked_set" Ta "" Ta "1 if a marked pane is set" 4984.It Li "pane_mode" Ta "" Ta "Name of pane mode, if any" 4985.It Li "pane_path" Ta "" Ta "Path of pane (can be set by application)" 4986.It Li "pane_pid" Ta "" Ta "PID of first process in pane" 4987.It Li "pane_pipe" Ta "" Ta "1 if pane is being piped" 4988.It Li "pane_right" Ta "" Ta "Right of pane" 4989.It Li "pane_search_string" Ta "" Ta "Last search string in copy mode" 4990.It Li "pane_start_command" Ta "" Ta "Command pane started with" 4991.It Li "pane_synchronized" Ta "" Ta "1 if pane is synchronized" 4992.It Li "pane_tabs" Ta "" Ta "Pane tab positions" 4993.It Li "pane_title" Ta "#T" Ta "Title of pane (can be set by application)" 4994.It Li "pane_top" Ta "" Ta "Top of pane" 4995.It Li "pane_tty" Ta "" Ta "Pseudo terminal of pane" 4996.It Li "pane_width" Ta "" Ta "Width of pane" 4997.It Li "pid" Ta "" Ta "Server PID" 4998.It Li "rectangle_toggle" Ta "" Ta "1 if rectangle selection is activated" 4999.It Li "scroll_position" Ta "" Ta "Scroll position in copy mode" 5000.It Li "scroll_region_lower" Ta "" Ta "Bottom of scroll region in pane" 5001.It Li "scroll_region_upper" Ta "" Ta "Top of scroll region in pane" 5002.It Li "search_match" Ta "" Ta "Search match if any" 5003.It Li "search_present" Ta "" Ta "1 if search started in copy mode" 5004.It Li "selection_active" Ta "" Ta "1 if selection started and changes with the cursor in copy mode" 5005.It Li "selection_end_x" Ta "" Ta "X position of the end of the selection" 5006.It Li "selection_end_y" Ta "" Ta "Y position of the end of the selection" 5007.It Li "selection_present" Ta "" Ta "1 if selection started in copy mode" 5008.It Li "selection_start_x" Ta "" Ta "X position of the start of the selection" 5009.It Li "selection_start_y" Ta "" Ta "Y position of the start of the selection" 5010.It Li "session_activity" Ta "" Ta "Time of session last activity" 5011.It Li "session_alerts" Ta "" Ta "List of window indexes with alerts" 5012.It Li "session_attached" Ta "" Ta "Number of clients session is attached to" 5013.It Li "session_attached_list" Ta "" Ta "List of clients session is attached to" 5014.It Li "session_created" Ta "" Ta "Time session created" 5015.It Li "session_format" Ta "" Ta "1 if format is for a session" 5016.It Li "session_group" Ta "" Ta "Name of session group" 5017.It Li "session_group_attached" Ta "" Ta "Number of clients sessions in group are attached to" 5018.It Li "session_group_attached_list" Ta "" Ta "List of clients sessions in group are attached to" 5019.It Li "session_group_list" Ta "" Ta "List of sessions in group" 5020.It Li "session_group_many_attached" Ta "" Ta "1 if multiple clients attached to sessions in group" 5021.It Li "session_group_size" Ta "" Ta "Size of session group" 5022.It Li "session_grouped" Ta "" Ta "1 if session in a group" 5023.It Li "session_id" Ta "" Ta "Unique session ID" 5024.It Li "session_last_attached" Ta "" Ta "Time session last attached" 5025.It Li "session_many_attached" Ta "" Ta "1 if multiple clients attached" 5026.It Li "session_marked" Ta "" Ta "1 if this session contains the marked pane" 5027.It Li "session_name" Ta "#S" Ta "Name of session" 5028.It Li "session_path" Ta "" Ta "Working directory of session" 5029.It Li "session_stack" Ta "" Ta "Window indexes in most recent order" 5030.It Li "session_windows" Ta "" Ta "Number of windows in session" 5031.It Li "socket_path" Ta "" Ta "Server socket path" 5032.It Li "start_time" Ta "" Ta "Server start time" 5033.It Li "version" Ta "" Ta "Server version" 5034.It Li "window_active" Ta "" Ta "1 if window active" 5035.It Li "window_active_clients" Ta "" Ta "Number of clients viewing this window" 5036.It Li "window_active_clients_list" Ta "" Ta "List of clients viewing this window" 5037.It Li "window_active_sessions" Ta "" Ta "Number of sessions on which this window is active" 5038.It Li "window_active_sessions_list" Ta "" Ta "List of sessions on which this window is active" 5039.It Li "window_activity" Ta "" Ta "Time of window last activity" 5040.It Li "window_activity_flag" Ta "" Ta "1 if window has activity" 5041.It Li "window_bell_flag" Ta "" Ta "1 if window has bell" 5042.It Li "window_bigger" Ta "" Ta "1 if window is larger than client" 5043.It Li "window_cell_height" Ta "" Ta "Height of each cell in pixels" 5044.It Li "window_cell_width" Ta "" Ta "Width of each cell in pixels" 5045.It Li "window_end_flag" Ta "" Ta "1 if window has the highest index" 5046.It Li "window_flags" Ta "#F" Ta "Window flags with # escaped as ##" 5047.It Li "window_raw_flags" Ta "" Ta "Window flags with nothing escaped" 5048.It Li "window_format" Ta "" Ta "1 if format is for a window" 5049.It Li "window_height" Ta "" Ta "Height of window" 5050.It Li "window_id" Ta "" Ta "Unique window ID" 5051.It Li "window_index" Ta "#I" Ta "Index of window" 5052.It Li "window_last_flag" Ta "" Ta "1 if window is the last used" 5053.It Li "window_layout" Ta "" Ta "Window layout description, ignoring zoomed window panes" 5054.It Li "window_linked" Ta "" Ta "1 if window is linked across sessions" 5055.It Li "window_linked_sessions" Ta "" Ta "Number of sessions this window is linked to" 5056.It Li "window_linked_sessions_list" Ta "" Ta "List of sessions this window is linked to" 5057.It Li "window_marked_flag" Ta "" Ta "1 if window contains the marked pane" 5058.It Li "window_name" Ta "#W" Ta "Name of window" 5059.It Li "window_offset_x" Ta "" Ta "X offset into window if larger than client" 5060.It Li "window_offset_y" Ta "" Ta "Y offset into window if larger than client" 5061.It Li "window_panes" Ta "" Ta "Number of panes in window" 5062.It Li "window_silence_flag" Ta "" Ta "1 if window has silence alert" 5063.It Li "window_stack_index" Ta "" Ta "Index in session most recent stack" 5064.It Li "window_start_flag" Ta "" Ta "1 if window has the lowest index" 5065.It Li "window_visible_layout" Ta "" Ta "Window layout description, respecting zoomed window panes" 5066.It Li "window_width" Ta "" Ta "Width of window" 5067.It Li "window_zoomed_flag" Ta "" Ta "1 if window is zoomed" 5068.It Li "wrap_flag" Ta "" Ta "Pane wrap flag" 5069.El 5070.Sh STYLES 5071.Nm 5072offers various options to specify the colour and attributes of aspects of the 5073interface, for example 5074.Ic status-style 5075for the status line. 5076In addition, embedded styles may be specified in format options, such as 5077.Ic status-left , 5078by enclosing them in 5079.Ql #[ 5080and 5081.Ql \&] . 5082.Pp 5083A style may be the single term 5084.Ql default 5085to specify the default style (which may come from an option, for example 5086.Ic status-style 5087in the status line) or a space 5088or comma separated list of the following: 5089.Bl -tag -width Ds 5090.It Ic fg=colour 5091Set the foreground colour. 5092The colour is one of: 5093.Ic black , 5094.Ic red , 5095.Ic green , 5096.Ic yellow , 5097.Ic blue , 5098.Ic magenta , 5099.Ic cyan , 5100.Ic white ; 5101if supported the bright variants 5102.Ic brightred , 5103.Ic brightgreen , 5104.Ic brightyellow ; 5105.Ic colour0 5106to 5107.Ic colour255 5108from the 256-colour set; 5109.Ic default 5110for the default colour; 5111.Ic terminal 5112for the terminal default colour; or a hexadecimal RGB string such as 5113.Ql #ffffff . 5114.It Ic bg=colour 5115Set the background colour. 5116.It Ic none 5117Set no attributes (turn off any active attributes). 5118.It Xo Ic acs , 5119.Ic bright 5120(or 5121.Ic bold ) , 5122.Ic dim , 5123.Ic underscore , 5124.Ic blink , 5125.Ic reverse , 5126.Ic hidden , 5127.Ic italics , 5128.Ic overline , 5129.Ic strikethrough , 5130.Ic double-underscore , 5131.Ic curly-underscore , 5132.Ic dotted-underscore , 5133.Ic dashed-underscore 5134.Xc 5135Set an attribute. 5136Any of the attributes may be prefixed with 5137.Ql no 5138to unset. 5139.Ic acs 5140is the terminal alternate character set. 5141.It Xo Ic align=left 5142(or 5143.Ic noalign ) , 5144.Ic align=centre , 5145.Ic align=right 5146.Xc 5147Align text to the left, centre or right of the available space if appropriate. 5148.It Ic fill=colour 5149Fill the available space with a background colour if appropriate. 5150.It Xo Ic list=on , 5151.Ic list=focus , 5152.Ic list=left-marker , 5153.Ic list=right-marker , 5154.Ic nolist 5155.Xc 5156Mark the position of the various window list components in the 5157.Ic status-format 5158option: 5159.Ic list=on 5160marks the start of the list; 5161.Ic list=focus 5162is the part of the list that should be kept in focus if the entire list won't fit 5163in the available space (typically the current window); 5164.Ic list=left-marker 5165and 5166.Ic list=right-marker 5167mark the text to be used to mark that text has been trimmed from the left or 5168right of the list if there is not enough space. 5169.It Xo Ic push-default , 5170.Ic pop-default 5171.Xc 5172Store the current colours and attributes as the default or reset to the previous 5173default. 5174A 5175.Ic push-default 5176affects any subsequent use of the 5177.Ic default 5178term until a 5179.Ic pop-default . 5180Only one default may be pushed (each 5181.Ic push-default 5182replaces the previous saved default). 5183.It Xo Ic range=left , 5184.Ic range=right , 5185.Ic range=window|X , 5186.Ic norange 5187.Xc 5188Mark a range in the 5189.Ic status-format 5190option. 5191.Ic range=left 5192and 5193.Ic range=right 5194are the text used for the 5195.Ql StatusLeft 5196and 5197.Ql StatusRight 5198mouse keys. 5199.Ic range=window|X 5200is the range for a window passed to the 5201.Ql Status 5202mouse key, where 5203.Ql X 5204is a window index. 5205.El 5206.Pp 5207Examples are: 5208.Bd -literal -offset indent 5209fg=yellow bold underscore blink 5210bg=black,fg=default,noreverse 5211.Ed 5212.Sh NAMES AND TITLES 5213.Nm 5214distinguishes between names and titles. 5215Windows and sessions have names, which may be used to specify them in targets 5216and are displayed in the status line and various lists: the name is the 5217.Nm 5218identifier for a window or session. 5219Only panes have titles. 5220A pane's title is typically set by the program running inside the pane using 5221an escape sequence (like it would set the 5222.Xr xterm 1 5223window title in 5224.Xr X 7 ) . 5225Windows themselves do not have titles - a window's title is the title of its 5226active pane. 5227.Nm 5228itself may set the title of the terminal in which the client is running, see 5229the 5230.Ic set-titles 5231option. 5232.Pp 5233A session's name is set with the 5234.Ic new-session 5235and 5236.Ic rename-session 5237commands. 5238A window's name is set with one of: 5239.Bl -enum -width Ds 5240.It 5241A command argument (such as 5242.Fl n 5243for 5244.Ic new-window 5245or 5246.Ic new-session ) . 5247.It 5248An escape sequence (if the 5249.Ic allow-rename 5250option is turned on): 5251.Bd -literal -offset indent 5252$ printf '\e033kWINDOW_NAME\e033\e\e' 5253.Ed 5254.It 5255Automatic renaming, which sets the name to the active command in the window's 5256active pane. 5257See the 5258.Ic automatic-rename 5259option. 5260.El 5261.Pp 5262When a pane is first created, its title is the hostname. 5263A pane's title can be set via the title setting escape sequence, for example: 5264.Bd -literal -offset indent 5265$ printf '\e033]2;My Title\e033\e\e' 5266.Ed 5267.Pp 5268It can also be modified with the 5269.Ic select-pane 5270.Fl T 5271command. 5272.Sh GLOBAL AND SESSION ENVIRONMENT 5273When the server is started, 5274.Nm 5275copies the environment into the 5276.Em global environment ; 5277in addition, each session has a 5278.Em session environment . 5279When a window is created, the session and global environments are merged. 5280If a variable exists in both, the value from the session environment is used. 5281The result is the initial environment passed to the new process. 5282.Pp 5283The 5284.Ic update-environment 5285session option may be used to update the session environment from the client 5286when a new session is created or an old reattached. 5287.Nm 5288also initialises the 5289.Ev TMUX 5290variable with some internal information to allow commands to be executed 5291from inside, and the 5292.Ev TERM 5293variable with the correct terminal setting of 5294.Ql screen . 5295.Pp 5296Variables in both session and global environments may be marked as hidden. 5297Hidden variables are not passed into the environment of new processes and 5298instead can only be used by tmux itself (for example in formats, see the 5299.Sx FORMATS 5300section). 5301.Pp 5302Commands to alter and view the environment are: 5303.Bl -tag -width Ds 5304.It Xo Ic set-environment 5305.Op Fl Fhgru 5306.Op Fl t Ar target-session 5307.Ar name Op Ar value 5308.Xc 5309.D1 (alias: Ic setenv ) 5310Set or unset an environment variable. 5311If 5312.Fl g 5313is used, the change is made in the global environment; otherwise, it is applied 5314to the session environment for 5315.Ar target-session . 5316If 5317.Fl F 5318is present, then 5319.Ar value 5320is expanded as a format. 5321The 5322.Fl u 5323flag unsets a variable. 5324.Fl r 5325indicates the variable is to be removed from the environment before starting a 5326new process. 5327.Fl h 5328marks the variable as hidden. 5329.It Xo Ic show-environment 5330.Op Fl hgs 5331.Op Fl t Ar target-session 5332.Op Ar variable 5333.Xc 5334.D1 (alias: Ic showenv ) 5335Display the environment for 5336.Ar target-session 5337or the global environment with 5338.Fl g . 5339If 5340.Ar variable 5341is omitted, all variables are shown. 5342Variables removed from the environment are prefixed with 5343.Ql - . 5344If 5345.Fl s 5346is used, the output is formatted as a set of Bourne shell commands. 5347.Fl h 5348shows hidden variables (omitted by default). 5349.El 5350.Sh STATUS LINE 5351.Nm 5352includes an optional status line which is displayed in the bottom line of each 5353terminal. 5354.Pp 5355By default, the status line is enabled and one line in height (it may be 5356disabled or made multiple lines with the 5357.Ic status 5358session option) and contains, from left-to-right: the name of the current 5359session in square brackets; the window list; the title of the active pane 5360in double quotes; and the time and date. 5361.Pp 5362Each line of the status line is configured with the 5363.Ic status-format 5364option. 5365The default is made of three parts: configurable left and right sections (which 5366may contain dynamic content such as the time or output from a shell command, 5367see the 5368.Ic status-left , 5369.Ic status-left-length , 5370.Ic status-right , 5371and 5372.Ic status-right-length 5373options below), and a central window list. 5374By default, the window list shows the index, name and (if any) flag of the 5375windows present in the current session in ascending numerical order. 5376It may be customised with the 5377.Ar window-status-format 5378and 5379.Ar window-status-current-format 5380options. 5381The flag is one of the following symbols appended to the window name: 5382.Bl -column "Symbol" "Meaning" -offset indent 5383.It Sy "Symbol" Ta Sy "Meaning" 5384.It Li "*" Ta "Denotes the current window." 5385.It Li "-" Ta "Marks the last window (previously selected)." 5386.It Li "#" Ta "Window activity is monitored and activity has been detected." 5387.It Li "\&!" Ta "Window bells are monitored and a bell has occurred in the window." 5388.It Li "~" Ta "The window has been silent for the monitor-silence interval." 5389.It Li "M" Ta "The window contains the marked pane." 5390.It Li "Z" Ta "The window's active pane is zoomed." 5391.El 5392.Pp 5393The # symbol relates to the 5394.Ic monitor-activity 5395window option. 5396The window name is printed in inverted colours if an alert (bell, activity or 5397silence) is present. 5398.Pp 5399The colour and attributes of the status line may be configured, the entire 5400status line using the 5401.Ic status-style 5402session option and individual windows using the 5403.Ic window-status-style 5404window option. 5405.Pp 5406The status line is automatically refreshed at interval if it has changed, the 5407interval may be controlled with the 5408.Ic status-interval 5409session option. 5410.Pp 5411Commands related to the status line are as follows: 5412.Bl -tag -width Ds 5413.It Xo Ic clear-prompt-history 5414.Op Fl T Ar prompt-type 5415.Xc 5416.D1 (alias: Ic clrphist ) 5417Clear status prompt history for prompt type 5418.Ar prompt-type . 5419If 5420.Fl T 5421is omitted, then clear history for all types. 5422See 5423.Ic command-prompt 5424for possible values for 5425.Ar prompt-type . 5426.It Xo Ic command-prompt 5427.Op Fl 1bFikN 5428.Op Fl I Ar inputs 5429.Op Fl p Ar prompts 5430.Op Fl t Ar target-client 5431.Op Fl T Ar prompt-type 5432.Op Ar template 5433.Xc 5434Open the command prompt in a client. 5435This may be used from inside 5436.Nm 5437to execute commands interactively. 5438.Pp 5439If 5440.Ar template 5441is specified, it is used as the command. 5442With 5443.Fl F , 5444.Ar template 5445is expanded as a format. 5446.Pp 5447If present, 5448.Fl I 5449is a comma-separated list of the initial text for each prompt. 5450If 5451.Fl p 5452is given, 5453.Ar prompts 5454is a comma-separated list of prompts which are displayed in order; otherwise 5455a single prompt is displayed, constructed from 5456.Ar template 5457if it is present, or 5458.Ql \&: 5459if not. 5460.Pp 5461Before the command is executed, the first occurrence of the string 5462.Ql %% 5463and all occurrences of 5464.Ql %1 5465are replaced by the response to the first prompt, all 5466.Ql %2 5467are replaced with the response to the second prompt, and so on for further 5468prompts. 5469Up to nine prompt responses may be replaced 5470.Po 5471.Ql %1 5472to 5473.Ql %9 5474.Pc . 5475.Ql %%% 5476is like 5477.Ql %% 5478but any quotation marks are escaped. 5479.Pp 5480.Fl 1 5481makes the prompt only accept one key press, in this case the resulting input 5482is a single character. 5483.Fl k 5484is like 5485.Fl 1 5486but the key press is translated to a key name. 5487.Fl N 5488makes the prompt only accept numeric key presses. 5489.Fl i 5490executes the command every time the prompt input changes instead of when the 5491user exits the command prompt. 5492.Pp 5493.Fl T 5494tells 5495.Nm 5496the prompt type. 5497This affects what completions are offered when 5498.Em Tab 5499is pressed. 5500Available types are: 5501.Ql command , 5502.Ql search , 5503.Ql target 5504and 5505.Ql window-target . 5506.Pp 5507The following keys have a special meaning in the command prompt, depending 5508on the value of the 5509.Ic status-keys 5510option: 5511.Bl -column "FunctionXXXXXXXXXXXXXXXXXXXXXXXXX" "viXXXX" "emacsX" -offset indent 5512.It Sy "Function" Ta Sy "vi" Ta Sy "emacs" 5513.It Li "Cancel command prompt" Ta "q" Ta "Escape" 5514.It Li "Delete from cursor to start of word" Ta "" Ta "C-w" 5515.It Li "Delete entire command" Ta "d" Ta "C-u" 5516.It Li "Delete from cursor to end" Ta "D" Ta "C-k" 5517.It Li "Execute command" Ta "Enter" Ta "Enter" 5518.It Li "Get next command from history" Ta "" Ta "Down" 5519.It Li "Get previous command from history" Ta "" Ta "Up" 5520.It Li "Insert top paste buffer" Ta "p" Ta "C-y" 5521.It Li "Look for completions" Ta "Tab" Ta "Tab" 5522.It Li "Move cursor left" Ta "h" Ta "Left" 5523.It Li "Move cursor right" Ta "l" Ta "Right" 5524.It Li "Move cursor to end" Ta "$" Ta "C-e" 5525.It Li "Move cursor to next word" Ta "w" Ta "M-f" 5526.It Li "Move cursor to previous word" Ta "b" Ta "M-b" 5527.It Li "Move cursor to start" Ta "0" Ta "C-a" 5528.It Li "Transpose characters" Ta "" Ta "C-t" 5529.El 5530.Pp 5531With 5532.Fl b , 5533the prompt is shown in the background and the invoking client does not exit 5534until it is dismissed. 5535.It Xo Ic confirm-before 5536.Op Fl b 5537.Op Fl p Ar prompt 5538.Op Fl t Ar target-client 5539.Ar command 5540.Xc 5541.D1 (alias: Ic confirm ) 5542Ask for confirmation before executing 5543.Ar command . 5544If 5545.Fl p 5546is given, 5547.Ar prompt 5548is the prompt to display; otherwise a prompt is constructed from 5549.Ar command . 5550It may contain the special character sequences supported by the 5551.Ic status-left 5552option. 5553With 5554.Fl b , 5555the prompt is shown in the background and the invoking client does not exit 5556until it is dismissed. 5557.It Xo Ic display-menu 5558.Op Fl O 5559.Op Fl c Ar target-client 5560.Op Fl t Ar target-pane 5561.Op Fl T Ar title 5562.Op Fl x Ar position 5563.Op Fl y Ar position 5564.Ar name 5565.Ar key 5566.Ar command 5567.Ar ... 5568.Xc 5569.D1 (alias: Ic menu ) 5570Display a menu on 5571.Ar target-client . 5572.Ar target-pane 5573gives the target for any commands run from the menu. 5574.Pp 5575A menu is passed as a series of arguments: first the menu item name, 5576second the key shortcut (or empty for none) and third the command 5577to run when the menu item is chosen. 5578The name and command are formats, see the 5579.Sx FORMATS 5580and 5581.Sx STYLES 5582sections. 5583If the name begins with a hyphen (-), then the item is disabled (shown dim) and 5584may not be chosen. 5585The name may be empty for a separator line, in which case both the key and 5586command should be omitted. 5587.Pp 5588.Fl T 5589is a format for the menu title (see 5590.Sx FORMATS ) . 5591.Pp 5592.Fl x 5593and 5594.Fl y 5595give the position of the menu. 5596Both may be a row or column number, or one of the following special values: 5597.Bl -column "XXXXX" "XXXX" -offset indent 5598.It Sy "Value" Ta Sy "Flag" Ta Sy "Meaning" 5599.It Li "C" Ta "Both" Ta "The centre of the terminal" 5600.It Li "R" Ta Fl x Ta "The right side of the terminal" 5601.It Li "P" Ta "Both" Ta "The bottom left of the pane" 5602.It Li "M" Ta "Both" Ta "The mouse position" 5603.It Li "W" Ta "Both" Ta "The window position on the status line" 5604.It Li "S" Ta Fl y Ta "The line above or below the status line" 5605.El 5606.Pp 5607Or a format, which is expanded including the following additional variables: 5608.Bl -column "XXXXXXXXXXXXXXXXXXXXXXXXXX" -offset indent 5609.It Sy "Variable name" Ta Sy "Replaced with" 5610.It Li "popup_centre_x" Ta "Centered in the client" 5611.It Li "popup_centre_y" Ta "Centered in the client" 5612.It Li "popup_height" Ta "Height of menu or popup" 5613.It Li "popup_mouse_bottom" Ta "Bottom of at the mouse" 5614.It Li "popup_mouse_centre_x" Ta "Horizontal centre at the mouse" 5615.It Li "popup_mouse_centre_y" Ta "Vertical centre at the mouse" 5616.It Li "popup_mouse_top" Ta "Top at the mouse" 5617.It Li "popup_mouse_x" Ta "Mouse X position" 5618.It Li "popup_mouse_y" Ta "Mouse Y position" 5619.It Li "popup_pane_bottom" Ta "Bottom of the pane" 5620.It Li "popup_pane_left" Ta "Left of the pane" 5621.It Li "popup_pane_right" Ta "Right of the pane" 5622.It Li "popup_pane_top" Ta "Top of the pane" 5623.It Li "popup_status_line_y" Ta "Above or below the status line" 5624.It Li "popup_width" Ta "Width of menu or popup" 5625.It Li "popup_window_status_line_x" Ta "At the window position in status line" 5626.It Li "popup_window_status_line_y" Ta "At the status line showing the window" 5627.El 5628.Pp 5629Each menu consists of items followed by a key shortcut shown in brackets. 5630If the menu is too large to fit on the terminal, it is not displayed. 5631Pressing the key shortcut chooses the corresponding item. 5632If the mouse is enabled and the menu is opened from a mouse key binding, 5633releasing the mouse button with an item selected chooses that item and 5634releasing the mouse button without an item selected closes the menu. 5635.Fl O 5636changes this behaviour so that the menu does not close when the mouse button is 5637released without an item selected the menu is not closed and a mouse button 5638must be clicked to choose an item. 5639.Pp 5640The following keys are also available: 5641.Bl -column "Key" "Function" -offset indent 5642.It Sy "Key" Ta Sy "Function" 5643.It Li "Enter" Ta "Choose selected item" 5644.It Li "Up" Ta "Select previous item" 5645.It Li "Down" Ta "Select next item" 5646.It Li "q" Ta "Exit menu" 5647.El 5648.It Xo Ic display-message 5649.Op Fl aINpv 5650.Op Fl c Ar target-client 5651.Op Fl d Ar delay 5652.Op Fl t Ar target-pane 5653.Op Ar message 5654.Xc 5655.D1 (alias: Ic display ) 5656Display a message. 5657If 5658.Fl p 5659is given, the output is printed to stdout, otherwise it is displayed in the 5660.Ar target-client 5661status line for up to 5662.Ar delay 5663milliseconds. 5664If 5665.Ar delay 5666is not given, the 5667.Ic message-time 5668option is used; a delay of zero waits for a key press. 5669.Ql N 5670ignores key presses and closes only after the delay expires. 5671The format of 5672.Ar message 5673is described in the 5674.Sx FORMATS 5675section; information is taken from 5676.Ar target-pane 5677if 5678.Fl t 5679is given, otherwise the active pane. 5680.Pp 5681.Fl v 5682prints verbose logging as the format is parsed and 5683.Fl a 5684lists the format variables and their values. 5685.Pp 5686.Fl I 5687forwards any input read from stdin to the empty pane given by 5688.Ar target-pane . 5689.It Xo Ic display-popup 5690.Op Fl BCE 5691.Op Fl c Ar target-client 5692.Op Fl d Ar start-directory 5693.Op Fl h Ar height 5694.Op Fl t Ar target-pane 5695.Op Fl w Ar width 5696.Op Fl x Ar position 5697.Op Fl y Ar position 5698.Op Ar shell-command 5699.Xc 5700.D1 (alias: Ic popup ) 5701Display a popup running 5702.Ar shell-command 5703on 5704.Ar target-client . 5705A popup is a rectangular box drawn over the top of any panes. 5706Panes are not updated while a popup is present. 5707.Pp 5708.Fl E 5709closes the popup automatically when 5710.Ar shell-command 5711exits. 5712Two 5713.Fl E 5714closes the popup only if 5715.Ar shell-command 5716exited with success. 5717.Pp 5718.Fl x 5719and 5720.Fl y 5721give the position of the popup, they have the same meaning as for the 5722.Ic display-menu 5723command. 5724.Fl w 5725and 5726.Fl h 5727give the width and height - both may be a percentage (followed by 5728.Ql % ) . 5729If omitted, half of the terminal size is used. 5730.Fl B 5731does not surround the popup by a border. 5732.Pp 5733The 5734.Fl C 5735flag closes any popup on the client. 5736.It Xo Ic show-prompt-history 5737.Op Fl T Ar prompt-type 5738.Xc 5739.D1 (alias: Ic showphist ) 5740Display status prompt history for prompt type 5741.Ar prompt-type . 5742If 5743.Fl T 5744is omitted, then show history for all types. 5745See 5746.Ic command-prompt 5747for possible values for 5748.Ar prompt-type . 5749.El 5750.Sh BUFFERS 5751.Nm 5752maintains a set of named 5753.Em paste buffers . 5754Each buffer may be either explicitly or automatically named. 5755Explicitly named buffers are named when created with the 5756.Ic set-buffer 5757or 5758.Ic load-buffer 5759commands, or by renaming an automatically named buffer with 5760.Ic set-buffer 5761.Fl n . 5762Automatically named buffers are given a name such as 5763.Ql buffer0001 , 5764.Ql buffer0002 5765and so on. 5766When the 5767.Ic buffer-limit 5768option is reached, the oldest automatically named buffer is deleted. 5769Explicitly named buffers are not subject to 5770.Ic buffer-limit 5771and may be deleted with the 5772.Ic delete-buffer 5773command. 5774.Pp 5775Buffers may be added using 5776.Ic copy-mode 5777or the 5778.Ic set-buffer 5779and 5780.Ic load-buffer 5781commands, and pasted into a window using the 5782.Ic paste-buffer 5783command. 5784If a buffer command is used and no buffer is specified, the most 5785recently added automatically named buffer is assumed. 5786.Pp 5787A configurable history buffer is also maintained for each window. 5788By default, up to 2000 lines are kept; this can be altered with the 5789.Ic history-limit 5790option (see the 5791.Ic set-option 5792command above). 5793.Pp 5794The buffer commands are as follows: 5795.Bl -tag -width Ds 5796.It Xo 5797.Ic choose-buffer 5798.Op Fl NZr 5799.Op Fl F Ar format 5800.Op Fl f Ar filter 5801.Op Fl K Ar key-format 5802.Op Fl O Ar sort-order 5803.Op Fl t Ar target-pane 5804.Op Ar template 5805.Xc 5806Put a pane into buffer mode, where a buffer may be chosen interactively from 5807a list. 5808Each buffer is shown on one line. 5809A shortcut key is shown on the left in brackets allowing for immediate choice, 5810or the list may be navigated and an item chosen or otherwise manipulated using 5811the keys below. 5812.Fl Z 5813zooms the pane. 5814The following keys may be used in buffer mode: 5815.Bl -column "Key" "Function" -offset indent 5816.It Sy "Key" Ta Sy "Function" 5817.It Li "Enter" Ta "Paste selected buffer" 5818.It Li "Up" Ta "Select previous buffer" 5819.It Li "Down" Ta "Select next buffer" 5820.It Li "C-s" Ta "Search by name or content" 5821.It Li "n" Ta "Repeat last search" 5822.It Li "t" Ta "Toggle if buffer is tagged" 5823.It Li "T" Ta "Tag no buffers" 5824.It Li "C-t" Ta "Tag all buffers" 5825.It Li "p" Ta "Paste selected buffer" 5826.It Li "P" Ta "Paste tagged buffers" 5827.It Li "d" Ta "Delete selected buffer" 5828.It Li "D" Ta "Delete tagged buffers" 5829.It Li "e" Ta "Open the buffer in an editor" 5830.It Li "f" Ta "Enter a format to filter items" 5831.It Li "O" Ta "Change sort field" 5832.It Li "r" Ta "Reverse sort order" 5833.It Li "v" Ta "Toggle preview" 5834.It Li "q" Ta "Exit mode" 5835.El 5836.Pp 5837After a buffer is chosen, 5838.Ql %% 5839is replaced by the buffer name in 5840.Ar template 5841and the result executed as a command. 5842If 5843.Ar template 5844is not given, "paste-buffer -b '%%'" is used. 5845.Pp 5846.Fl O 5847specifies the initial sort field: one of 5848.Ql time , 5849.Ql name 5850or 5851.Ql size . 5852.Fl r 5853reverses the sort order. 5854.Fl f 5855specifies an initial filter: the filter is a format - if it evaluates to zero, 5856the item in the list is not shown, otherwise it is shown. 5857If a filter would lead to an empty list, it is ignored. 5858.Fl F 5859specifies the format for each item in the list and 5860.Fl K 5861a format for each shortcut key; both are evaluated once for each line. 5862.Fl N 5863starts without the preview. 5864This command works only if at least one client is attached. 5865.It Ic clear-history Op Fl t Ar target-pane 5866.D1 (alias: Ic clearhist ) 5867Remove and free the history for the specified pane. 5868.It Ic delete-buffer Op Fl b Ar buffer-name 5869.D1 (alias: Ic deleteb ) 5870Delete the buffer named 5871.Ar buffer-name , 5872or the most recently added automatically named buffer if not specified. 5873.It Xo Ic list-buffers 5874.Op Fl F Ar format 5875.Op Fl f Ar filter 5876.Xc 5877.D1 (alias: Ic lsb ) 5878List the global buffers. 5879.Fl F 5880specifies the format of each line and 5881.Fl f 5882a filter. 5883Only buffers for which the filter is true are shown. 5884See the 5885.Sx FORMATS 5886section. 5887.It Xo Ic load-buffer 5888.Op Fl w 5889.Op Fl b Ar buffer-name 5890.Op Fl t Ar target-client 5891.Ar path 5892.Xc 5893.D1 (alias: Ic loadb ) 5894Load the contents of the specified paste buffer from 5895.Ar path . 5896If 5897.Fl w 5898is given, the buffer is also sent to the clipboard for 5899.Ar target-client 5900using the 5901.Xr xterm 1 5902escape sequence, if possible. 5903.It Xo Ic paste-buffer 5904.Op Fl dpr 5905.Op Fl b Ar buffer-name 5906.Op Fl s Ar separator 5907.Op Fl t Ar target-pane 5908.Xc 5909.D1 (alias: Ic pasteb ) 5910Insert the contents of a paste buffer into the specified pane. 5911If not specified, paste into the current one. 5912With 5913.Fl d , 5914also delete the paste buffer. 5915When output, any linefeed (LF) characters in the paste buffer are replaced with 5916a separator, by default carriage return (CR). 5917A custom separator may be specified using the 5918.Fl s 5919flag. 5920The 5921.Fl r 5922flag means to do no replacement (equivalent to a separator of LF). 5923If 5924.Fl p 5925is specified, paste bracket control codes are inserted around the 5926buffer if the application has requested bracketed paste mode. 5927.It Xo Ic save-buffer 5928.Op Fl a 5929.Op Fl b Ar buffer-name 5930.Ar path 5931.Xc 5932.D1 (alias: Ic saveb ) 5933Save the contents of the specified paste buffer to 5934.Ar path . 5935The 5936.Fl a 5937option appends to rather than overwriting the file. 5938.It Xo Ic set-buffer 5939.Op Fl aw 5940.Op Fl b Ar buffer-name 5941.Op Fl t Ar target-client 5942.Op Fl n Ar new-buffer-name 5943.Ar data 5944.Xc 5945.D1 (alias: Ic setb ) 5946Set the contents of the specified buffer to 5947.Ar data . 5948If 5949.Fl w 5950is given, the buffer is also sent to the clipboard for 5951.Ar target-client 5952using the 5953.Xr xterm 1 5954escape sequence, if possible. 5955The 5956.Fl a 5957option appends to rather than overwriting the buffer. 5958The 5959.Fl n 5960option renames the buffer to 5961.Ar new-buffer-name . 5962.It Xo Ic show-buffer 5963.Op Fl b Ar buffer-name 5964.Xc 5965.D1 (alias: Ic showb ) 5966Display the contents of the specified buffer. 5967.El 5968.Sh MISCELLANEOUS 5969Miscellaneous commands are as follows: 5970.Bl -tag -width Ds 5971.It Ic clock-mode Op Fl t Ar target-pane 5972Display a large clock. 5973.It Xo Ic if-shell 5974.Op Fl bF 5975.Op Fl t Ar target-pane 5976.Ar shell-command command 5977.Op Ar command 5978.Xc 5979.D1 (alias: Ic if ) 5980Execute the first 5981.Ar command 5982if 5983.Ar shell-command 5984returns success or the second 5985.Ar command 5986otherwise. 5987Before being executed, 5988.Ar shell-command 5989is expanded using the rules specified in the 5990.Sx FORMATS 5991section, including those relevant to 5992.Ar target-pane . 5993With 5994.Fl b , 5995.Ar shell-command 5996is run in the background. 5997.Pp 5998If 5999.Fl F 6000is given, 6001.Ar shell-command 6002is not executed but considered success if neither empty nor zero (after formats 6003are expanded). 6004.It Ic lock-server 6005.D1 (alias: Ic lock ) 6006Lock each client individually by running the command specified by the 6007.Ic lock-command 6008option. 6009.It Xo Ic run-shell 6010.Op Fl bC 6011.Op Fl d Ar delay 6012.Op Fl t Ar target-pane 6013.Op Ar shell-command 6014.Xc 6015.D1 (alias: Ic run ) 6016Execute 6017.Ar shell-command 6018or (with 6019.Fl C ) 6020a 6021.Nm 6022command in the background without creating a window. 6023Before being executed, 6024.Ar shell-command 6025is expanded using the rules specified in the 6026.Sx FORMATS 6027section. 6028With 6029.Fl b , 6030the command is run in the background. 6031.Fl d 6032waits for 6033.Ar delay 6034seconds before starting the command. 6035If 6036.Fl C 6037is not given, any output to stdout is displayed in view mode (in the pane 6038specified by 6039.Fl t 6040or the current pane if omitted) after the command finishes. 6041If the command fails, the exit status is also displayed. 6042.It Xo Ic wait-for 6043.Op Fl L | S | U 6044.Ar channel 6045.Xc 6046.D1 (alias: Ic wait ) 6047When used without options, prevents the client from exiting until woken using 6048.Ic wait-for 6049.Fl S 6050with the same channel. 6051When 6052.Fl L 6053is used, the channel is locked and any clients that try to lock the same 6054channel are made to wait until the channel is unlocked with 6055.Ic wait-for 6056.Fl U . 6057.El 6058.Sh EXIT MESSAGES 6059When a 6060.Nm 6061client detaches, it prints a message. 6062This may be one of: 6063.Bl -tag -width Ds 6064.It detached (from session ...) 6065The client was detached normally. 6066.It detached and SIGHUP 6067The client was detached and its parent sent the 6068.Dv SIGHUP 6069signal (for example with 6070.Ic detach-client 6071.Fl P ) . 6072.It lost tty 6073The client's 6074.Xr tty 4 6075or 6076.Xr pty 4 6077was unexpectedly destroyed. 6078.It terminated 6079The client was killed with 6080.Dv SIGTERM . 6081.It too far behind 6082The client is in control mode and became unable to keep up with the data from 6083.Nm . 6084.It exited 6085The server exited when it had no sessions. 6086.It server exited 6087The server exited when it received 6088.Dv SIGTERM . 6089.It server exited unexpectedly 6090The server crashed or otherwise exited without telling the client the reason. 6091.El 6092.Sh TERMINFO EXTENSIONS 6093.Nm 6094understands some unofficial extensions to 6095.Xr terminfo 5 . 6096It is not normally necessary to set these manually, instead the 6097.Ic terminal-features 6098option should be used. 6099.Bl -tag -width Ds 6100.It Em \&AX 6101An existing extension that tells 6102.Nm 6103the terminal supports default colours. 6104.It Em \&Bidi 6105Tell 6106.Nm 6107that the terminal supports the VTE bidirectional text extensions. 6108.It Em \&Cs , Cr 6109Set the cursor colour. 6110The first takes a single string argument and is used to set the colour; 6111the second takes no arguments and restores the default cursor colour. 6112If set, a sequence such as this may be used 6113to change the cursor colour from inside 6114.Nm : 6115.Bd -literal -offset indent 6116$ printf '\e033]12;red\e033\e\e' 6117.Ed 6118.It Em \&Cmg, \&Clmg, \&Dsmg , \&Enmg 6119Set, clear, disable or enable DECSLRM margins. 6120These are set automatically if the terminal reports it is 6121.Em VT420 6122compatible. 6123.It Em \&Dsbp , \&Enbp 6124Disable and enable bracketed paste. 6125These are set automatically if the 6126.Em XT 6127capability is present. 6128.It Em \&Dseks , \&Eneks 6129Disable and enable extended keys. 6130.It Em \&Dsfcs , \&Enfcs 6131Disable and enable focus reporting. 6132These are set automatically if the 6133.Em XT 6134capability is present. 6135.It Em \&Rect 6136Tell 6137.Nm 6138that the terminal supports rectangle operations. 6139.It Em \&Smol 6140Enable the overline attribute. 6141.It Em \&Smulx 6142Set a styled underscore. 6143The single parameter is one of: 0 for no underscore, 1 for normal 6144underscore, 2 for double underscore, 3 for curly underscore, 4 for dotted 6145underscore and 5 for dashed underscore. 6146.It Em \&Setulc , \&ol 6147Set the underscore colour or reset to the default. 6148The argument is (red * 65536) + (green * 256) + blue where each is between 0 6149and 255. 6150.It Em \&Ss , Se 6151Set or reset the cursor style. 6152If set, a sequence such as this may be used 6153to change the cursor to an underline: 6154.Bd -literal -offset indent 6155$ printf '\e033[4 q' 6156.Ed 6157.Pp 6158If 6159.Em Se 6160is not set, \&Ss with argument 0 will be used to reset the cursor style instead. 6161.It Em \&Sync 6162Start (parameter is 1) or end (parameter is 2) a synchronized update. 6163.It Em \&Tc 6164Indicate that the terminal supports the 6165.Ql direct colour 6166RGB escape sequence (for example, \ee[38;2;255;255;255m). 6167.Pp 6168If supported, this is used for the initialize colour escape sequence (which 6169may be enabled by adding the 6170.Ql initc 6171and 6172.Ql ccc 6173capabilities to the 6174.Nm 6175.Xr terminfo 5 6176entry). 6177.Pp 6178This is equivalent to the 6179.Em RGB 6180.Xr terminfo 5 6181capability. 6182.It Em \&Ms 6183Store the current buffer in the host terminal's selection (clipboard). 6184See the 6185.Em set-clipboard 6186option above and the 6187.Xr xterm 1 6188man page. 6189.It Em \&XT 6190This is an existing extension capability that tmux uses to mean that the 6191terminal supports the 6192.Xr xterm 1 6193title set sequences and to automatically set some of the capabilities above. 6194.El 6195.Sh CONTROL MODE 6196.Nm 6197offers a textual interface called 6198.Em control mode . 6199This allows applications to communicate with 6200.Nm 6201using a simple text-only protocol. 6202.Pp 6203In control mode, a client sends 6204.Nm 6205commands or command sequences terminated by newlines on standard input. 6206Each command will produce one block of output on standard output. 6207An output block consists of a 6208.Em %begin 6209line followed by the output (which may be empty). 6210The output block ends with a 6211.Em %end 6212or 6213.Em %error . 6214.Em %begin 6215and matching 6216.Em %end 6217or 6218.Em %error 6219have three arguments: an integer time (as seconds from epoch), command number and 6220flags (currently not used). 6221For example: 6222.Bd -literal -offset indent 6223%begin 1363006971 2 1 62240: ksh* (1 panes) [80x24] [layout b25f,80x24,0,0,2] @2 (active) 6225%end 1363006971 2 1 6226.Ed 6227.Pp 6228The 6229.Ic refresh-client 6230.Fl C 6231command may be used to set the size of a client in control mode. 6232.Pp 6233In control mode, 6234.Nm 6235outputs notifications. 6236A notification will never occur inside an output block. 6237.Pp 6238The following notifications are defined: 6239.Bl -tag -width Ds 6240.It Ic %client-detached Ar client 6241The client has detached. 6242.It Ic %client-session-changed Ar client session-id name 6243The client is now attached to the session with ID 6244.Ar session-id , 6245which is named 6246.Ar name . 6247.It Ic %continue Ar pane-id 6248The pane has been continued after being paused (if the 6249.Ar pause-after 6250flag is set, see 6251.Ic refresh-client 6252.Fl A ) . 6253.It Ic %exit Op Ar reason 6254The 6255.Nm 6256client is exiting immediately, either because it is not attached to any session 6257or an error occurred. 6258If present, 6259.Ar reason 6260describes why the client exited. 6261.It Ic %extended-output Ar pane-id Ar age Ar ... \& : Ar value 6262New form of 6263.Ic %output 6264sent when the 6265.Ar pause-after 6266flag is set. 6267.Ar age 6268is the time in milliseconds for which tmux had buffered the output before it was sent. 6269Any subsequent arguments up until a single 6270.Ql \&: 6271are for future use and should be ignored. 6272.It Ic %layout-change Ar window-id Ar window-layout Ar window-visible-layout Ar window-flags 6273The layout of a window with ID 6274.Ar window-id 6275changed. 6276The new layout is 6277.Ar window-layout . 6278The window's visible layout is 6279.Ar window-visible-layout 6280and the window flags are 6281.Ar window-flags . 6282.It Ic %output Ar pane-id Ar value 6283A window pane produced output. 6284.Ar value 6285escapes non-printable characters and backslash as octal \\xxx. 6286.It Ic %pane-mode-changed Ar pane-id 6287The pane with ID 6288.Ar pane-id 6289has changed mode. 6290.It Ic %pause Ar pane-id 6291The pane has been paused (if the 6292.Ar pause-after 6293flag is set). 6294.It Ic %session-changed Ar session-id Ar name 6295The client is now attached to the session with ID 6296.Ar session-id , 6297which is named 6298.Ar name . 6299.It Ic %session-renamed Ar name 6300The current session was renamed to 6301.Ar name . 6302.It Ic %session-window-changed Ar session-id Ar window-id 6303The session with ID 6304.Ar session-id 6305changed its active window to the window with ID 6306.Ar window-id . 6307.It Ic %sessions-changed 6308A session was created or destroyed. 6309.It Xo Ic %subscription-changed 6310.Ar name 6311.Ar session-id 6312.Ar window-id 6313.Ar window-index 6314.Ar pane-id ... \& : 6315.Ar value 6316.Xc 6317The value of the format associated with subscription 6318.Ar name 6319has changed to 6320.Ar value . 6321See 6322.Ic refresh-client 6323.Fl B . 6324Any arguments after 6325.Ar pane-id 6326up until a single 6327.Ql \&: 6328are for future use and should be ignored. 6329.It Ic %unlinked-window-add Ar window-id 6330The window with ID 6331.Ar window-id 6332was created but is not linked to the current session. 6333.It Ic %window-add Ar window-id 6334The window with ID 6335.Ar window-id 6336was linked to the current session. 6337.It Ic %window-close Ar window-id 6338The window with ID 6339.Ar window-id 6340closed. 6341.It Ic %window-pane-changed Ar window-id Ar pane-id 6342The active pane in the window with ID 6343.Ar window-id 6344changed to the pane with ID 6345.Ar pane-id . 6346.It Ic %window-renamed Ar window-id Ar name 6347The window with ID 6348.Ar window-id 6349was renamed to 6350.Ar name . 6351.El 6352.Sh ENVIRONMENT 6353When 6354.Nm 6355is started, it inspects the following environment variables: 6356.Bl -tag -width LC_CTYPE 6357.It Ev EDITOR 6358If the command specified in this variable contains the string 6359.Ql vi 6360and 6361.Ev VISUAL 6362is unset, use vi-style key bindings. 6363Overridden by the 6364.Ic mode-keys 6365and 6366.Ic status-keys 6367options. 6368.It Ev HOME 6369The user's login directory. 6370If unset, the 6371.Xr passwd 5 6372database is consulted. 6373.It Ev LC_CTYPE 6374The character encoding 6375.Xr locale 1 . 6376It is used for two separate purposes. 6377For output to the terminal, UTF-8 is used if the 6378.Fl u 6379option is given or if 6380.Ev LC_CTYPE 6381contains 6382.Qq UTF-8 6383or 6384.Qq UTF8 . 6385Otherwise, only ASCII characters are written and non-ASCII characters 6386are replaced with underscores 6387.Pq Ql _ . 6388For input, 6389.Nm 6390always runs with a UTF-8 locale. 6391If en_US.UTF-8 is provided by the operating system it is used and 6392.Ev LC_CTYPE 6393is ignored for input. 6394Otherwise, 6395.Ev LC_CTYPE 6396tells 6397.Nm 6398what the UTF-8 locale is called on the current system. 6399If the locale specified by 6400.Ev LC_CTYPE 6401is not available or is not a UTF-8 locale, 6402.Nm 6403exits with an error message. 6404.It Ev LC_TIME 6405The date and time format 6406.Xr locale 1 . 6407It is used for locale-dependent 6408.Xr strftime 3 6409format specifiers. 6410.It Ev PWD 6411The current working directory to be set in the global environment. 6412This may be useful if it contains symbolic links. 6413If the value of the variable does not match the current working 6414directory, the variable is ignored and the result of 6415.Xr getcwd 3 6416is used instead. 6417.It Ev SHELL 6418The absolute path to the default shell for new windows. 6419See the 6420.Ic default-shell 6421option for details. 6422.It Ev TMUX_TMPDIR 6423The parent directory of the directory containing the server sockets. 6424See the 6425.Fl L 6426option for details. 6427.It Ev VISUAL 6428If the command specified in this variable contains the string 6429.Ql vi , 6430use vi-style key bindings. 6431Overridden by the 6432.Ic mode-keys 6433and 6434.Ic status-keys 6435options. 6436.El 6437.Sh FILES 6438.Bl -tag -width "/etc/tmux.confXXX" -compact 6439.It Pa ~/.tmux.conf 6440Default 6441.Nm 6442configuration file. 6443.It Pa /etc/tmux.conf 6444System-wide configuration file. 6445.El 6446.Sh EXAMPLES 6447To create a new 6448.Nm 6449session running 6450.Xr vi 1 : 6451.Pp 6452.Dl $ tmux new-session vi 6453.Pp 6454Most commands have a shorter form, known as an alias. 6455For new-session, this is 6456.Ic new : 6457.Pp 6458.Dl $ tmux new vi 6459.Pp 6460Alternatively, the shortest unambiguous form of a command is accepted. 6461If there are several options, they are listed: 6462.Bd -literal -offset indent 6463$ tmux n 6464ambiguous command: n, could be: new-session, new-window, next-window 6465.Ed 6466.Pp 6467Within an active session, a new window may be created by typing 6468.Ql C-b c 6469(Ctrl 6470followed by the 6471.Ql b 6472key 6473followed by the 6474.Ql c 6475key). 6476.Pp 6477Windows may be navigated with: 6478.Ql C-b 0 6479(to select window 0), 6480.Ql C-b 1 6481(to select window 1), and so on; 6482.Ql C-b n 6483to select the next window; and 6484.Ql C-b p 6485to select the previous window. 6486.Pp 6487A session may be detached using 6488.Ql C-b d 6489(or by an external event such as 6490.Xr ssh 1 6491disconnection) and reattached with: 6492.Pp 6493.Dl $ tmux attach-session 6494.Pp 6495Typing 6496.Ql C-b \&? 6497lists the current key bindings in the current window; up and down may be used 6498to navigate the list or 6499.Ql q 6500to exit from it. 6501.Pp 6502Commands to be run when the 6503.Nm 6504server is started may be placed in the 6505.Pa ~/.tmux.conf 6506configuration file. 6507Common examples include: 6508.Pp 6509Changing the default prefix key: 6510.Bd -literal -offset indent 6511set-option -g prefix C-a 6512unbind-key C-b 6513bind-key C-a send-prefix 6514.Ed 6515.Pp 6516Turning the status line off, or changing its colour: 6517.Bd -literal -offset indent 6518set-option -g status off 6519set-option -g status-style bg=blue 6520.Ed 6521.Pp 6522Setting other options, such as the default command, 6523or locking after 30 minutes of inactivity: 6524.Bd -literal -offset indent 6525set-option -g default-command "exec /bin/ksh" 6526set-option -g lock-after-time 1800 6527.Ed 6528.Pp 6529Creating new key bindings: 6530.Bd -literal -offset indent 6531bind-key b set-option status 6532bind-key / command-prompt "split-window 'exec man %%'" 6533bind-key S command-prompt "new-window -n %1 'ssh %1'" 6534.Ed 6535.Sh SEE ALSO 6536.Xr pty 4 6537.Sh AUTHORS 6538.An Nicholas Marriott Aq Mt nicholas.marriott@gmail.com 6539