1.\" $OpenBSD: tmux.1,v 1.856 2021/10/05 12:49:37 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: October 5 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. 3126If no keys are given and the command is bound to a key, then that key is used. 3127.Pp 3128The 3129.Fl l 3130flag disables key name lookup and processes the keys as literal UTF-8 3131characters. 3132The 3133.Fl H 3134flag expects each key to be a hexadecimal number for an ASCII character. 3135.Pp 3136The 3137.Fl R 3138flag causes the terminal state to be reset. 3139.Pp 3140.Fl M 3141passes through a mouse event (only valid if bound to a mouse key binding, see 3142.Sx MOUSE SUPPORT ) . 3143.Pp 3144.Fl X 3145is used to send a command into copy mode - see 3146the 3147.Sx WINDOWS AND PANES 3148section. 3149.Fl N 3150specifies a repeat count and 3151.Fl F 3152expands formats in arguments where appropriate. 3153.It Xo Ic send-prefix 3154.Op Fl 2 3155.Op Fl t Ar target-pane 3156.Xc 3157Send the prefix key, or with 3158.Fl 2 3159the secondary prefix key, to a window as if it was pressed. 3160.It Xo Ic unbind-key 3161.Op Fl anq 3162.Op Fl T Ar key-table 3163.Ar key 3164.Xc 3165.D1 (alias: Ic unbind ) 3166Unbind the command bound to 3167.Ar key . 3168.Fl n 3169and 3170.Fl T 3171are the same as for 3172.Ic bind-key . 3173If 3174.Fl a 3175is present, all key bindings are removed. 3176The 3177.Fl q 3178option prevents errors being returned. 3179.El 3180.Sh OPTIONS 3181The appearance and behaviour of 3182.Nm 3183may be modified by changing the value of various options. 3184There are four types of option: 3185.Em server options , 3186.Em session options , 3187.Em window options , 3188and 3189.Em pane options . 3190.Pp 3191The 3192.Nm 3193server has a set of global server options which do not apply to any particular 3194window or session or pane. 3195These are altered with the 3196.Ic set-option 3197.Fl s 3198command, or displayed with the 3199.Ic show-options 3200.Fl s 3201command. 3202.Pp 3203In addition, each individual session may have a set of session options, and 3204there is a separate set of global session options. 3205Sessions which do not have a particular option configured inherit the value 3206from the global session options. 3207Session options are set or unset with the 3208.Ic set-option 3209command and may be listed with the 3210.Ic show-options 3211command. 3212The available server and session options are listed under the 3213.Ic set-option 3214command. 3215.Pp 3216Similarly, a set of window options is attached to each window and a set of pane 3217options to each pane. 3218Pane options inherit from window options. 3219This means any pane option may be set as a window option to apply the option to 3220all panes in the window without the option set, for example these commands will 3221set the background colour to red for all panes except pane 0: 3222.Bd -literal -offset indent 3223set -w window-style bg=red 3224set -pt:.0 window-style bg=blue 3225.Ed 3226.Pp 3227There is also a set of global window options from which any unset window or 3228pane options are inherited. 3229Window and pane options are altered with 3230.Ic set-option 3231.Fl w 3232and 3233.Fl p 3234commands and displayed with 3235.Ic show-option 3236.Fl w 3237and 3238.Fl p . 3239.Pp 3240.Nm 3241also supports user options which are prefixed with a 3242.Ql \&@ . 3243User options may have any name, so long as they are prefixed with 3244.Ql \&@ , 3245and be set to any string. 3246For example: 3247.Bd -literal -offset indent 3248$ tmux set -wq @foo "abc123" 3249$ tmux show -wv @foo 3250abc123 3251.Ed 3252.Pp 3253Commands which set options are as follows: 3254.Bl -tag -width Ds 3255.It Xo Ic set-option 3256.Op Fl aFgopqsuUw 3257.Op Fl t Ar target-pane 3258.Ar option Ar value 3259.Xc 3260.D1 (alias: Ic set ) 3261Set a pane option with 3262.Fl p , 3263a window option with 3264.Fl w , 3265a server option with 3266.Fl s , 3267otherwise a session option. 3268If the option is not a user option, 3269.Fl w 3270or 3271.Fl s 3272may be unnecessary - 3273.Nm 3274will infer the type from the option name, assuming 3275.Fl w 3276for pane options. 3277If 3278.Fl g 3279is given, the global session or window option is set. 3280.Pp 3281.Fl F 3282expands formats in the option value. 3283The 3284.Fl u 3285flag unsets an option, so a session inherits the option from the global 3286options (or with 3287.Fl g , 3288restores a global option to the default). 3289.Fl U 3290unsets an option (like 3291.Fl u ) 3292but if the option is a pane option also unsets the option on any panes in the 3293window. 3294.Ar value 3295depends on the option and may be a number, a string, or a flag (on, off, or 3296omitted to toggle). 3297.Pp 3298The 3299.Fl o 3300flag prevents setting an option that is already set and the 3301.Fl q 3302flag suppresses errors about unknown or ambiguous options. 3303.Pp 3304With 3305.Fl a , 3306and if the option expects a string or a style, 3307.Ar value 3308is appended to the existing setting. 3309For example: 3310.Bd -literal -offset indent 3311set -g status-left "foo" 3312set -ag status-left "bar" 3313.Ed 3314.Pp 3315Will result in 3316.Ql foobar . 3317And: 3318.Bd -literal -offset indent 3319set -g status-style "bg=red" 3320set -ag status-style "fg=blue" 3321.Ed 3322.Pp 3323Will result in a red background 3324.Em and 3325blue foreground. 3326Without 3327.Fl a , 3328the result would be the default background and a blue foreground. 3329.It Xo Ic show-options 3330.Op Fl AgHpqsvw 3331.Op Fl t Ar target-pane 3332.Op Ar option 3333.Xc 3334.D1 (alias: Ic show ) 3335Show the pane options (or a single option if 3336.Ar option 3337is provided) with 3338.Fl p , 3339the window options with 3340.Fl w , 3341the server options with 3342.Fl s , 3343otherwise the session options. 3344If the option is not a user option, 3345.Fl w 3346or 3347.Fl s 3348may be unnecessary - 3349.Nm 3350will infer the type from the option name, assuming 3351.Fl w 3352for pane options. 3353Global session or window options are listed if 3354.Fl g 3355is used. 3356.Fl v 3357shows only the option value, not the name. 3358If 3359.Fl q 3360is set, no error will be returned if 3361.Ar option 3362is unset. 3363.Fl H 3364includes hooks (omitted by default). 3365.Fl A 3366includes options inherited from a parent set of options, such options are 3367marked with an asterisk. 3368.El 3369.Pp 3370Available server options are: 3371.Bl -tag -width Ds 3372.It Ic backspace Ar key 3373Set the key sent by 3374.Nm 3375for backspace. 3376.It Ic buffer-limit Ar number 3377Set the number of buffers; as new buffers are added to the top of the stack, 3378old ones are removed from the bottom if necessary to maintain this maximum 3379length. 3380.It Xo Ic command-alias[] 3381.Ar name=value 3382.Xc 3383This is an array of custom aliases for commands. 3384If an unknown command matches 3385.Ar name , 3386it is replaced with 3387.Ar value . 3388For example, after: 3389.Pp 3390.Dl set -s command-alias[100] zoom='resize-pane -Z' 3391.Pp 3392Using: 3393.Pp 3394.Dl zoom -t:.1 3395.Pp 3396Is equivalent to: 3397.Pp 3398.Dl resize-pane -Z -t:.1 3399.Pp 3400Note that aliases are expanded when a command is parsed rather than when it is 3401executed, so binding an alias with 3402.Ic bind-key 3403will bind the expanded form. 3404.It Ic default-terminal Ar terminal 3405Set the default terminal for new windows created in this session - the 3406default value of the 3407.Ev TERM 3408environment variable. 3409For 3410.Nm 3411to work correctly, this 3412.Em must 3413be set to 3414.Ql screen , 3415.Ql tmux 3416or a derivative of them. 3417.It Ic copy-command Ar shell-command 3418Give the command to pipe to if the 3419.Ic copy-pipe 3420copy mode command is used without arguments. 3421.It Ic escape-time Ar time 3422Set the time in milliseconds for which 3423.Nm 3424waits after an escape is input to determine if it is part of a function or meta 3425key sequences. 3426The default is 500 milliseconds. 3427.It Ic editor Ar shell-command 3428Set the command used when 3429.Nm 3430runs an editor. 3431.It Xo Ic exit-empty 3432.Op Ic on | off 3433.Xc 3434If enabled (the default), the server will exit when there are no active 3435sessions. 3436.It Xo Ic exit-unattached 3437.Op Ic on | off 3438.Xc 3439If enabled, the server will exit when there are no attached clients. 3440.It Xo Ic extended-keys 3441.Op Ic on | off | always 3442.Xc 3443When 3444.Ic on 3445or 3446.Ic always , 3447the escape sequence to enable extended keys is sent to the terminal, if 3448.Nm 3449knows that it is supported. 3450.Nm 3451always recognises extended keys itself. 3452If this option is 3453.Ic on , 3454.Nm 3455will only forward extended keys to applications when they request them; if 3456.Ic always , 3457.Nm 3458will always forward the keys. 3459.It Xo Ic focus-events 3460.Op Ic on | off 3461.Xc 3462When enabled, focus events are requested from the terminal if supported and 3463passed through to applications running in 3464.Nm . 3465Attached clients should be detached and attached again after changing this 3466option. 3467.It Ic history-file Ar path 3468If not empty, a file to which 3469.Nm 3470will write command prompt history on exit and load it from on start. 3471.It Ic message-limit Ar number 3472Set the number of error or information messages to save in the message log for 3473each client. 3474.It Ic prompt-history-limit Ar number 3475Set the number of history items to save in the history file for each type of 3476command prompt. 3477.It Xo Ic set-clipboard 3478.Op Ic on | external | off 3479.Xc 3480Attempt to set the terminal clipboard content using the 3481.Xr xterm 1 3482escape sequence, if there is an 3483.Em \&Ms 3484entry in the 3485.Xr terminfo 5 3486description (see the 3487.Sx TERMINFO EXTENSIONS 3488section). 3489.Pp 3490If set to 3491.Ic on , 3492.Nm 3493will both accept the escape sequence to create a buffer and attempt to set 3494the terminal clipboard. 3495If set to 3496.Ic external , 3497.Nm 3498will attempt to set the terminal clipboard but ignore attempts 3499by applications to set 3500.Nm 3501buffers. 3502If 3503.Ic off , 3504.Nm 3505will neither accept the clipboard escape sequence nor attempt to set the 3506clipboard. 3507.Pp 3508Note that this feature needs to be enabled in 3509.Xr xterm 1 3510by setting the resource: 3511.Bd -literal -offset indent 3512disallowedWindowOps: 20,21,SetXprop 3513.Ed 3514.Pp 3515Or changing this property from the 3516.Xr xterm 1 3517interactive menu when required. 3518.It Ic terminal-features[] Ar string 3519Set terminal features for terminal types read from 3520.Xr terminfo 5 . 3521.Nm 3522has a set of named terminal features. 3523Each will apply appropriate changes to the 3524.Xr terminfo 5 3525entry in use. 3526.Pp 3527.Nm 3528can detect features for a few common terminals; this option can be used to 3529easily tell tmux about features supported by terminals it cannot detect. 3530The 3531.Ic terminal-overrides 3532option allows individual 3533.Xr terminfo 5 3534capabilities to be set instead, 3535.Ic terminal-features 3536is intended for classes of functionality supported in a standard way but not 3537reported by 3538.Xr terminfo 5 . 3539Care must be taken to configure this only with features the terminal actually 3540supports. 3541.Pp 3542This is an array option where each entry is a colon-separated string made up 3543of a terminal type pattern (matched using 3544.Xr fnmatch 3 ) 3545followed by a list of terminal features. 3546The available features are: 3547.Bl -tag -width Ds 3548.It 256 3549Supports 256 colours with the SGR escape sequences. 3550.It clipboard 3551Allows setting the system clipboard. 3552.It ccolour 3553Allows setting the cursor colour. 3554.It cstyle 3555Allows setting the cursor style. 3556.It extkeys 3557Supports extended keys. 3558.It focus 3559Supports focus reporting. 3560.It margins 3561Supports DECSLRM margins. 3562.It mouse 3563Supports 3564.Xr xterm 1 3565mouse sequences. 3566.It overline 3567Supports the overline SGR attribute. 3568.It rectfill 3569Supports the DECFRA rectangle fill escape sequence. 3570.It RGB 3571Supports RGB colour with the SGR escape sequences. 3572.It strikethrough 3573Supports the strikethrough SGR escape sequence. 3574.It sync 3575Supports synchronized updates. 3576.It title 3577Supports 3578.Xr xterm 1 3579title setting. 3580.It usstyle 3581Allows underscore style and colour to be set. 3582.El 3583.It Ic terminal-overrides[] Ar string 3584Allow terminal descriptions read using 3585.Xr terminfo 5 3586to be overridden. 3587Each entry is a colon-separated string made up of a terminal type pattern 3588(matched using 3589.Xr fnmatch 3 ) 3590and a set of 3591.Em name=value 3592entries. 3593.Pp 3594For example, to set the 3595.Ql clear 3596.Xr terminfo 5 3597entry to 3598.Ql \ee[H\ee[2J 3599for all terminal types matching 3600.Ql rxvt* : 3601.Pp 3602.Dl "rxvt*:clear=\ee[H\ee[2J" 3603.Pp 3604The terminal entry value is passed through 3605.Xr strunvis 3 3606before interpretation. 3607.It Ic user-keys[] Ar key 3608Set list of user-defined key escape sequences. 3609Each item is associated with a key named 3610.Ql User0 , 3611.Ql User1 , 3612and so on. 3613.Pp 3614For example: 3615.Bd -literal -offset indent 3616set -s user-keys[0] "\ee[5;30012~" 3617bind User0 resize-pane -L 3 3618.Ed 3619.El 3620.Pp 3621Available session options are: 3622.Bl -tag -width Ds 3623.It Xo Ic activity-action 3624.Op Ic any | none | current | other 3625.Xc 3626Set action on window activity when 3627.Ic monitor-activity 3628is on. 3629.Ic any 3630means activity in any window linked to a session causes a bell or message 3631(depending on 3632.Ic visual-activity ) 3633in the current window of that session, 3634.Ic none 3635means all activity is ignored (equivalent to 3636.Ic monitor-activity 3637being off), 3638.Ic current 3639means only activity in windows other than the current window are ignored and 3640.Ic other 3641means activity in the current window is ignored but not those in other windows. 3642.It Ic assume-paste-time Ar milliseconds 3643If keys are entered faster than one in 3644.Ar milliseconds , 3645they are assumed to have been pasted rather than typed and 3646.Nm 3647key bindings are not processed. 3648The default is one millisecond and zero disables. 3649.It Ic base-index Ar index 3650Set the base index from which an unused index should be searched when a new 3651window is created. 3652The default is zero. 3653.It Xo Ic bell-action 3654.Op Ic any | none | current | other 3655.Xc 3656Set action on a bell in a window when 3657.Ic monitor-bell 3658is on. 3659The values are the same as those for 3660.Ic activity-action . 3661.It Ic default-command Ar shell-command 3662Set the command used for new windows (if not specified when the window is 3663created) to 3664.Ar shell-command , 3665which may be any 3666.Xr sh 1 3667command. 3668The default is an empty string, which instructs 3669.Nm 3670to create a login shell using the value of the 3671.Ic default-shell 3672option. 3673.It Ic default-shell Ar path 3674Specify the default shell. 3675This is used as the login shell for new windows when the 3676.Ic default-command 3677option is set to empty, and must be the full path of the executable. 3678When started 3679.Nm 3680tries to set a default value from the first suitable of the 3681.Ev SHELL 3682environment variable, the shell returned by 3683.Xr getpwuid 3 , 3684or 3685.Pa /bin/sh . 3686This option should be configured when 3687.Nm 3688is used as a login shell. 3689.It Ic default-size Ar XxY 3690Set the default size of new windows when the 3691.Ic window-size 3692option is set to manual or when a session is created with 3693.Ic new-session 3694.Fl d . 3695The value is the width and height separated by an 3696.Ql x 3697character. 3698The default is 80x24. 3699.It Xo Ic destroy-unattached 3700.Op Ic on | off 3701.Xc 3702If enabled and the session is no longer attached to any clients, it is 3703destroyed. 3704.It Xo Ic detach-on-destroy 3705.Op Ic off | on | no-detached 3706.Xc 3707If on (the default), the client is detached when the session it is attached to 3708is destroyed. 3709If off, the client is switched to the most recently active of the remaining 3710sessions. 3711If 3712.Ic no-detached , 3713the client is detached only if there are no detached sessions; if detached 3714sessions exist, the client is switched to the most recently active. 3715.It Ic display-panes-active-colour Ar colour 3716Set the colour used by the 3717.Ic display-panes 3718command to show the indicator for the active pane. 3719.It Ic display-panes-colour Ar colour 3720Set the colour used by the 3721.Ic display-panes 3722command to show the indicators for inactive panes. 3723.It Ic display-panes-time Ar time 3724Set the time in milliseconds for which the indicators shown by the 3725.Ic display-panes 3726command appear. 3727.It Ic display-time Ar time 3728Set the amount of time for which status line messages and other on-screen 3729indicators are displayed. 3730If set to 0, messages and indicators are displayed until a key is pressed. 3731.Ar time 3732is in milliseconds. 3733.It Ic history-limit Ar lines 3734Set the maximum number of lines held in window history. 3735This setting applies only to new windows - existing window histories are not 3736resized and retain the limit at the point they were created. 3737.It Ic key-table Ar key-table 3738Set the default key table to 3739.Ar key-table 3740instead of 3741.Em root . 3742.It Ic lock-after-time Ar number 3743Lock the session (like the 3744.Ic lock-session 3745command) after 3746.Ar number 3747seconds of inactivity. 3748The default is not to lock (set to 0). 3749.It Ic lock-command Ar shell-command 3750Command to run when locking each client. 3751The default is to run 3752.Xr lock 1 3753with 3754.Fl np . 3755.It Ic message-command-style Ar style 3756Set status line message command style. 3757This is used for the command prompt with 3758.Xr vi 1 3759keys when in command mode. 3760For how to specify 3761.Ar style , 3762see the 3763.Sx STYLES 3764section. 3765.It Ic message-style Ar style 3766Set status line message style. 3767This is used for messages and for the command prompt. 3768For how to specify 3769.Ar style , 3770see the 3771.Sx STYLES 3772section. 3773.It Xo Ic mouse 3774.Op Ic on | off 3775.Xc 3776If on, 3777.Nm 3778captures the mouse and allows mouse events to be bound as key bindings. 3779See the 3780.Sx MOUSE SUPPORT 3781section for details. 3782.It Ic prefix Ar key 3783Set the key accepted as a prefix key. 3784In addition to the standard keys described under 3785.Sx KEY BINDINGS , 3786.Ic prefix 3787can be set to the special key 3788.Ql None 3789to set no prefix. 3790.It Ic prefix2 Ar key 3791Set a secondary key accepted as a prefix key. 3792Like 3793.Ic prefix , 3794.Ic prefix2 3795can be set to 3796.Ql None . 3797.It Xo Ic renumber-windows 3798.Op Ic on | off 3799.Xc 3800If on, when a window is closed in a session, automatically renumber the other 3801windows in numerical order. 3802This respects the 3803.Ic base-index 3804option if it has been set. 3805If off, do not renumber the windows. 3806.It Ic repeat-time Ar time 3807Allow multiple commands to be entered without pressing the prefix-key again 3808in the specified 3809.Ar time 3810milliseconds (the default is 500). 3811Whether a key repeats may be set when it is bound using the 3812.Fl r 3813flag to 3814.Ic bind-key . 3815Repeat is enabled for the default keys bound to the 3816.Ic resize-pane 3817command. 3818.It Xo Ic set-titles 3819.Op Ic on | off 3820.Xc 3821Attempt to set the client terminal title using the 3822.Em tsl 3823and 3824.Em fsl 3825.Xr terminfo 5 3826entries if they exist. 3827.Nm 3828automatically sets these to the \ee]0;...\e007 sequence if 3829the terminal appears to be 3830.Xr xterm 1 . 3831This option is off by default. 3832.It Ic set-titles-string Ar string 3833String used to set the client terminal title if 3834.Ic set-titles 3835is on. 3836Formats are expanded, see the 3837.Sx FORMATS 3838section. 3839.It Xo Ic silence-action 3840.Op Ic any | none | current | other 3841.Xc 3842Set action on window silence when 3843.Ic monitor-silence 3844is on. 3845The values are the same as those for 3846.Ic activity-action . 3847.It Xo Ic status 3848.Op Ic off | on | 2 | 3 | 4 | 5 3849.Xc 3850Show or hide the status line or specify its size. 3851Using 3852.Ic on 3853gives a status line one row in height; 3854.Ic 2 , 3855.Ic 3 , 3856.Ic 4 3857or 3858.Ic 5 3859more rows. 3860.It Ic status-format[] Ar format 3861Specify the format to be used for each line of the status line. 3862The default builds the top status line from the various individual status 3863options below. 3864.It Ic status-interval Ar interval 3865Update the status line every 3866.Ar interval 3867seconds. 3868By default, updates will occur every 15 seconds. 3869A setting of zero disables redrawing at interval. 3870.It Xo Ic status-justify 3871.Op Ic left | centre | right | absolute-centre 3872.Xc 3873Set the position of the window list in the status line: left, centre or right. 3874centre puts the window list in the relative centre of the available free space; 3875absolute-centre uses the centre of the entire horizontal space. 3876.It Xo Ic status-keys 3877.Op Ic vi | emacs 3878.Xc 3879Use vi or emacs-style 3880key bindings in the status line, for example at the command prompt. 3881The default is emacs, unless the 3882.Ev VISUAL 3883or 3884.Ev EDITOR 3885environment variables are set and contain the string 3886.Ql vi . 3887.It Ic status-left Ar string 3888Display 3889.Ar string 3890(by default the session name) to the left of the status line. 3891.Ar string 3892will be passed through 3893.Xr strftime 3 . 3894Also see the 3895.Sx FORMATS 3896and 3897.Sx STYLES 3898sections. 3899.Pp 3900For details on how the names and titles can be set see the 3901.Sx "NAMES AND TITLES" 3902section. 3903.Pp 3904Examples are: 3905.Bd -literal -offset indent 3906#(sysctl vm.loadavg) 3907#[fg=yellow,bold]#(apm -l)%%#[default] [#S] 3908.Ed 3909.Pp 3910The default is 3911.Ql "[#S] " . 3912.It Ic status-left-length Ar length 3913Set the maximum 3914.Ar length 3915of the left component of the status line. 3916The default is 10. 3917.It Ic status-left-style Ar style 3918Set the style of the left part of the status line. 3919For how to specify 3920.Ar style , 3921see the 3922.Sx STYLES 3923section. 3924.It Xo Ic status-position 3925.Op Ic top | bottom 3926.Xc 3927Set the position of the status line. 3928.It Ic status-right Ar string 3929Display 3930.Ar string 3931to the right of the status line. 3932By default, the current pane title in double quotes, the date and the time 3933are shown. 3934As with 3935.Ic status-left , 3936.Ar string 3937will be passed to 3938.Xr strftime 3 3939and character pairs are replaced. 3940.It Ic status-right-length Ar length 3941Set the maximum 3942.Ar length 3943of the right component of the status line. 3944The default is 40. 3945.It Ic status-right-style Ar style 3946Set the style of the right part of the status line. 3947For how to specify 3948.Ar style , 3949see the 3950.Sx STYLES 3951section. 3952.It Ic status-style Ar style 3953Set status line style. 3954For how to specify 3955.Ar style , 3956see the 3957.Sx STYLES 3958section. 3959.It Ic update-environment[] Ar variable 3960Set list of environment variables to be copied into the session environment 3961when a new session is created or an existing session is attached. 3962Any variables that do not exist in the source environment are set to be 3963removed from the session environment (as if 3964.Fl r 3965was given to the 3966.Ic set-environment 3967command). 3968.It Xo Ic visual-activity 3969.Op Ic on | off | both 3970.Xc 3971If on, display a message instead of sending a bell when activity occurs in a 3972window for which the 3973.Ic monitor-activity 3974window option is enabled. 3975If set to both, a bell and a message are produced. 3976.It Xo Ic visual-bell 3977.Op Ic on | off | both 3978.Xc 3979If on, a message is shown on a bell in a window for which the 3980.Ic monitor-bell 3981window option is enabled instead of it being passed through to the 3982terminal (which normally makes a sound). 3983If set to both, a bell and a message are produced. 3984Also see the 3985.Ic bell-action 3986option. 3987.It Xo Ic visual-silence 3988.Op Ic on | off | both 3989.Xc 3990If 3991.Ic monitor-silence 3992is enabled, prints a message after the interval has expired on a given window 3993instead of sending a bell. 3994If set to both, a bell and a message are produced. 3995.It Ic word-separators Ar string 3996Sets the session's conception of what characters are considered word 3997separators, for the purposes of the next and previous word commands in 3998copy mode. 3999.Pp 4000Available window options are: 4001.Pp 4002.Bl -tag -width Ds -compact 4003.It Xo Ic aggressive-resize 4004.Op Ic on | off 4005.Xc 4006Aggressively resize the chosen window. 4007This means that 4008.Nm 4009will resize the window to the size of the smallest or largest session 4010(see the 4011.Ic window-size 4012option) for which it is the current window, rather than the session to 4013which it is attached. 4014The window may resize when the current window is changed on another 4015session; this option is good for full-screen programs which support 4016.Dv SIGWINCH 4017and poor for interactive programs such as shells. 4018.Pp 4019.It Xo Ic automatic-rename 4020.Op Ic on | off 4021.Xc 4022Control automatic window renaming. 4023When this setting is enabled, 4024.Nm 4025will rename the window automatically using the format specified by 4026.Ic automatic-rename-format . 4027This flag is automatically disabled for an individual window when a name 4028is specified at creation with 4029.Ic new-window 4030or 4031.Ic new-session , 4032or later with 4033.Ic rename-window , 4034or with a terminal escape sequence. 4035It may be switched off globally with: 4036.Bd -literal -offset indent 4037set-option -wg automatic-rename off 4038.Ed 4039.Pp 4040.It Ic automatic-rename-format Ar format 4041The format (see 4042.Sx FORMATS ) 4043used when the 4044.Ic automatic-rename 4045option is enabled. 4046.Pp 4047.It Ic clock-mode-colour Ar colour 4048Set clock colour. 4049.Pp 4050.It Xo Ic clock-mode-style 4051.Op Ic 12 | 24 4052.Xc 4053Set clock hour format. 4054.Pp 4055.It Ic main-pane-height Ar height 4056.It Ic main-pane-width Ar width 4057Set the width or height of the main (left or top) pane in the 4058.Ic main-horizontal 4059or 4060.Ic main-vertical 4061layouts. 4062If suffixed by 4063.Ql % , 4064this is a percentage of the window size. 4065.Pp 4066.It Ic copy-mode-match-style Ar style 4067Set the style of search matches in copy mode. 4068For how to specify 4069.Ar style , 4070see the 4071.Sx STYLES 4072section. 4073.Pp 4074.It Ic copy-mode-mark-style Ar style 4075Set the style of the line containing the mark in copy mode. 4076For how to specify 4077.Ar style , 4078see the 4079.Sx STYLES 4080section. 4081.Pp 4082.It Ic copy-mode-current-match-style Ar style 4083Set the style of the current search match in copy mode. 4084For how to specify 4085.Ar style , 4086see the 4087.Sx STYLES 4088section. 4089.Pp 4090.It Xo Ic mode-keys 4091.Op Ic vi | emacs 4092.Xc 4093Use vi or emacs-style key bindings in copy mode. 4094The default is emacs, unless 4095.Ev VISUAL 4096or 4097.Ev EDITOR 4098contains 4099.Ql vi . 4100.Pp 4101.It Ic mode-style Ar style 4102Set window modes style. 4103For how to specify 4104.Ar style , 4105see the 4106.Sx STYLES 4107section. 4108.Pp 4109.It Xo Ic monitor-activity 4110.Op Ic on | off 4111.Xc 4112Monitor for activity in the window. 4113Windows with activity are highlighted in the status line. 4114.Pp 4115.It Xo Ic monitor-bell 4116.Op Ic on | off 4117.Xc 4118Monitor for a bell in the window. 4119Windows with a bell are highlighted in the status line. 4120.Pp 4121.It Xo Ic monitor-silence 4122.Op Ic interval 4123.Xc 4124Monitor for silence (no activity) in the window within 4125.Ic interval 4126seconds. 4127Windows that have been silent for the interval are highlighted in the 4128status line. 4129An interval of zero disables the monitoring. 4130.Pp 4131.It Ic other-pane-height Ar height 4132Set the height of the other panes (not the main pane) in the 4133.Ic main-horizontal 4134layout. 4135If this option is set to 0 (the default), it will have no effect. 4136If both the 4137.Ic main-pane-height 4138and 4139.Ic other-pane-height 4140options are set, the main pane will grow taller to make the other panes the 4141specified height, but will never shrink to do so. 4142If suffixed by 4143.Ql % , 4144this is a percentage of the window size. 4145.Pp 4146.It Ic other-pane-width Ar width 4147Like 4148.Ic other-pane-height , 4149but set the width of other panes in the 4150.Ic main-vertical 4151layout. 4152.Pp 4153.It Ic pane-active-border-style Ar style 4154Set the pane border style for the currently active pane. 4155For how to specify 4156.Ar style , 4157see the 4158.Sx STYLES 4159section. 4160Attributes are ignored. 4161.It Ic pane-base-index Ar index 4162Like 4163.Ic base-index , 4164but set the starting index for pane numbers. 4165.Pp 4166.It Ic pane-border-format Ar format 4167Set the text shown in pane border status lines. 4168.Pp 4169.It Ic pane-border-lines Ar type 4170Set the type of characters used for drawing pane borders. 4171.Ar type 4172may be one of: 4173.Bl -tag -width Ds 4174.It single 4175single lines using ACS or UTF-8 characters 4176.It double 4177double lines using UTF-8 characters 4178.It heavy 4179heavy lines using UTF-8 characters 4180.It simple 4181simple ASCII characters 4182.It number 4183the pane number 4184.El 4185.Pp 4186.Ql double 4187and 4188.Ql heavy 4189will fall back to standard ACS line drawing when UTF-8 is not supported. 4190.Pp 4191.It Xo Ic pane-border-status 4192.Op Ic off | top | bottom 4193.Xc 4194Turn pane border status lines off or set their position. 4195.Pp 4196.It Ic pane-border-style Ar style 4197Set the pane border style for panes aside from the active pane. 4198For how to specify 4199.Ar style , 4200see the 4201.Sx STYLES 4202section. 4203Attributes are ignored. 4204.Pp 4205.It Ic window-status-activity-style Ar style 4206Set status line style for windows with an activity alert. 4207For how to specify 4208.Ar style , 4209see the 4210.Sx STYLES 4211section. 4212.Pp 4213.It Ic window-status-bell-style Ar style 4214Set status line style for windows with a bell alert. 4215For how to specify 4216.Ar style , 4217see the 4218.Sx STYLES 4219section. 4220.Pp 4221.It Ic window-status-current-format Ar string 4222Like 4223.Ar window-status-format , 4224but is the format used when the window is the current window. 4225.Pp 4226.It Ic window-status-current-style Ar style 4227Set status line style for the currently active window. 4228For how to specify 4229.Ar style , 4230see the 4231.Sx STYLES 4232section. 4233.Pp 4234.It Ic window-status-format Ar string 4235Set the format in which the window is displayed in the status line window list. 4236See the 4237.Sx FORMATS 4238and 4239.Sx STYLES 4240sections. 4241.Pp 4242.It Ic window-status-last-style Ar style 4243Set status line style for the last active window. 4244For how to specify 4245.Ar style , 4246see the 4247.Sx STYLES 4248section. 4249.Pp 4250.It Ic window-status-separator Ar string 4251Sets the separator drawn between windows in the status line. 4252The default is a single space character. 4253.Pp 4254.It Ic window-status-style Ar style 4255Set status line style for a single window. 4256For how to specify 4257.Ar style , 4258see the 4259.Sx STYLES 4260section. 4261.Pp 4262.It Xo Ic window-size 4263.Ar largest | Ar smallest | Ar manual | Ar latest 4264.Xc 4265Configure how 4266.Nm 4267determines the window size. 4268If set to 4269.Ar largest , 4270the size of the largest attached session is used; if 4271.Ar smallest , 4272the size of the smallest. 4273If 4274.Ar manual , 4275the size of a new window is set from the 4276.Ic default-size 4277option and windows are resized automatically. 4278With 4279.Ar latest , 4280.Nm 4281uses the size of the client that had the most recent activity. 4282See also the 4283.Ic resize-window 4284command and the 4285.Ic aggressive-resize 4286option. 4287.Pp 4288.It Xo Ic wrap-search 4289.Op Ic on | off 4290.Xc 4291If this option is set, searches will wrap around the end of the pane contents. 4292The default is on. 4293.El 4294.Pp 4295Available pane options are: 4296.Pp 4297.Bl -tag -width Ds -compact 4298.It Xo Ic allow-rename 4299.Op Ic on | off 4300.Xc 4301Allow programs in the pane to change the window name using a terminal escape 4302sequence (\eek...\ee\e\e). 4303.Pp 4304.It Xo Ic alternate-screen 4305.Op Ic on | off 4306.Xc 4307This option configures whether programs running inside the pane may use the 4308terminal alternate screen feature, which allows the 4309.Em smcup 4310and 4311.Em rmcup 4312.Xr terminfo 5 4313capabilities. 4314The alternate screen feature preserves the contents of the window when an 4315interactive application starts and restores it on exit, so that any output 4316visible before the application starts reappears unchanged after it exits. 4317.Pp 4318.It Ic pane-colours[] Ar colour 4319The default colour palette. 4320Each entry in the array defines the colour 4321.Nm 4322uses when the colour with that index is requested. 4323The index may be from zero to 255. 4324.Pp 4325.It Xo Ic remain-on-exit 4326.Op Ic on | off | failed 4327.Xc 4328A pane with this flag set is not destroyed when the program running in it 4329exits. 4330If set to 4331.Ic failed , 4332then only when the program exit status is not zero. 4333The pane may be reactivated with the 4334.Ic respawn-pane 4335command. 4336.Pp 4337.It Xo Ic synchronize-panes 4338.Op Ic on | off 4339.Xc 4340Duplicate input to all other panes in the same window where this option is also 4341on (only for panes that are not in any mode). 4342.Pp 4343.It Ic window-active-style Ar style 4344Set the pane style when it is the active pane. 4345For how to specify 4346.Ar style , 4347see the 4348.Sx STYLES 4349section. 4350.Pp 4351.It Ic window-style Ar style 4352Set the pane style. 4353For how to specify 4354.Ar style , 4355see the 4356.Sx STYLES 4357section. 4358.El 4359.El 4360.Sh HOOKS 4361.Nm 4362allows commands to run on various triggers, called 4363.Em hooks . 4364Most 4365.Nm 4366commands have an 4367.Em after 4368hook and there are a number of hooks not associated with commands. 4369.Pp 4370Hooks are stored as array options, members of the array are executed in 4371order when the hook is triggered. 4372Like options different hooks may be global or belong to a session, window or pane. 4373Hooks may be configured with the 4374.Ic set-hook 4375or 4376.Ic set-option 4377commands and displayed with 4378.Ic show-hooks 4379or 4380.Ic show-options 4381.Fl H . 4382The following two commands are equivalent: 4383.Bd -literal -offset indent. 4384set-hook -g pane-mode-changed[42] 'set -g status-left-style bg=red' 4385set-option -g pane-mode-changed[42] 'set -g status-left-style bg=red' 4386.Ed 4387.Pp 4388Setting a hook without specifying an array index clears the hook and sets the 4389first member of the array. 4390.Pp 4391A command's after 4392hook is run after it completes, except when the command is run as part of a hook 4393itself. 4394They are named with an 4395.Ql after- 4396prefix. 4397For example, the following command adds a hook to select the even-vertical 4398layout after every 4399.Ic split-window : 4400.Bd -literal -offset indent 4401set-hook -g after-split-window "selectl even-vertical" 4402.Ed 4403.Pp 4404All the notifications listed in the 4405.Sx CONTROL MODE 4406section are hooks (without any arguments), except 4407.Ic %exit . 4408The following additional hooks are available: 4409.Bl -tag -width "XXXXXXXXXXXXXXXXXXXXXX" 4410.It alert-activity 4411Run when a window has activity. 4412See 4413.Ic monitor-activity . 4414.It alert-bell 4415Run when a window has received a bell. 4416See 4417.Ic monitor-bell . 4418.It alert-silence 4419Run when a window has been silent. 4420See 4421.Ic monitor-silence . 4422.It client-active 4423Run when a client becomes the latest active client of its session. 4424.It client-attached 4425Run when a client is attached. 4426.It client-detached 4427Run when a client is detached 4428.It client-focus-in 4429Run when focus enters a client 4430.It client-focus-out 4431Run when focus exits a client 4432.It client-resized 4433Run when a client is resized. 4434.It client-session-changed 4435Run when a client's attached session is changed. 4436.It pane-died 4437Run when the program running in a pane exits, but 4438.Ic remain-on-exit 4439is on so the pane has not closed. 4440.It pane-exited 4441Run when the program running in a pane exits. 4442.It pane-focus-in 4443Run when the focus enters a pane, if the 4444.Ic focus-events 4445option is on. 4446.It pane-focus-out 4447Run when the focus exits a pane, if the 4448.Ic focus-events 4449option is on. 4450.It pane-set-clipboard 4451Run when the terminal clipboard is set using the 4452.Xr xterm 1 4453escape sequence. 4454.It session-created 4455Run when a new session created. 4456.It session-closed 4457Run when a session closed. 4458.It session-renamed 4459Run when a session is renamed. 4460.It window-linked 4461Run when a window is linked into a session. 4462.It window-renamed 4463Run when a window is renamed. 4464.It window-unlinked 4465Run when a window is unlinked from a session. 4466.El 4467.Pp 4468Hooks are managed with these commands: 4469.Bl -tag -width Ds 4470.It Xo Ic set-hook 4471.Op Fl agpRuw 4472.Op Fl t Ar target-pane 4473.Ar hook-name 4474.Ar command 4475.Xc 4476Without 4477.Fl R , 4478sets (or with 4479.Fl u 4480unsets) hook 4481.Ar hook-name 4482to 4483.Ar command . 4484The flags are the same as for 4485.Ic set-option . 4486.Pp 4487With 4488.Fl R , 4489run 4490.Ar hook-name 4491immediately. 4492.It Xo Ic show-hooks 4493.Op Fl gpw 4494.Op Fl t Ar target-pane 4495.Xc 4496Shows hooks. 4497The flags are the same as for 4498.Ic show-options . 4499.El 4500.Sh MOUSE SUPPORT 4501If the 4502.Ic mouse 4503option is on (the default is off), 4504.Nm 4505allows mouse events to be bound as keys. 4506The name of each key is made up of a mouse event (such as 4507.Ql MouseUp1 ) 4508and a location suffix, one of the following: 4509.Bl -column "XXXXXXXXXXXXX" -offset indent 4510.It Li "Pane" Ta "the contents of a pane" 4511.It Li "Border" Ta "a pane border" 4512.It Li "Status" Ta "the status line window list" 4513.It Li "StatusLeft" Ta "the left part of the status line" 4514.It Li "StatusRight" Ta "the right part of the status line" 4515.It Li "StatusDefault" Ta "any other part of the status line" 4516.El 4517.Pp 4518The following mouse events are available: 4519.Bl -column "MouseDown1" "MouseDrag1" "WheelDown" -offset indent 4520.It Li "WheelUp" Ta "WheelDown" Ta "" 4521.It Li "MouseDown1" Ta "MouseUp1" Ta "MouseDrag1" Ta "MouseDragEnd1" 4522.It Li "MouseDown2" Ta "MouseUp2" Ta "MouseDrag2" Ta "MouseDragEnd2" 4523.It Li "MouseDown3" Ta "MouseUp3" Ta "MouseDrag3" Ta "MouseDragEnd3" 4524.It Li "SecondClick1" Ta "SecondClick2" Ta "SecondClick3" 4525.It Li "DoubleClick1" Ta "DoubleClick2" Ta "DoubleClick3" 4526.It Li "TripleClick1" Ta "TripleClick2" Ta "TripleClick3" 4527.El 4528.Pp 4529The 4530.Ql SecondClick 4531events are fired for the second click of a double click, even if there may be a 4532third click which will fire 4533.Ql TripleClick 4534instead of 4535.Ql DoubleClick . 4536.Pp 4537Each should be suffixed with a location, for example 4538.Ql MouseDown1Status . 4539.Pp 4540The special token 4541.Ql {mouse} 4542or 4543.Ql = 4544may be used as 4545.Ar target-window 4546or 4547.Ar target-pane 4548in commands bound to mouse key bindings. 4549It resolves to the window or pane over which the mouse event took place 4550(for example, the window in the status line over which button 1 was released for a 4551.Ql MouseUp1Status 4552binding, or the pane over which the wheel was scrolled for a 4553.Ql WheelDownPane 4554binding). 4555.Pp 4556The 4557.Ic send-keys 4558.Fl M 4559flag may be used to forward a mouse event to a pane. 4560.Pp 4561The default key bindings allow the mouse to be used to select and resize panes, 4562to copy text and to change window using the status line. 4563These take effect if the 4564.Ic mouse 4565option is turned on. 4566.Sh FORMATS 4567Certain commands accept the 4568.Fl F 4569flag with a 4570.Ar format 4571argument. 4572This is a string which controls the output format of the command. 4573Format variables are enclosed in 4574.Ql #{ 4575and 4576.Ql } , 4577for example 4578.Ql #{session_name} . 4579The possible variables are listed in the table below, or the name of a 4580.Nm 4581option may be used for an option's value. 4582Some variables have a shorter alias such as 4583.Ql #S ; 4584.Ql ## 4585is replaced by a single 4586.Ql # , 4587.Ql #, 4588by a 4589.Ql \&, 4590and 4591.Ql #} 4592by a 4593.Ql } . 4594.Pp 4595Conditionals are available by prefixing with 4596.Ql \&? 4597and separating two alternatives with a comma; 4598if the specified variable exists and is not zero, the first alternative 4599is chosen, otherwise the second is used. 4600For example 4601.Ql #{?session_attached,attached,not attached} 4602will include the string 4603.Ql attached 4604if the session is attached and the string 4605.Ql not attached 4606if it is unattached, or 4607.Ql #{?automatic-rename,yes,no} 4608will include 4609.Ql yes 4610if 4611.Ic automatic-rename 4612is enabled, or 4613.Ql no 4614if not. 4615Conditionals can be nested arbitrarily. 4616Inside a conditional, 4617.Ql \&, 4618and 4619.Ql } 4620must be escaped as 4621.Ql #, 4622and 4623.Ql #} , 4624unless they are part of a 4625.Ql #{...} 4626replacement. 4627For example: 4628.Bd -literal -offset indent 4629#{?pane_in_mode,#[fg=white#,bg=red],#[fg=red#,bg=white]}#W . 4630.Ed 4631.Pp 4632String comparisons may be expressed by prefixing two comma-separated 4633alternatives by 4634.Ql == , 4635.Ql != , 4636.Ql < , 4637.Ql > , 4638.Ql <= 4639or 4640.Ql >= 4641and a colon. 4642For example 4643.Ql #{==:#{host},myhost} 4644will be replaced by 4645.Ql 1 4646if running on 4647.Ql myhost , 4648otherwise by 4649.Ql 0 . 4650.Ql || 4651and 4652.Ql && 4653evaluate to true if either or both of two comma-separated alternatives are 4654true, for example 4655.Ql #{||:#{pane_in_mode},#{alternate_on}} . 4656.Pp 4657An 4658.Ql m 4659specifies an 4660.Xr fnmatch 3 4661or regular expression comparison. 4662The first argument is the pattern and the second the string to compare. 4663An optional argument specifies flags: 4664.Ql r 4665means the pattern is a regular expression instead of the default 4666.Xr fnmatch 3 4667pattern, and 4668.Ql i 4669means to ignore case. 4670For example: 4671.Ql #{m:*foo*,#{host}} 4672or 4673.Ql #{m/ri:^A,MYVAR} . 4674A 4675.Ql C 4676performs a search for an 4677.Xr fnmatch 3 4678pattern or regular expression in the pane content and evaluates to zero if not 4679found, or a line number if found. 4680Like 4681.Ql m , 4682an 4683.Ql r 4684flag means search for a regular expression and 4685.Ql i 4686ignores case. 4687For example: 4688.Ql #{C/r:^Start} 4689.Pp 4690Numeric operators may be performed by prefixing two comma-separated alternatives with an 4691.Ql e 4692and an operator. 4693An optional 4694.Ql f 4695flag may be given after the operator to use floating point numbers, otherwise integers are used. 4696This may be followed by a number giving the number of decimal places to use for the result. 4697The available operators are: 4698addition 4699.Ql + , 4700subtraction 4701.Ql - , 4702multiplication 4703.Ql * , 4704division 4705.Ql / , 4706modulus 4707.Ql m 4708or 4709.Ql % 4710(note that 4711.Ql % 4712must be escaped as 4713.Ql %% 4714in formats which are also expanded by 4715.Xr strftime 3 ) 4716and numeric comparison operators 4717.Ql == , 4718.Ql != , 4719.Ql < , 4720.Ql <= , 4721.Ql > 4722and 4723.Ql >= . 4724For example, 4725.Ql #{e|*|f|4:5.5,3} 4726multiplies 5.5 by 3 for a result with four decimal places and 4727.Ql #{e|%%:7,3} 4728returns the modulus of 7 and 3. 4729.Ql a 4730replaces a numeric argument by its ASCII equivalent, so 4731.Ql #{a:98} 4732results in 4733.Ql b . 4734.Pp 4735A limit may be placed on the length of the resultant string by prefixing it 4736by an 4737.Ql = , 4738a number and a colon. 4739Positive numbers count from the start of the string and negative from the end, 4740so 4741.Ql #{=5:pane_title} 4742will include at most the first five characters of the pane title, or 4743.Ql #{=-5:pane_title} 4744the last five characters. 4745A suffix or prefix may be given as a second argument - if provided then it is 4746appended or prepended to the string if the length has been trimmed, for example 4747.Ql #{=/5/...:pane_title} 4748will append 4749.Ql ... 4750if the pane title is more than five characters. 4751Similarly, 4752.Ql p 4753pads the string to a given width, for example 4754.Ql #{p10:pane_title} 4755will result in a width of at least 10 characters. 4756A positive width pads on the left, a negative on the right. 4757.Ql n 4758expands to the length of the variable and 4759.Ql w 4760to its width when displayed, for example 4761.Ql #{n:window_name} . 4762.Pp 4763Prefixing a time variable with 4764.Ql t:\& 4765will convert it to a string, so if 4766.Ql #{window_activity} 4767gives 4768.Ql 1445765102 , 4769.Ql #{t:window_activity} 4770gives 4771.Ql Sun Oct 25 09:25:02 2015 . 4772Adding 4773.Ql p ( 4774.Ql `t/p` ) 4775will use shorter but less accurate time format for times in the past. 4776A custom format may be given using an 4777.Ql f 4778suffix (note that 4779.Ql % 4780must be escaped as 4781.Ql %% 4782if the format is separately being passed through 4783.Xr strftime 3 , 4784for example in the 4785.Ic status-left 4786option): 4787.Ql #{t/f/%%H#:%%M:window_activity} , 4788see 4789.Xr strftime 3 . 4790.Pp 4791The 4792.Ql b:\& 4793and 4794.Ql d:\& 4795prefixes are 4796.Xr basename 3 4797and 4798.Xr dirname 3 4799of the variable respectively. 4800.Ql q:\& 4801will escape 4802.Xr sh 1 4803special characters or with a 4804.Ql h 4805suffix, escape hash characters (so 4806.Ql # 4807becomes 4808.Ql ## ) . 4809.Ql E:\& 4810will expand the format twice, for example 4811.Ql #{E:status-left} 4812is the result of expanding the content of the 4813.Ic status-left 4814option rather than the option itself. 4815.Ql T:\& 4816is like 4817.Ql E:\& 4818but also expands 4819.Xr strftime 3 4820specifiers. 4821.Ql S:\& , 4822.Ql W:\& 4823or 4824.Ql P:\& 4825will loop over each session, window or pane and insert the format once 4826for each. 4827For windows and panes, two comma-separated formats may be given: 4828the second is used for the current window or active pane. 4829For example, to get a list of windows formatted like the status line: 4830.Bd -literal -offset indent 4831#{W:#{E:window-status-format} ,#{E:window-status-current-format} } 4832.Ed 4833.Pp 4834.Ql N:\& 4835checks if a window (without any suffix or with the 4836.Ql w 4837suffix) or a session (with the 4838.Ql s 4839suffix) name exists, for example 4840.Ql `N/w:foo` 4841is replaced with 1 if a window named 4842.Ql foo 4843exists. 4844.Pp 4845A prefix of the form 4846.Ql s/foo/bar/:\& 4847will substitute 4848.Ql foo 4849with 4850.Ql bar 4851throughout. 4852The first argument may be an extended regular expression and a final argument may be 4853.Ql i 4854to ignore case, for example 4855.Ql s/a(.)/\e1x/i:\& 4856would change 4857.Ql abABab 4858into 4859.Ql bxBxbx . 4860.Pp 4861In addition, the last line of a shell command's output may be inserted using 4862.Ql #() . 4863For example, 4864.Ql #(uptime) 4865will insert the system's uptime. 4866When constructing formats, 4867.Nm 4868does not wait for 4869.Ql #() 4870commands to finish; instead, the previous result from running the same command is used, 4871or a placeholder if the command has not been run before. 4872If the command hasn't exited, the most recent line of output will be used, but the status 4873line will not be updated more than once a second. 4874Commands are executed with the 4875.Nm 4876global environment set (see the 4877.Sx GLOBAL AND SESSION ENVIRONMENT 4878section). 4879.Pp 4880An 4881.Ql l 4882specifies that a string should be interpreted literally and not expanded. 4883For example 4884.Ql #{l:#{?pane_in_mode,yes,no}} 4885will be replaced by 4886.Ql #{?pane_in_mode,yes,no} . 4887.Pp 4888The following variables are available, where appropriate: 4889.Bl -column "XXXXXXXXXXXXXXXXXXX" "XXXXX" 4890.It Sy "Variable name" Ta Sy "Alias" Ta Sy "Replaced with" 4891.It Li "active_window_index" Ta "" Ta "Index of active window in session" 4892.It Li "alternate_on" Ta "" Ta "1 if pane is in alternate screen" 4893.It Li "alternate_saved_x" Ta "" Ta "Saved cursor X in alternate screen" 4894.It Li "alternate_saved_y" Ta "" Ta "Saved cursor Y in alternate screen" 4895.It Li "buffer_created" Ta "" Ta "Time buffer created" 4896.It Li "buffer_name" Ta "" Ta "Name of buffer" 4897.It Li "buffer_sample" Ta "" Ta "Sample of start of buffer" 4898.It Li "buffer_size" Ta "" Ta "Size of the specified buffer in bytes" 4899.It Li "client_activity" Ta "" Ta "Time client last had activity" 4900.It Li "client_cell_height" Ta "" Ta "Height of each client cell in pixels" 4901.It Li "client_cell_width" Ta "" Ta "Width of each client cell in pixels" 4902.It Li "client_control_mode" Ta "" Ta "1 if client is in control mode" 4903.It Li "client_created" Ta "" Ta "Time client created" 4904.It Li "client_discarded" Ta "" Ta "Bytes discarded when client behind" 4905.It Li "client_flags" Ta "" Ta "List of client flags" 4906.It Li "client_height" Ta "" Ta "Height of client" 4907.It Li "client_key_table" Ta "" Ta "Current key table" 4908.It Li "client_last_session" Ta "" Ta "Name of the client's last session" 4909.It Li "client_name" Ta "" Ta "Name of client" 4910.It Li "client_pid" Ta "" Ta "PID of client process" 4911.It Li "client_prefix" Ta "" Ta "1 if prefix key has been pressed" 4912.It Li "client_readonly" Ta "" Ta "1 if client is readonly" 4913.It Li "client_session" Ta "" Ta "Name of the client's session" 4914.It Li "client_termfeatures" Ta "" Ta "Terminal features of client, if any" 4915.It Li "client_termname" Ta "" Ta "Terminal name of client" 4916.It Li "client_termtype" Ta "" Ta "Terminal type of client, if available" 4917.It Li "client_tty" Ta "" Ta "Pseudo terminal of client" 4918.It Li "client_utf8" Ta "" Ta "1 if client supports UTF-8" 4919.It Li "client_width" Ta "" Ta "Width of client" 4920.It Li "client_written" Ta "" Ta "Bytes written to client" 4921.It Li "command" Ta "" Ta "Name of command in use, if any" 4922.It Li "command_list_alias" Ta "" Ta "Command alias if listing commands" 4923.It Li "command_list_name" Ta "" Ta "Command name if listing commands" 4924.It Li "command_list_usage" Ta "" Ta "Command usage if listing commands" 4925.It Li "config_files" Ta "" Ta "List of configuration files loaded" 4926.It Li "copy_cursor_line" Ta "" Ta "Line the cursor is on in copy mode" 4927.It Li "copy_cursor_word" Ta "" Ta "Word under cursor in copy mode" 4928.It Li "copy_cursor_x" Ta "" Ta "Cursor X position in copy mode" 4929.It Li "copy_cursor_y" Ta "" Ta "Cursor Y position in copy mode" 4930.It Li "current_file" Ta "" Ta "Current configuration file" 4931.It Li "cursor_character" Ta "" Ta "Character at cursor in pane" 4932.It Li "cursor_flag" Ta "" Ta "Pane cursor flag" 4933.It Li "cursor_x" Ta "" Ta "Cursor X position in pane" 4934.It Li "cursor_y" Ta "" Ta "Cursor Y position in pane" 4935.It Li "history_bytes" Ta "" Ta "Number of bytes in window history" 4936.It Li "history_limit" Ta "" Ta "Maximum window history lines" 4937.It Li "history_size" Ta "" Ta "Size of history in lines" 4938.It Li "hook" Ta "" Ta "Name of running hook, if any" 4939.It Li "hook_client" Ta "" Ta "Name of client where hook was run, if any" 4940.It Li "hook_pane" Ta "" Ta "ID of pane where hook was run, if any" 4941.It Li "hook_session" Ta "" Ta "ID of session where hook was run, if any" 4942.It Li "hook_session_name" Ta "" Ta "Name of session where hook was run, if any" 4943.It Li "hook_window" Ta "" Ta "ID of window where hook was run, if any" 4944.It Li "hook_window_name" Ta "" Ta "Name of window where hook was run, if any" 4945.It Li "host" Ta "#H" Ta "Hostname of local host" 4946.It Li "host_short" Ta "#h" Ta "Hostname of local host (no domain name)" 4947.It Li "insert_flag" Ta "" Ta "Pane insert flag" 4948.It Li "keypad_cursor_flag" Ta "" Ta "Pane keypad cursor flag" 4949.It Li "keypad_flag" Ta "" Ta "Pane keypad flag" 4950.It Li "last_window_index" Ta "" Ta "Index of last window in session" 4951.It Li "line" Ta "" Ta "Line number in the list" 4952.It Li "mouse_all_flag" Ta "" Ta "Pane mouse all flag" 4953.It Li "mouse_any_flag" Ta "" Ta "Pane mouse any flag" 4954.It Li "mouse_button_flag" Ta "" Ta "Pane mouse button flag" 4955.It Li "mouse_line" Ta "" Ta "Line under mouse, if any" 4956.It Li "mouse_sgr_flag" Ta "" Ta "Pane mouse SGR flag" 4957.It Li "mouse_standard_flag" Ta "" Ta "Pane mouse standard flag" 4958.It Li "mouse_utf8_flag" Ta "" Ta "Pane mouse UTF-8 flag" 4959.It Li "mouse_word" Ta "" Ta "Word under mouse, if any" 4960.It Li "mouse_x" Ta "" Ta "Mouse X position, if any" 4961.It Li "mouse_y" Ta "" Ta "Mouse Y position, if any" 4962.It Li "origin_flag" Ta "" Ta "Pane origin flag" 4963.It Li "pane_active" Ta "" Ta "1 if active pane" 4964.It Li "pane_at_bottom" Ta "" Ta "1 if pane is at the bottom of window" 4965.It Li "pane_at_left" Ta "" Ta "1 if pane is at the left of window" 4966.It Li "pane_at_right" Ta "" Ta "1 if pane is at the right of window" 4967.It Li "pane_at_top" Ta "" Ta "1 if pane is at the top of window" 4968.It Li "pane_bg" Ta "" Ta "Pane background colour" 4969.It Li "pane_bottom" Ta "" Ta "Bottom of pane" 4970.It Li "pane_current_command" Ta "" Ta "Current command if available" 4971.It Li "pane_current_path" Ta "" Ta "Current path if available" 4972.It Li "pane_dead" Ta "" Ta "1 if pane is dead" 4973.It Li "pane_dead_status" Ta "" Ta "Exit status of process in dead pane" 4974.It Li "pane_fg" Ta "" Ta "Pane foreground colour" 4975.It Li "pane_format" Ta "" Ta "1 if format is for a pane" 4976.It Li "pane_height" Ta "" Ta "Height of pane" 4977.It Li "pane_id" Ta "#D" Ta "Unique pane ID" 4978.It Li "pane_in_mode" Ta "" Ta "1 if pane is in a mode" 4979.It Li "pane_index" Ta "#P" Ta "Index of pane" 4980.It Li "pane_input_off" Ta "" Ta "1 if input to pane is disabled" 4981.It Li "pane_last" Ta "" Ta "1 if last pane" 4982.It Li "pane_left" Ta "" Ta "Left of pane" 4983.It Li "pane_marked" Ta "" Ta "1 if this is the marked pane" 4984.It Li "pane_marked_set" Ta "" Ta "1 if a marked pane is set" 4985.It Li "pane_mode" Ta "" Ta "Name of pane mode, if any" 4986.It Li "pane_path" Ta "" Ta "Path of pane (can be set by application)" 4987.It Li "pane_pid" Ta "" Ta "PID of first process in pane" 4988.It Li "pane_pipe" Ta "" Ta "1 if pane is being piped" 4989.It Li "pane_right" Ta "" Ta "Right of pane" 4990.It Li "pane_search_string" Ta "" Ta "Last search string in copy mode" 4991.It Li "pane_start_command" Ta "" Ta "Command pane started with" 4992.It Li "pane_synchronized" Ta "" Ta "1 if pane is synchronized" 4993.It Li "pane_tabs" Ta "" Ta "Pane tab positions" 4994.It Li "pane_title" Ta "#T" Ta "Title of pane (can be set by application)" 4995.It Li "pane_top" Ta "" Ta "Top of pane" 4996.It Li "pane_tty" Ta "" Ta "Pseudo terminal of pane" 4997.It Li "pane_width" Ta "" Ta "Width of pane" 4998.It Li "pid" Ta "" Ta "Server PID" 4999.It Li "rectangle_toggle" Ta "" Ta "1 if rectangle selection is activated" 5000.It Li "scroll_position" Ta "" Ta "Scroll position in copy mode" 5001.It Li "scroll_region_lower" Ta "" Ta "Bottom of scroll region in pane" 5002.It Li "scroll_region_upper" Ta "" Ta "Top of scroll region in pane" 5003.It Li "search_match" Ta "" Ta "Search match if any" 5004.It Li "search_present" Ta "" Ta "1 if search started in copy mode" 5005.It Li "selection_active" Ta "" Ta "1 if selection started and changes with the cursor in copy mode" 5006.It Li "selection_end_x" Ta "" Ta "X position of the end of the selection" 5007.It Li "selection_end_y" Ta "" Ta "Y position of the end of the selection" 5008.It Li "selection_present" Ta "" Ta "1 if selection started in copy mode" 5009.It Li "selection_start_x" Ta "" Ta "X position of the start of the selection" 5010.It Li "selection_start_y" Ta "" Ta "Y position of the start of the selection" 5011.It Li "session_activity" Ta "" Ta "Time of session last activity" 5012.It Li "session_alerts" Ta "" Ta "List of window indexes with alerts" 5013.It Li "session_attached" Ta "" Ta "Number of clients session is attached to" 5014.It Li "session_attached_list" Ta "" Ta "List of clients session is attached to" 5015.It Li "session_created" Ta "" Ta "Time session created" 5016.It Li "session_format" Ta "" Ta "1 if format is for a session" 5017.It Li "session_group" Ta "" Ta "Name of session group" 5018.It Li "session_group_attached" Ta "" Ta "Number of clients sessions in group are attached to" 5019.It Li "session_group_attached_list" Ta "" Ta "List of clients sessions in group are attached to" 5020.It Li "session_group_list" Ta "" Ta "List of sessions in group" 5021.It Li "session_group_many_attached" Ta "" Ta "1 if multiple clients attached to sessions in group" 5022.It Li "session_group_size" Ta "" Ta "Size of session group" 5023.It Li "session_grouped" Ta "" Ta "1 if session in a group" 5024.It Li "session_id" Ta "" Ta "Unique session ID" 5025.It Li "session_last_attached" Ta "" Ta "Time session last attached" 5026.It Li "session_many_attached" Ta "" Ta "1 if multiple clients attached" 5027.It Li "session_marked" Ta "" Ta "1 if this session contains the marked pane" 5028.It Li "session_name" Ta "#S" Ta "Name of session" 5029.It Li "session_path" Ta "" Ta "Working directory of session" 5030.It Li "session_stack" Ta "" Ta "Window indexes in most recent order" 5031.It Li "session_windows" Ta "" Ta "Number of windows in session" 5032.It Li "socket_path" Ta "" Ta "Server socket path" 5033.It Li "start_time" Ta "" Ta "Server start time" 5034.It Li "version" Ta "" Ta "Server version" 5035.It Li "window_active" Ta "" Ta "1 if window active" 5036.It Li "window_active_clients" Ta "" Ta "Number of clients viewing this window" 5037.It Li "window_active_clients_list" Ta "" Ta "List of clients viewing this window" 5038.It Li "window_active_sessions" Ta "" Ta "Number of sessions on which this window is active" 5039.It Li "window_active_sessions_list" Ta "" Ta "List of sessions on which this window is active" 5040.It Li "window_activity" Ta "" Ta "Time of window last activity" 5041.It Li "window_activity_flag" Ta "" Ta "1 if window has activity" 5042.It Li "window_bell_flag" Ta "" Ta "1 if window has bell" 5043.It Li "window_bigger" Ta "" Ta "1 if window is larger than client" 5044.It Li "window_cell_height" Ta "" Ta "Height of each cell in pixels" 5045.It Li "window_cell_width" Ta "" Ta "Width of each cell in pixels" 5046.It Li "window_end_flag" Ta "" Ta "1 if window has the highest index" 5047.It Li "window_flags" Ta "#F" Ta "Window flags with # escaped as ##" 5048.It Li "window_raw_flags" Ta "" Ta "Window flags with nothing escaped" 5049.It Li "window_format" Ta "" Ta "1 if format is for a window" 5050.It Li "window_height" Ta "" Ta "Height of window" 5051.It Li "window_id" Ta "" Ta "Unique window ID" 5052.It Li "window_index" Ta "#I" Ta "Index of window" 5053.It Li "window_last_flag" Ta "" Ta "1 if window is the last used" 5054.It Li "window_layout" Ta "" Ta "Window layout description, ignoring zoomed window panes" 5055.It Li "window_linked" Ta "" Ta "1 if window is linked across sessions" 5056.It Li "window_linked_sessions" Ta "" Ta "Number of sessions this window is linked to" 5057.It Li "window_linked_sessions_list" Ta "" Ta "List of sessions this window is linked to" 5058.It Li "window_marked_flag" Ta "" Ta "1 if window contains the marked pane" 5059.It Li "window_name" Ta "#W" Ta "Name of window" 5060.It Li "window_offset_x" Ta "" Ta "X offset into window if larger than client" 5061.It Li "window_offset_y" Ta "" Ta "Y offset into window if larger than client" 5062.It Li "window_panes" Ta "" Ta "Number of panes in window" 5063.It Li "window_silence_flag" Ta "" Ta "1 if window has silence alert" 5064.It Li "window_stack_index" Ta "" Ta "Index in session most recent stack" 5065.It Li "window_start_flag" Ta "" Ta "1 if window has the lowest index" 5066.It Li "window_visible_layout" Ta "" Ta "Window layout description, respecting zoomed window panes" 5067.It Li "window_width" Ta "" Ta "Width of window" 5068.It Li "window_zoomed_flag" Ta "" Ta "1 if window is zoomed" 5069.It Li "wrap_flag" Ta "" Ta "Pane wrap flag" 5070.El 5071.Sh STYLES 5072.Nm 5073offers various options to specify the colour and attributes of aspects of the 5074interface, for example 5075.Ic status-style 5076for the status line. 5077In addition, embedded styles may be specified in format options, such as 5078.Ic status-left , 5079by enclosing them in 5080.Ql #[ 5081and 5082.Ql \&] . 5083.Pp 5084A style may be the single term 5085.Ql default 5086to specify the default style (which may come from an option, for example 5087.Ic status-style 5088in the status line) or a space 5089or comma separated list of the following: 5090.Bl -tag -width Ds 5091.It Ic fg=colour 5092Set the foreground colour. 5093The colour is one of: 5094.Ic black , 5095.Ic red , 5096.Ic green , 5097.Ic yellow , 5098.Ic blue , 5099.Ic magenta , 5100.Ic cyan , 5101.Ic white ; 5102if supported the bright variants 5103.Ic brightred , 5104.Ic brightgreen , 5105.Ic brightyellow ; 5106.Ic colour0 5107to 5108.Ic colour255 5109from the 256-colour set; 5110.Ic default 5111for the default colour; 5112.Ic terminal 5113for the terminal default colour; or a hexadecimal RGB string such as 5114.Ql #ffffff . 5115.It Ic bg=colour 5116Set the background colour. 5117.It Ic none 5118Set no attributes (turn off any active attributes). 5119.It Xo Ic acs , 5120.Ic bright 5121(or 5122.Ic bold ) , 5123.Ic dim , 5124.Ic underscore , 5125.Ic blink , 5126.Ic reverse , 5127.Ic hidden , 5128.Ic italics , 5129.Ic overline , 5130.Ic strikethrough , 5131.Ic double-underscore , 5132.Ic curly-underscore , 5133.Ic dotted-underscore , 5134.Ic dashed-underscore 5135.Xc 5136Set an attribute. 5137Any of the attributes may be prefixed with 5138.Ql no 5139to unset. 5140.Ic acs 5141is the terminal alternate character set. 5142.It Xo Ic align=left 5143(or 5144.Ic noalign ) , 5145.Ic align=centre , 5146.Ic align=right 5147.Xc 5148Align text to the left, centre or right of the available space if appropriate. 5149.It Ic fill=colour 5150Fill the available space with a background colour if appropriate. 5151.It Xo Ic list=on , 5152.Ic list=focus , 5153.Ic list=left-marker , 5154.Ic list=right-marker , 5155.Ic nolist 5156.Xc 5157Mark the position of the various window list components in the 5158.Ic status-format 5159option: 5160.Ic list=on 5161marks the start of the list; 5162.Ic list=focus 5163is the part of the list that should be kept in focus if the entire list won't fit 5164in the available space (typically the current window); 5165.Ic list=left-marker 5166and 5167.Ic list=right-marker 5168mark the text to be used to mark that text has been trimmed from the left or 5169right of the list if there is not enough space. 5170.It Xo Ic push-default , 5171.Ic pop-default 5172.Xc 5173Store the current colours and attributes as the default or reset to the previous 5174default. 5175A 5176.Ic push-default 5177affects any subsequent use of the 5178.Ic default 5179term until a 5180.Ic pop-default . 5181Only one default may be pushed (each 5182.Ic push-default 5183replaces the previous saved default). 5184.It Xo Ic range=left , 5185.Ic range=right , 5186.Ic range=window|X , 5187.Ic norange 5188.Xc 5189Mark a range in the 5190.Ic status-format 5191option. 5192.Ic range=left 5193and 5194.Ic range=right 5195are the text used for the 5196.Ql StatusLeft 5197and 5198.Ql StatusRight 5199mouse keys. 5200.Ic range=window|X 5201is the range for a window passed to the 5202.Ql Status 5203mouse key, where 5204.Ql X 5205is a window index. 5206.El 5207.Pp 5208Examples are: 5209.Bd -literal -offset indent 5210fg=yellow bold underscore blink 5211bg=black,fg=default,noreverse 5212.Ed 5213.Sh NAMES AND TITLES 5214.Nm 5215distinguishes between names and titles. 5216Windows and sessions have names, which may be used to specify them in targets 5217and are displayed in the status line and various lists: the name is the 5218.Nm 5219identifier for a window or session. 5220Only panes have titles. 5221A pane's title is typically set by the program running inside the pane using 5222an escape sequence (like it would set the 5223.Xr xterm 1 5224window title in 5225.Xr X 7 ) . 5226Windows themselves do not have titles - a window's title is the title of its 5227active pane. 5228.Nm 5229itself may set the title of the terminal in which the client is running, see 5230the 5231.Ic set-titles 5232option. 5233.Pp 5234A session's name is set with the 5235.Ic new-session 5236and 5237.Ic rename-session 5238commands. 5239A window's name is set with one of: 5240.Bl -enum -width Ds 5241.It 5242A command argument (such as 5243.Fl n 5244for 5245.Ic new-window 5246or 5247.Ic new-session ) . 5248.It 5249An escape sequence (if the 5250.Ic allow-rename 5251option is turned on): 5252.Bd -literal -offset indent 5253$ printf '\e033kWINDOW_NAME\e033\e\e' 5254.Ed 5255.It 5256Automatic renaming, which sets the name to the active command in the window's 5257active pane. 5258See the 5259.Ic automatic-rename 5260option. 5261.El 5262.Pp 5263When a pane is first created, its title is the hostname. 5264A pane's title can be set via the title setting escape sequence, for example: 5265.Bd -literal -offset indent 5266$ printf '\e033]2;My Title\e033\e\e' 5267.Ed 5268.Pp 5269It can also be modified with the 5270.Ic select-pane 5271.Fl T 5272command. 5273.Sh GLOBAL AND SESSION ENVIRONMENT 5274When the server is started, 5275.Nm 5276copies the environment into the 5277.Em global environment ; 5278in addition, each session has a 5279.Em session environment . 5280When a window is created, the session and global environments are merged. 5281If a variable exists in both, the value from the session environment is used. 5282The result is the initial environment passed to the new process. 5283.Pp 5284The 5285.Ic update-environment 5286session option may be used to update the session environment from the client 5287when a new session is created or an old reattached. 5288.Nm 5289also initialises the 5290.Ev TMUX 5291variable with some internal information to allow commands to be executed 5292from inside, and the 5293.Ev TERM 5294variable with the correct terminal setting of 5295.Ql screen . 5296.Pp 5297Variables in both session and global environments may be marked as hidden. 5298Hidden variables are not passed into the environment of new processes and 5299instead can only be used by tmux itself (for example in formats, see the 5300.Sx FORMATS 5301section). 5302.Pp 5303Commands to alter and view the environment are: 5304.Bl -tag -width Ds 5305.It Xo Ic set-environment 5306.Op Fl Fhgru 5307.Op Fl t Ar target-session 5308.Ar name Op Ar value 5309.Xc 5310.D1 (alias: Ic setenv ) 5311Set or unset an environment variable. 5312If 5313.Fl g 5314is used, the change is made in the global environment; otherwise, it is applied 5315to the session environment for 5316.Ar target-session . 5317If 5318.Fl F 5319is present, then 5320.Ar value 5321is expanded as a format. 5322The 5323.Fl u 5324flag unsets a variable. 5325.Fl r 5326indicates the variable is to be removed from the environment before starting a 5327new process. 5328.Fl h 5329marks the variable as hidden. 5330.It Xo Ic show-environment 5331.Op Fl hgs 5332.Op Fl t Ar target-session 5333.Op Ar variable 5334.Xc 5335.D1 (alias: Ic showenv ) 5336Display the environment for 5337.Ar target-session 5338or the global environment with 5339.Fl g . 5340If 5341.Ar variable 5342is omitted, all variables are shown. 5343Variables removed from the environment are prefixed with 5344.Ql - . 5345If 5346.Fl s 5347is used, the output is formatted as a set of Bourne shell commands. 5348.Fl h 5349shows hidden variables (omitted by default). 5350.El 5351.Sh STATUS LINE 5352.Nm 5353includes an optional status line which is displayed in the bottom line of each 5354terminal. 5355.Pp 5356By default, the status line is enabled and one line in height (it may be 5357disabled or made multiple lines with the 5358.Ic status 5359session option) and contains, from left-to-right: the name of the current 5360session in square brackets; the window list; the title of the active pane 5361in double quotes; and the time and date. 5362.Pp 5363Each line of the status line is configured with the 5364.Ic status-format 5365option. 5366The default is made of three parts: configurable left and right sections (which 5367may contain dynamic content such as the time or output from a shell command, 5368see the 5369.Ic status-left , 5370.Ic status-left-length , 5371.Ic status-right , 5372and 5373.Ic status-right-length 5374options below), and a central window list. 5375By default, the window list shows the index, name and (if any) flag of the 5376windows present in the current session in ascending numerical order. 5377It may be customised with the 5378.Ar window-status-format 5379and 5380.Ar window-status-current-format 5381options. 5382The flag is one of the following symbols appended to the window name: 5383.Bl -column "Symbol" "Meaning" -offset indent 5384.It Sy "Symbol" Ta Sy "Meaning" 5385.It Li "*" Ta "Denotes the current window." 5386.It Li "-" Ta "Marks the last window (previously selected)." 5387.It Li "#" Ta "Window activity is monitored and activity has been detected." 5388.It Li "\&!" Ta "Window bells are monitored and a bell has occurred in the window." 5389.It Li "~" Ta "The window has been silent for the monitor-silence interval." 5390.It Li "M" Ta "The window contains the marked pane." 5391.It Li "Z" Ta "The window's active pane is zoomed." 5392.El 5393.Pp 5394The # symbol relates to the 5395.Ic monitor-activity 5396window option. 5397The window name is printed in inverted colours if an alert (bell, activity or 5398silence) is present. 5399.Pp 5400The colour and attributes of the status line may be configured, the entire 5401status line using the 5402.Ic status-style 5403session option and individual windows using the 5404.Ic window-status-style 5405window option. 5406.Pp 5407The status line is automatically refreshed at interval if it has changed, the 5408interval may be controlled with the 5409.Ic status-interval 5410session option. 5411.Pp 5412Commands related to the status line are as follows: 5413.Bl -tag -width Ds 5414.It Xo Ic clear-prompt-history 5415.Op Fl T Ar prompt-type 5416.Xc 5417.D1 (alias: Ic clrphist ) 5418Clear status prompt history for prompt type 5419.Ar prompt-type . 5420If 5421.Fl T 5422is omitted, then clear history for all types. 5423See 5424.Ic command-prompt 5425for possible values for 5426.Ar prompt-type . 5427.It Xo Ic command-prompt 5428.Op Fl 1bFikN 5429.Op Fl I Ar inputs 5430.Op Fl p Ar prompts 5431.Op Fl t Ar target-client 5432.Op Fl T Ar prompt-type 5433.Op Ar template 5434.Xc 5435Open the command prompt in a client. 5436This may be used from inside 5437.Nm 5438to execute commands interactively. 5439.Pp 5440If 5441.Ar template 5442is specified, it is used as the command. 5443With 5444.Fl F , 5445.Ar template 5446is expanded as a format. 5447.Pp 5448If present, 5449.Fl I 5450is a comma-separated list of the initial text for each prompt. 5451If 5452.Fl p 5453is given, 5454.Ar prompts 5455is a comma-separated list of prompts which are displayed in order; otherwise 5456a single prompt is displayed, constructed from 5457.Ar template 5458if it is present, or 5459.Ql \&: 5460if not. 5461.Pp 5462Before the command is executed, the first occurrence of the string 5463.Ql %% 5464and all occurrences of 5465.Ql %1 5466are replaced by the response to the first prompt, all 5467.Ql %2 5468are replaced with the response to the second prompt, and so on for further 5469prompts. 5470Up to nine prompt responses may be replaced 5471.Po 5472.Ql %1 5473to 5474.Ql %9 5475.Pc . 5476.Ql %%% 5477is like 5478.Ql %% 5479but any quotation marks are escaped. 5480.Pp 5481.Fl 1 5482makes the prompt only accept one key press, in this case the resulting input 5483is a single character. 5484.Fl k 5485is like 5486.Fl 1 5487but the key press is translated to a key name. 5488.Fl N 5489makes the prompt only accept numeric key presses. 5490.Fl i 5491executes the command every time the prompt input changes instead of when the 5492user exits the command prompt. 5493.Pp 5494.Fl T 5495tells 5496.Nm 5497the prompt type. 5498This affects what completions are offered when 5499.Em Tab 5500is pressed. 5501Available types are: 5502.Ql command , 5503.Ql search , 5504.Ql target 5505and 5506.Ql window-target . 5507.Pp 5508The following keys have a special meaning in the command prompt, depending 5509on the value of the 5510.Ic status-keys 5511option: 5512.Bl -column "FunctionXXXXXXXXXXXXXXXXXXXXXXXXX" "viXXXX" "emacsX" -offset indent 5513.It Sy "Function" Ta Sy "vi" Ta Sy "emacs" 5514.It Li "Cancel command prompt" Ta "q" Ta "Escape" 5515.It Li "Delete from cursor to start of word" Ta "" Ta "C-w" 5516.It Li "Delete entire command" Ta "d" Ta "C-u" 5517.It Li "Delete from cursor to end" Ta "D" Ta "C-k" 5518.It Li "Execute command" Ta "Enter" Ta "Enter" 5519.It Li "Get next command from history" Ta "" Ta "Down" 5520.It Li "Get previous command from history" Ta "" Ta "Up" 5521.It Li "Insert top paste buffer" Ta "p" Ta "C-y" 5522.It Li "Look for completions" Ta "Tab" Ta "Tab" 5523.It Li "Move cursor left" Ta "h" Ta "Left" 5524.It Li "Move cursor right" Ta "l" Ta "Right" 5525.It Li "Move cursor to end" Ta "$" Ta "C-e" 5526.It Li "Move cursor to next word" Ta "w" Ta "M-f" 5527.It Li "Move cursor to previous word" Ta "b" Ta "M-b" 5528.It Li "Move cursor to start" Ta "0" Ta "C-a" 5529.It Li "Transpose characters" Ta "" Ta "C-t" 5530.El 5531.Pp 5532With 5533.Fl b , 5534the prompt is shown in the background and the invoking client does not exit 5535until it is dismissed. 5536.It Xo Ic confirm-before 5537.Op Fl b 5538.Op Fl p Ar prompt 5539.Op Fl t Ar target-client 5540.Ar command 5541.Xc 5542.D1 (alias: Ic confirm ) 5543Ask for confirmation before executing 5544.Ar command . 5545If 5546.Fl p 5547is given, 5548.Ar prompt 5549is the prompt to display; otherwise a prompt is constructed from 5550.Ar command . 5551It may contain the special character sequences supported by the 5552.Ic status-left 5553option. 5554With 5555.Fl b , 5556the prompt is shown in the background and the invoking client does not exit 5557until it is dismissed. 5558.It Xo Ic display-menu 5559.Op Fl O 5560.Op Fl c Ar target-client 5561.Op Fl t Ar target-pane 5562.Op Fl T Ar title 5563.Op Fl x Ar position 5564.Op Fl y Ar position 5565.Ar name 5566.Ar key 5567.Ar command 5568.Ar ... 5569.Xc 5570.D1 (alias: Ic menu ) 5571Display a menu on 5572.Ar target-client . 5573.Ar target-pane 5574gives the target for any commands run from the menu. 5575.Pp 5576A menu is passed as a series of arguments: first the menu item name, 5577second the key shortcut (or empty for none) and third the command 5578to run when the menu item is chosen. 5579The name and command are formats, see the 5580.Sx FORMATS 5581and 5582.Sx STYLES 5583sections. 5584If the name begins with a hyphen (-), then the item is disabled (shown dim) and 5585may not be chosen. 5586The name may be empty for a separator line, in which case both the key and 5587command should be omitted. 5588.Pp 5589.Fl T 5590is a format for the menu title (see 5591.Sx FORMATS ) . 5592.Pp 5593.Fl x 5594and 5595.Fl y 5596give the position of the menu. 5597Both may be a row or column number, or one of the following special values: 5598.Bl -column "XXXXX" "XXXX" -offset indent 5599.It Sy "Value" Ta Sy "Flag" Ta Sy "Meaning" 5600.It Li "C" Ta "Both" Ta "The centre of the terminal" 5601.It Li "R" Ta Fl x Ta "The right side of the terminal" 5602.It Li "P" Ta "Both" Ta "The bottom left of the pane" 5603.It Li "M" Ta "Both" Ta "The mouse position" 5604.It Li "W" Ta "Both" Ta "The window position on the status line" 5605.It Li "S" Ta Fl y Ta "The line above or below the status line" 5606.El 5607.Pp 5608Or a format, which is expanded including the following additional variables: 5609.Bl -column "XXXXXXXXXXXXXXXXXXXXXXXXXX" -offset indent 5610.It Sy "Variable name" Ta Sy "Replaced with" 5611.It Li "popup_centre_x" Ta "Centered in the client" 5612.It Li "popup_centre_y" Ta "Centered in the client" 5613.It Li "popup_height" Ta "Height of menu or popup" 5614.It Li "popup_mouse_bottom" Ta "Bottom of at the mouse" 5615.It Li "popup_mouse_centre_x" Ta "Horizontal centre at the mouse" 5616.It Li "popup_mouse_centre_y" Ta "Vertical centre at the mouse" 5617.It Li "popup_mouse_top" Ta "Top at the mouse" 5618.It Li "popup_mouse_x" Ta "Mouse X position" 5619.It Li "popup_mouse_y" Ta "Mouse Y position" 5620.It Li "popup_pane_bottom" Ta "Bottom of the pane" 5621.It Li "popup_pane_left" Ta "Left of the pane" 5622.It Li "popup_pane_right" Ta "Right of the pane" 5623.It Li "popup_pane_top" Ta "Top of the pane" 5624.It Li "popup_status_line_y" Ta "Above or below the status line" 5625.It Li "popup_width" Ta "Width of menu or popup" 5626.It Li "popup_window_status_line_x" Ta "At the window position in status line" 5627.It Li "popup_window_status_line_y" Ta "At the status line showing the window" 5628.El 5629.Pp 5630Each menu consists of items followed by a key shortcut shown in brackets. 5631If the menu is too large to fit on the terminal, it is not displayed. 5632Pressing the key shortcut chooses the corresponding item. 5633If the mouse is enabled and the menu is opened from a mouse key binding, 5634releasing the mouse button with an item selected chooses that item and 5635releasing the mouse button without an item selected closes the menu. 5636.Fl O 5637changes this behaviour so that the menu does not close when the mouse button is 5638released without an item selected the menu is not closed and a mouse button 5639must be clicked to choose an item. 5640.Pp 5641The following keys are also available: 5642.Bl -column "Key" "Function" -offset indent 5643.It Sy "Key" Ta Sy "Function" 5644.It Li "Enter" Ta "Choose selected item" 5645.It Li "Up" Ta "Select previous item" 5646.It Li "Down" Ta "Select next item" 5647.It Li "q" Ta "Exit menu" 5648.El 5649.It Xo Ic display-message 5650.Op Fl aINpv 5651.Op Fl c Ar target-client 5652.Op Fl d Ar delay 5653.Op Fl t Ar target-pane 5654.Op Ar message 5655.Xc 5656.D1 (alias: Ic display ) 5657Display a message. 5658If 5659.Fl p 5660is given, the output is printed to stdout, otherwise it is displayed in the 5661.Ar target-client 5662status line for up to 5663.Ar delay 5664milliseconds. 5665If 5666.Ar delay 5667is not given, the 5668.Ic message-time 5669option is used; a delay of zero waits for a key press. 5670.Ql N 5671ignores key presses and closes only after the delay expires. 5672The format of 5673.Ar message 5674is described in the 5675.Sx FORMATS 5676section; information is taken from 5677.Ar target-pane 5678if 5679.Fl t 5680is given, otherwise the active pane. 5681.Pp 5682.Fl v 5683prints verbose logging as the format is parsed and 5684.Fl a 5685lists the format variables and their values. 5686.Pp 5687.Fl I 5688forwards any input read from stdin to the empty pane given by 5689.Ar target-pane . 5690.It Xo Ic display-popup 5691.Op Fl BCE 5692.Op Fl c Ar target-client 5693.Op Fl d Ar start-directory 5694.Op Fl h Ar height 5695.Op Fl t Ar target-pane 5696.Op Fl w Ar width 5697.Op Fl x Ar position 5698.Op Fl y Ar position 5699.Op Ar shell-command 5700.Xc 5701.D1 (alias: Ic popup ) 5702Display a popup running 5703.Ar shell-command 5704on 5705.Ar target-client . 5706A popup is a rectangular box drawn over the top of any panes. 5707Panes are not updated while a popup is present. 5708.Pp 5709.Fl E 5710closes the popup automatically when 5711.Ar shell-command 5712exits. 5713Two 5714.Fl E 5715closes the popup only if 5716.Ar shell-command 5717exited with success. 5718.Pp 5719.Fl x 5720and 5721.Fl y 5722give the position of the popup, they have the same meaning as for the 5723.Ic display-menu 5724command. 5725.Fl w 5726and 5727.Fl h 5728give the width and height - both may be a percentage (followed by 5729.Ql % ) . 5730If omitted, half of the terminal size is used. 5731.Fl B 5732does not surround the popup by a border. 5733.Pp 5734The 5735.Fl C 5736flag closes any popup on the client. 5737.It Xo Ic show-prompt-history 5738.Op Fl T Ar prompt-type 5739.Xc 5740.D1 (alias: Ic showphist ) 5741Display status prompt history for prompt type 5742.Ar prompt-type . 5743If 5744.Fl T 5745is omitted, then show history for all types. 5746See 5747.Ic command-prompt 5748for possible values for 5749.Ar prompt-type . 5750.El 5751.Sh BUFFERS 5752.Nm 5753maintains a set of named 5754.Em paste buffers . 5755Each buffer may be either explicitly or automatically named. 5756Explicitly named buffers are named when created with the 5757.Ic set-buffer 5758or 5759.Ic load-buffer 5760commands, or by renaming an automatically named buffer with 5761.Ic set-buffer 5762.Fl n . 5763Automatically named buffers are given a name such as 5764.Ql buffer0001 , 5765.Ql buffer0002 5766and so on. 5767When the 5768.Ic buffer-limit 5769option is reached, the oldest automatically named buffer is deleted. 5770Explicitly named buffers are not subject to 5771.Ic buffer-limit 5772and may be deleted with the 5773.Ic delete-buffer 5774command. 5775.Pp 5776Buffers may be added using 5777.Ic copy-mode 5778or the 5779.Ic set-buffer 5780and 5781.Ic load-buffer 5782commands, and pasted into a window using the 5783.Ic paste-buffer 5784command. 5785If a buffer command is used and no buffer is specified, the most 5786recently added automatically named buffer is assumed. 5787.Pp 5788A configurable history buffer is also maintained for each window. 5789By default, up to 2000 lines are kept; this can be altered with the 5790.Ic history-limit 5791option (see the 5792.Ic set-option 5793command above). 5794.Pp 5795The buffer commands are as follows: 5796.Bl -tag -width Ds 5797.It Xo 5798.Ic choose-buffer 5799.Op Fl NZr 5800.Op Fl F Ar format 5801.Op Fl f Ar filter 5802.Op Fl K Ar key-format 5803.Op Fl O Ar sort-order 5804.Op Fl t Ar target-pane 5805.Op Ar template 5806.Xc 5807Put a pane into buffer mode, where a buffer may be chosen interactively from 5808a list. 5809Each buffer is shown on one line. 5810A shortcut key is shown on the left in brackets allowing for immediate choice, 5811or the list may be navigated and an item chosen or otherwise manipulated using 5812the keys below. 5813.Fl Z 5814zooms the pane. 5815The following keys may be used in buffer mode: 5816.Bl -column "Key" "Function" -offset indent 5817.It Sy "Key" Ta Sy "Function" 5818.It Li "Enter" Ta "Paste selected buffer" 5819.It Li "Up" Ta "Select previous buffer" 5820.It Li "Down" Ta "Select next buffer" 5821.It Li "C-s" Ta "Search by name or content" 5822.It Li "n" Ta "Repeat last search" 5823.It Li "t" Ta "Toggle if buffer is tagged" 5824.It Li "T" Ta "Tag no buffers" 5825.It Li "C-t" Ta "Tag all buffers" 5826.It Li "p" Ta "Paste selected buffer" 5827.It Li "P" Ta "Paste tagged buffers" 5828.It Li "d" Ta "Delete selected buffer" 5829.It Li "D" Ta "Delete tagged buffers" 5830.It Li "e" Ta "Open the buffer in an editor" 5831.It Li "f" Ta "Enter a format to filter items" 5832.It Li "O" Ta "Change sort field" 5833.It Li "r" Ta "Reverse sort order" 5834.It Li "v" Ta "Toggle preview" 5835.It Li "q" Ta "Exit mode" 5836.El 5837.Pp 5838After a buffer is chosen, 5839.Ql %% 5840is replaced by the buffer name in 5841.Ar template 5842and the result executed as a command. 5843If 5844.Ar template 5845is not given, "paste-buffer -b '%%'" is used. 5846.Pp 5847.Fl O 5848specifies the initial sort field: one of 5849.Ql time , 5850.Ql name 5851or 5852.Ql size . 5853.Fl r 5854reverses the sort order. 5855.Fl f 5856specifies an initial filter: the filter is a format - if it evaluates to zero, 5857the item in the list is not shown, otherwise it is shown. 5858If a filter would lead to an empty list, it is ignored. 5859.Fl F 5860specifies the format for each item in the list and 5861.Fl K 5862a format for each shortcut key; both are evaluated once for each line. 5863.Fl N 5864starts without the preview. 5865This command works only if at least one client is attached. 5866.It Ic clear-history Op Fl t Ar target-pane 5867.D1 (alias: Ic clearhist ) 5868Remove and free the history for the specified pane. 5869.It Ic delete-buffer Op Fl b Ar buffer-name 5870.D1 (alias: Ic deleteb ) 5871Delete the buffer named 5872.Ar buffer-name , 5873or the most recently added automatically named buffer if not specified. 5874.It Xo Ic list-buffers 5875.Op Fl F Ar format 5876.Op Fl f Ar filter 5877.Xc 5878.D1 (alias: Ic lsb ) 5879List the global buffers. 5880.Fl F 5881specifies the format of each line and 5882.Fl f 5883a filter. 5884Only buffers for which the filter is true are shown. 5885See the 5886.Sx FORMATS 5887section. 5888.It Xo Ic load-buffer 5889.Op Fl w 5890.Op Fl b Ar buffer-name 5891.Op Fl t Ar target-client 5892.Ar path 5893.Xc 5894.D1 (alias: Ic loadb ) 5895Load the contents of the specified paste buffer from 5896.Ar path . 5897If 5898.Fl w 5899is given, the buffer is also sent to the clipboard for 5900.Ar target-client 5901using the 5902.Xr xterm 1 5903escape sequence, if possible. 5904.It Xo Ic paste-buffer 5905.Op Fl dpr 5906.Op Fl b Ar buffer-name 5907.Op Fl s Ar separator 5908.Op Fl t Ar target-pane 5909.Xc 5910.D1 (alias: Ic pasteb ) 5911Insert the contents of a paste buffer into the specified pane. 5912If not specified, paste into the current one. 5913With 5914.Fl d , 5915also delete the paste buffer. 5916When output, any linefeed (LF) characters in the paste buffer are replaced with 5917a separator, by default carriage return (CR). 5918A custom separator may be specified using the 5919.Fl s 5920flag. 5921The 5922.Fl r 5923flag means to do no replacement (equivalent to a separator of LF). 5924If 5925.Fl p 5926is specified, paste bracket control codes are inserted around the 5927buffer if the application has requested bracketed paste mode. 5928.It Xo Ic save-buffer 5929.Op Fl a 5930.Op Fl b Ar buffer-name 5931.Ar path 5932.Xc 5933.D1 (alias: Ic saveb ) 5934Save the contents of the specified paste buffer to 5935.Ar path . 5936The 5937.Fl a 5938option appends to rather than overwriting the file. 5939.It Xo Ic set-buffer 5940.Op Fl aw 5941.Op Fl b Ar buffer-name 5942.Op Fl t Ar target-client 5943.Op Fl n Ar new-buffer-name 5944.Ar data 5945.Xc 5946.D1 (alias: Ic setb ) 5947Set the contents of the specified buffer to 5948.Ar data . 5949If 5950.Fl w 5951is given, the buffer is also sent to the clipboard for 5952.Ar target-client 5953using the 5954.Xr xterm 1 5955escape sequence, if possible. 5956The 5957.Fl a 5958option appends to rather than overwriting the buffer. 5959The 5960.Fl n 5961option renames the buffer to 5962.Ar new-buffer-name . 5963.It Xo Ic show-buffer 5964.Op Fl b Ar buffer-name 5965.Xc 5966.D1 (alias: Ic showb ) 5967Display the contents of the specified buffer. 5968.El 5969.Sh MISCELLANEOUS 5970Miscellaneous commands are as follows: 5971.Bl -tag -width Ds 5972.It Ic clock-mode Op Fl t Ar target-pane 5973Display a large clock. 5974.It Xo Ic if-shell 5975.Op Fl bF 5976.Op Fl t Ar target-pane 5977.Ar shell-command command 5978.Op Ar command 5979.Xc 5980.D1 (alias: Ic if ) 5981Execute the first 5982.Ar command 5983if 5984.Ar shell-command 5985returns success or the second 5986.Ar command 5987otherwise. 5988Before being executed, 5989.Ar shell-command 5990is expanded using the rules specified in the 5991.Sx FORMATS 5992section, including those relevant to 5993.Ar target-pane . 5994With 5995.Fl b , 5996.Ar shell-command 5997is run in the background. 5998.Pp 5999If 6000.Fl F 6001is given, 6002.Ar shell-command 6003is not executed but considered success if neither empty nor zero (after formats 6004are expanded). 6005.It Ic lock-server 6006.D1 (alias: Ic lock ) 6007Lock each client individually by running the command specified by the 6008.Ic lock-command 6009option. 6010.It Xo Ic run-shell 6011.Op Fl bC 6012.Op Fl d Ar delay 6013.Op Fl t Ar target-pane 6014.Op Ar shell-command 6015.Xc 6016.D1 (alias: Ic run ) 6017Execute 6018.Ar shell-command 6019or (with 6020.Fl C ) 6021a 6022.Nm 6023command in the background without creating a window. 6024Before being executed, 6025.Ar shell-command 6026is expanded using the rules specified in the 6027.Sx FORMATS 6028section. 6029With 6030.Fl b , 6031the command is run in the background. 6032.Fl d 6033waits for 6034.Ar delay 6035seconds before starting the command. 6036If 6037.Fl C 6038is not given, any output to stdout is displayed in view mode (in the pane 6039specified by 6040.Fl t 6041or the current pane if omitted) after the command finishes. 6042If the command fails, the exit status is also displayed. 6043.It Xo Ic wait-for 6044.Op Fl L | S | U 6045.Ar channel 6046.Xc 6047.D1 (alias: Ic wait ) 6048When used without options, prevents the client from exiting until woken using 6049.Ic wait-for 6050.Fl S 6051with the same channel. 6052When 6053.Fl L 6054is used, the channel is locked and any clients that try to lock the same 6055channel are made to wait until the channel is unlocked with 6056.Ic wait-for 6057.Fl U . 6058.El 6059.Sh EXIT MESSAGES 6060When a 6061.Nm 6062client detaches, it prints a message. 6063This may be one of: 6064.Bl -tag -width Ds 6065.It detached (from session ...) 6066The client was detached normally. 6067.It detached and SIGHUP 6068The client was detached and its parent sent the 6069.Dv SIGHUP 6070signal (for example with 6071.Ic detach-client 6072.Fl P ) . 6073.It lost tty 6074The client's 6075.Xr tty 4 6076or 6077.Xr pty 4 6078was unexpectedly destroyed. 6079.It terminated 6080The client was killed with 6081.Dv SIGTERM . 6082.It too far behind 6083The client is in control mode and became unable to keep up with the data from 6084.Nm . 6085.It exited 6086The server exited when it had no sessions. 6087.It server exited 6088The server exited when it received 6089.Dv SIGTERM . 6090.It server exited unexpectedly 6091The server crashed or otherwise exited without telling the client the reason. 6092.El 6093.Sh TERMINFO EXTENSIONS 6094.Nm 6095understands some unofficial extensions to 6096.Xr terminfo 5 . 6097It is not normally necessary to set these manually, instead the 6098.Ic terminal-features 6099option should be used. 6100.Bl -tag -width Ds 6101.It Em \&AX 6102An existing extension that tells 6103.Nm 6104the terminal supports default colours. 6105.It Em \&Bidi 6106Tell 6107.Nm 6108that the terminal supports the VTE bidirectional text extensions. 6109.It Em \&Cs , Cr 6110Set the cursor colour. 6111The first takes a single string argument and is used to set the colour; 6112the second takes no arguments and restores the default cursor colour. 6113If set, a sequence such as this may be used 6114to change the cursor colour from inside 6115.Nm : 6116.Bd -literal -offset indent 6117$ printf '\e033]12;red\e033\e\e' 6118.Ed 6119.It Em \&Cmg, \&Clmg, \&Dsmg , \&Enmg 6120Set, clear, disable or enable DECSLRM margins. 6121These are set automatically if the terminal reports it is 6122.Em VT420 6123compatible. 6124.It Em \&Dsbp , \&Enbp 6125Disable and enable bracketed paste. 6126These are set automatically if the 6127.Em XT 6128capability is present. 6129.It Em \&Dseks , \&Eneks 6130Disable and enable extended keys. 6131.It Em \&Dsfcs , \&Enfcs 6132Disable and enable focus reporting. 6133These are set automatically if the 6134.Em XT 6135capability is present. 6136.It Em \&Rect 6137Tell 6138.Nm 6139that the terminal supports rectangle operations. 6140.It Em \&Smol 6141Enable the overline attribute. 6142.It Em \&Smulx 6143Set a styled underscore. 6144The single parameter is one of: 0 for no underscore, 1 for normal 6145underscore, 2 for double underscore, 3 for curly underscore, 4 for dotted 6146underscore and 5 for dashed underscore. 6147.It Em \&Setulc , \&ol 6148Set the underscore colour or reset to the default. 6149The argument is (red * 65536) + (green * 256) + blue where each is between 0 6150and 255. 6151.It Em \&Ss , Se 6152Set or reset the cursor style. 6153If set, a sequence such as this may be used 6154to change the cursor to an underline: 6155.Bd -literal -offset indent 6156$ printf '\e033[4 q' 6157.Ed 6158.Pp 6159If 6160.Em Se 6161is not set, \&Ss with argument 0 will be used to reset the cursor style instead. 6162.It Em \&Sync 6163Start (parameter is 1) or end (parameter is 2) a synchronized update. 6164.It Em \&Tc 6165Indicate that the terminal supports the 6166.Ql direct colour 6167RGB escape sequence (for example, \ee[38;2;255;255;255m). 6168.Pp 6169If supported, this is used for the initialize colour escape sequence (which 6170may be enabled by adding the 6171.Ql initc 6172and 6173.Ql ccc 6174capabilities to the 6175.Nm 6176.Xr terminfo 5 6177entry). 6178.Pp 6179This is equivalent to the 6180.Em RGB 6181.Xr terminfo 5 6182capability. 6183.It Em \&Ms 6184Store the current buffer in the host terminal's selection (clipboard). 6185See the 6186.Em set-clipboard 6187option above and the 6188.Xr xterm 1 6189man page. 6190.It Em \&XT 6191This is an existing extension capability that tmux uses to mean that the 6192terminal supports the 6193.Xr xterm 1 6194title set sequences and to automatically set some of the capabilities above. 6195.El 6196.Sh CONTROL MODE 6197.Nm 6198offers a textual interface called 6199.Em control mode . 6200This allows applications to communicate with 6201.Nm 6202using a simple text-only protocol. 6203.Pp 6204In control mode, a client sends 6205.Nm 6206commands or command sequences terminated by newlines on standard input. 6207Each command will produce one block of output on standard output. 6208An output block consists of a 6209.Em %begin 6210line followed by the output (which may be empty). 6211The output block ends with a 6212.Em %end 6213or 6214.Em %error . 6215.Em %begin 6216and matching 6217.Em %end 6218or 6219.Em %error 6220have three arguments: an integer time (as seconds from epoch), command number and 6221flags (currently not used). 6222For example: 6223.Bd -literal -offset indent 6224%begin 1363006971 2 1 62250: ksh* (1 panes) [80x24] [layout b25f,80x24,0,0,2] @2 (active) 6226%end 1363006971 2 1 6227.Ed 6228.Pp 6229The 6230.Ic refresh-client 6231.Fl C 6232command may be used to set the size of a client in control mode. 6233.Pp 6234In control mode, 6235.Nm 6236outputs notifications. 6237A notification will never occur inside an output block. 6238.Pp 6239The following notifications are defined: 6240.Bl -tag -width Ds 6241.It Ic %client-detached Ar client 6242The client has detached. 6243.It Ic %client-session-changed Ar client session-id name 6244The client is now attached to the session with ID 6245.Ar session-id , 6246which is named 6247.Ar name . 6248.It Ic %continue Ar pane-id 6249The pane has been continued after being paused (if the 6250.Ar pause-after 6251flag is set, see 6252.Ic refresh-client 6253.Fl A ) . 6254.It Ic %exit Op Ar reason 6255The 6256.Nm 6257client is exiting immediately, either because it is not attached to any session 6258or an error occurred. 6259If present, 6260.Ar reason 6261describes why the client exited. 6262.It Ic %extended-output Ar pane-id Ar age Ar ... \& : Ar value 6263New form of 6264.Ic %output 6265sent when the 6266.Ar pause-after 6267flag is set. 6268.Ar age 6269is the time in milliseconds for which tmux had buffered the output before it was sent. 6270Any subsequent arguments up until a single 6271.Ql \&: 6272are for future use and should be ignored. 6273.It Ic %layout-change Ar window-id Ar window-layout Ar window-visible-layout Ar window-flags 6274The layout of a window with ID 6275.Ar window-id 6276changed. 6277The new layout is 6278.Ar window-layout . 6279The window's visible layout is 6280.Ar window-visible-layout 6281and the window flags are 6282.Ar window-flags . 6283.It Ic %output Ar pane-id Ar value 6284A window pane produced output. 6285.Ar value 6286escapes non-printable characters and backslash as octal \\xxx. 6287.It Ic %pane-mode-changed Ar pane-id 6288The pane with ID 6289.Ar pane-id 6290has changed mode. 6291.It Ic %pause Ar pane-id 6292The pane has been paused (if the 6293.Ar pause-after 6294flag is set). 6295.It Ic %session-changed Ar session-id Ar name 6296The client is now attached to the session with ID 6297.Ar session-id , 6298which is named 6299.Ar name . 6300.It Ic %session-renamed Ar name 6301The current session was renamed to 6302.Ar name . 6303.It Ic %session-window-changed Ar session-id Ar window-id 6304The session with ID 6305.Ar session-id 6306changed its active window to the window with ID 6307.Ar window-id . 6308.It Ic %sessions-changed 6309A session was created or destroyed. 6310.It Xo Ic %subscription-changed 6311.Ar name 6312.Ar session-id 6313.Ar window-id 6314.Ar window-index 6315.Ar pane-id ... \& : 6316.Ar value 6317.Xc 6318The value of the format associated with subscription 6319.Ar name 6320has changed to 6321.Ar value . 6322See 6323.Ic refresh-client 6324.Fl B . 6325Any arguments after 6326.Ar pane-id 6327up until a single 6328.Ql \&: 6329are for future use and should be ignored. 6330.It Ic %unlinked-window-add Ar window-id 6331The window with ID 6332.Ar window-id 6333was created but is not linked to the current session. 6334.It Ic %window-add Ar window-id 6335The window with ID 6336.Ar window-id 6337was linked to the current session. 6338.It Ic %window-close Ar window-id 6339The window with ID 6340.Ar window-id 6341closed. 6342.It Ic %window-pane-changed Ar window-id Ar pane-id 6343The active pane in the window with ID 6344.Ar window-id 6345changed to the pane with ID 6346.Ar pane-id . 6347.It Ic %window-renamed Ar window-id Ar name 6348The window with ID 6349.Ar window-id 6350was renamed to 6351.Ar name . 6352.El 6353.Sh ENVIRONMENT 6354When 6355.Nm 6356is started, it inspects the following environment variables: 6357.Bl -tag -width LC_CTYPE 6358.It Ev EDITOR 6359If the command specified in this variable contains the string 6360.Ql vi 6361and 6362.Ev VISUAL 6363is unset, use vi-style key bindings. 6364Overridden by the 6365.Ic mode-keys 6366and 6367.Ic status-keys 6368options. 6369.It Ev HOME 6370The user's login directory. 6371If unset, the 6372.Xr passwd 5 6373database is consulted. 6374.It Ev LC_CTYPE 6375The character encoding 6376.Xr locale 1 . 6377It is used for two separate purposes. 6378For output to the terminal, UTF-8 is used if the 6379.Fl u 6380option is given or if 6381.Ev LC_CTYPE 6382contains 6383.Qq UTF-8 6384or 6385.Qq UTF8 . 6386Otherwise, only ASCII characters are written and non-ASCII characters 6387are replaced with underscores 6388.Pq Ql _ . 6389For input, 6390.Nm 6391always runs with a UTF-8 locale. 6392If en_US.UTF-8 is provided by the operating system it is used and 6393.Ev LC_CTYPE 6394is ignored for input. 6395Otherwise, 6396.Ev LC_CTYPE 6397tells 6398.Nm 6399what the UTF-8 locale is called on the current system. 6400If the locale specified by 6401.Ev LC_CTYPE 6402is not available or is not a UTF-8 locale, 6403.Nm 6404exits with an error message. 6405.It Ev LC_TIME 6406The date and time format 6407.Xr locale 1 . 6408It is used for locale-dependent 6409.Xr strftime 3 6410format specifiers. 6411.It Ev PWD 6412The current working directory to be set in the global environment. 6413This may be useful if it contains symbolic links. 6414If the value of the variable does not match the current working 6415directory, the variable is ignored and the result of 6416.Xr getcwd 3 6417is used instead. 6418.It Ev SHELL 6419The absolute path to the default shell for new windows. 6420See the 6421.Ic default-shell 6422option for details. 6423.It Ev TMUX_TMPDIR 6424The parent directory of the directory containing the server sockets. 6425See the 6426.Fl L 6427option for details. 6428.It Ev VISUAL 6429If the command specified in this variable contains the string 6430.Ql vi , 6431use vi-style key bindings. 6432Overridden by the 6433.Ic mode-keys 6434and 6435.Ic status-keys 6436options. 6437.El 6438.Sh FILES 6439.Bl -tag -width "/etc/tmux.confXXX" -compact 6440.It Pa ~/.tmux.conf 6441Default 6442.Nm 6443configuration file. 6444.It Pa /etc/tmux.conf 6445System-wide configuration file. 6446.El 6447.Sh EXAMPLES 6448To create a new 6449.Nm 6450session running 6451.Xr vi 1 : 6452.Pp 6453.Dl $ tmux new-session vi 6454.Pp 6455Most commands have a shorter form, known as an alias. 6456For new-session, this is 6457.Ic new : 6458.Pp 6459.Dl $ tmux new vi 6460.Pp 6461Alternatively, the shortest unambiguous form of a command is accepted. 6462If there are several options, they are listed: 6463.Bd -literal -offset indent 6464$ tmux n 6465ambiguous command: n, could be: new-session, new-window, next-window 6466.Ed 6467.Pp 6468Within an active session, a new window may be created by typing 6469.Ql C-b c 6470(Ctrl 6471followed by the 6472.Ql b 6473key 6474followed by the 6475.Ql c 6476key). 6477.Pp 6478Windows may be navigated with: 6479.Ql C-b 0 6480(to select window 0), 6481.Ql C-b 1 6482(to select window 1), and so on; 6483.Ql C-b n 6484to select the next window; and 6485.Ql C-b p 6486to select the previous window. 6487.Pp 6488A session may be detached using 6489.Ql C-b d 6490(or by an external event such as 6491.Xr ssh 1 6492disconnection) and reattached with: 6493.Pp 6494.Dl $ tmux attach-session 6495.Pp 6496Typing 6497.Ql C-b \&? 6498lists the current key bindings in the current window; up and down may be used 6499to navigate the list or 6500.Ql q 6501to exit from it. 6502.Pp 6503Commands to be run when the 6504.Nm 6505server is started may be placed in the 6506.Pa ~/.tmux.conf 6507configuration file. 6508Common examples include: 6509.Pp 6510Changing the default prefix key: 6511.Bd -literal -offset indent 6512set-option -g prefix C-a 6513unbind-key C-b 6514bind-key C-a send-prefix 6515.Ed 6516.Pp 6517Turning the status line off, or changing its colour: 6518.Bd -literal -offset indent 6519set-option -g status off 6520set-option -g status-style bg=blue 6521.Ed 6522.Pp 6523Setting other options, such as the default command, 6524or locking after 30 minutes of inactivity: 6525.Bd -literal -offset indent 6526set-option -g default-command "exec /bin/ksh" 6527set-option -g lock-after-time 1800 6528.Ed 6529.Pp 6530Creating new key bindings: 6531.Bd -literal -offset indent 6532bind-key b set-option status 6533bind-key / command-prompt "split-window 'exec man %%'" 6534bind-key S command-prompt "new-window -n %1 'ssh %1'" 6535.Ed 6536.Sh SEE ALSO 6537.Xr pty 4 6538.Sh AUTHORS 6539.An Nicholas Marriott Aq Mt nicholas.marriott@gmail.com 6540