mirror of
https://github.com/tmate-io/tmate.git
synced 2024-11-24 00:53:31 +01:00
1327 lines
31 KiB
Groff
1327 lines
31 KiB
Groff
.\" $Id: tmux.1,v 1.95 2009-05-04 17:58:27 nicm Exp $
|
|
.\"
|
|
.\" Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
|
.\"
|
|
.\" Permission to use, copy, modify, and distribute this software for any
|
|
.\" purpose with or without fee is hereby granted, provided that the above
|
|
.\" copyright notice and this permission notice appear in all copies.
|
|
.\"
|
|
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
.\" WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
|
|
.\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
|
|
.\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
.\"
|
|
.Dd April 20, 2009
|
|
.Dt TMUX 1
|
|
.Os
|
|
.Sh NAME
|
|
.Nm tmux
|
|
.Nd "terminal multiplexer"
|
|
.Sh SYNOPSIS
|
|
.Nm tmux
|
|
.Bk -words
|
|
.Op Fl 28dqUuVv
|
|
.Op Fl f Ar file
|
|
.Op Fl L Ar socket-name
|
|
.Op Fl S Ar socket-path
|
|
.Op Ar command Op Ar flags
|
|
.Ek
|
|
.Sh DESCRIPTION
|
|
.Nm
|
|
is a terminal multiplexer; it enables a number of terminals to be accessed and
|
|
controlled from a single terminal.
|
|
.Pp
|
|
.Nm
|
|
runs as a server-client system.
|
|
A server is created automatically when necessary and holds a number of
|
|
.Em sessions ,
|
|
each of which may have a number of
|
|
.Em windows
|
|
linked to it.
|
|
A window may be split on screen into one or more
|
|
.Em panes ,
|
|
each of which is a separate terminal.
|
|
Any number of
|
|
.Em clients
|
|
may connect to a session, or the server
|
|
may be controlled by issuing commands with
|
|
.Nm .
|
|
Communication takes place through a socket, by default placed in
|
|
.Pa /tmp .
|
|
.Pp
|
|
The options are as follows:
|
|
.Bl -tag -width "XXXXXXXXXXXX"
|
|
.It Fl 2
|
|
Force
|
|
.Nm
|
|
to assume the terminal supports 256 colours.
|
|
.It Fl 8
|
|
Like
|
|
.Fl 2 ,
|
|
indicates the terminal supports 88 colours.
|
|
.It Fl d
|
|
Force
|
|
.Nm
|
|
to assume the terminal supports default colours.
|
|
.It Fl f Ar file
|
|
Specify an alternative configuration file.
|
|
By default,
|
|
.Nm
|
|
will look for a config file at
|
|
.Pa ~/.tmux.conf .
|
|
The configuration file is a set of
|
|
.Nm
|
|
commands which are executed in sequence when the server is first started.
|
|
.It Fl q
|
|
Prevent the server sending various information messages, for example when
|
|
window flags are altered.
|
|
.It Fl L Ar socket-name
|
|
.Nm
|
|
stores the server socket in a directory under
|
|
.Pa /tmp ;
|
|
the default socket is named
|
|
.Em default .
|
|
This option allows a different socket name to be specified, allowing several
|
|
independent
|
|
.Nm
|
|
servers to be run.
|
|
Unlike
|
|
.Fl S
|
|
a full path is not necessary: the sockets are all created in the same
|
|
directory.
|
|
.It Fl S Ar socket-path
|
|
Specify a full alternative path to the server socket.
|
|
If
|
|
.Fl S
|
|
is specified, the default socket directory is not used and any
|
|
.Fl L
|
|
flag is ignored.
|
|
.It Fl U
|
|
Unlock the server.
|
|
.It Fl u
|
|
Instruct
|
|
.Nm
|
|
that the terminal support UTF-8.
|
|
.It Fl V
|
|
Print program version.
|
|
.It Fl v
|
|
Request verbose logging.
|
|
This option may be specified multiple times for increasing verbosity.
|
|
Log messages will be saved into
|
|
.Pa tmux-client-PID.log
|
|
and
|
|
.Pa tmux-server-PID.log
|
|
files in the current directory, where
|
|
.Em PID
|
|
is the pid of the server or client process.
|
|
.It Ar command Op Ar flags
|
|
This specifies one of a set of commands used to control
|
|
.Nm ,
|
|
and described in the following sections.
|
|
If no command and flags is specified, the
|
|
.Ic new-session
|
|
command is assumed.
|
|
.Pp
|
|
.El
|
|
.Sh QUICK START
|
|
To create a new tmux session running
|
|
.Xr vi 1 :
|
|
.Pp
|
|
.Dl $ tmux new-session vi
|
|
.Pp
|
|
Most commands have a shorter form, known as an alias.
|
|
For new-session, this is
|
|
.Ic new :
|
|
.Pp
|
|
.Dl $ tmux new vi
|
|
.Pp
|
|
Alternatively, the shortest unambiguous form of a command is accepted.
|
|
If there are several options, they are listed:
|
|
.Bd -literal -offset indent
|
|
$ tmux n
|
|
ambiguous command: n, could be: new-session, new-window, next-window
|
|
$
|
|
.Ed
|
|
.Pp
|
|
Within an active session, a new window may be created by typing
|
|
.Ql C-b
|
|
(ctrl-b, known as the prefix key)
|
|
followed by the
|
|
.Ql c
|
|
key.
|
|
.Pp
|
|
Windows may be navigated with:
|
|
.Ql C-b 0
|
|
(to select window 0),
|
|
.Ql C-b 1
|
|
(to select window 1), and so on;
|
|
.Ql C-b n
|
|
to select the next window; and
|
|
.Ql C-b p
|
|
to select the previous window.
|
|
.Pp
|
|
A session may be detached using
|
|
.Ql C-b d
|
|
and reattached with:
|
|
.Pp
|
|
.Dl $ tmux attach-session
|
|
.Pp
|
|
Typing
|
|
.Ql C-b \&?
|
|
lists the current key bindings in the current window; up and down may be used
|
|
to navigate the list or
|
|
.Ql Q
|
|
to exit from it.
|
|
.Sh KEY BINDINGS
|
|
.Nm
|
|
may be controlled from an attached client by using a key combination of a
|
|
prefix key,
|
|
.Ql C-b
|
|
(ctrl-b) by default, followed by a command key.
|
|
.Pp
|
|
Some of the default key bindings include:
|
|
.Pp
|
|
.Bl -tag -width Ds -compact
|
|
.It Ql d
|
|
Detach current client.
|
|
.It Ql c
|
|
Create new window.
|
|
.It Ql n
|
|
Change to next window in the current session.
|
|
.It Ql p
|
|
Change to previous window in the current session.
|
|
.It Ql l
|
|
Move to last (previously selected) window in the current session.
|
|
.It Ql t
|
|
Display a large clock.
|
|
.It Ql \&?
|
|
List current key bindings.
|
|
.El
|
|
.Pp
|
|
A complete list may be obtained with the
|
|
.Ic list-keys
|
|
command (bound to
|
|
.Ql \&?
|
|
by default).
|
|
Key bindings may be changed with the
|
|
.Ic bind-key
|
|
and
|
|
.Ic unbind-key
|
|
commands.
|
|
.Sh HISTORY
|
|
.Nm
|
|
maintains a configurable history buffer for each window.
|
|
By default, up to 2000 lines are kept, this can be altered with the
|
|
.Ic history-limit
|
|
option (see the
|
|
.Ic set-option
|
|
command below).
|
|
.Sh MODES
|
|
A
|
|
.Nm
|
|
window may be in one of several modes.
|
|
The default permits direct access to the terminal attached to the window.
|
|
The others are:
|
|
.Bl -tag -width Ds
|
|
.It Em output mode
|
|
This is entered when a command which produces output, such as
|
|
.Ic list-keys ,
|
|
is executed from a key binding.
|
|
.It Em scroll mode
|
|
This is entered with the
|
|
.Ic scroll-mode
|
|
command (bound to
|
|
.Ql =
|
|
by default) and permits the window history buffer to be inspected.
|
|
.It Em copy mode
|
|
This permits a section of a window or its history to be copied to a
|
|
.Em paste buffer
|
|
for later insertion into another window.
|
|
This mode is entered with the
|
|
.Ic copy-mode
|
|
command, bound to
|
|
.Ql [
|
|
by default.
|
|
.El
|
|
.Pp
|
|
The keys available depend on whether
|
|
.Xr emacs 1
|
|
or
|
|
.Xr vi 1
|
|
mode is selected (see the
|
|
.Ic mode-keys
|
|
option).
|
|
The following keys are supported as appropriate for the mode:
|
|
.Bl -column "FunctionXXXXXXXXXXXX" "viXXXXXX" "emacs" -offset indent
|
|
.It Sy "Function" Ta Sy "vi" Ta Sy "emacs"
|
|
.It Li "Start of line" Ta "0 or ^" Ta "C-a"
|
|
.It Li "Clear selection" Ta "Escape" Ta "C-g"
|
|
.It Li "Copy selection" Ta "Enter" Ta "M-w"
|
|
.It Li "Cursor down" Ta "j" Ta "Down"
|
|
.It Li "End of line" Ta "$" Ta "C-e"
|
|
.It Li "Cursor left" Ta "h" Ta "Left"
|
|
.It Li "Next page" Ta "C-f" Ta "Page down"
|
|
.It Li "Next word" Ta "w" Ta "M-f"
|
|
.It Li "Previous page" Ta "C-u" Ta "Page up"
|
|
.It Li "Previous word" Ta "b" Ta "M-b"
|
|
.It Li "Quit mode" Ta "q" Ta "Escape"
|
|
.It Li "Cursor right" Ta "l" Ta "Right"
|
|
.It Li "Start selection" Ta "Space" Ta "C-Space"
|
|
.It Li "Cursor up" Ta "k" Ta "Up"
|
|
.El
|
|
.Pp
|
|
.Sh BUFFERS
|
|
.Nm
|
|
maintains a stack of
|
|
.Em paste buffers
|
|
for each session.
|
|
Up to the value of the
|
|
.Ic buffer-limit
|
|
option are kept; when a new buffer is added, the buffer at the bottom of the
|
|
stack is removed.
|
|
Buffers may be added using
|
|
.Ic copy-mode
|
|
or the
|
|
.Ic set-buffer
|
|
command, and pasted into a window using the
|
|
.Ic paste-buffer
|
|
command.
|
|
.Sh PANES AND LAYOUTS
|
|
Each window displayed by
|
|
.Nm
|
|
may be split into one or more
|
|
.Em panes ;
|
|
each pane takes up a certain area of the display and is a separate terminal.
|
|
A window may be split into panes using the
|
|
.Ic split-window
|
|
command.
|
|
.Pp
|
|
Panes are numbered beginning from zero; in horizontal layouts zero is the
|
|
leftmost pane and in vertical the topmost.
|
|
.Pp
|
|
Panes may be arranged using several layouts.
|
|
The layout may be cycled with the
|
|
.Ic next-layout
|
|
command (bound to
|
|
.Ql C-space
|
|
by default), the current pane may be changed with the
|
|
.Ic up-pane
|
|
and
|
|
.Ic down-pane
|
|
commands and the
|
|
.Ic rotate-window
|
|
and
|
|
.Ic swap-pane
|
|
commands may be used to swap panes without changing the window layout.
|
|
.Pp
|
|
The following layouts are supported:
|
|
.Bl -tag -width Ds
|
|
.It Ic manual
|
|
Manual layout splits windows vertically (running across); only with this layout
|
|
may panes be resized using the
|
|
.Ic resize-pane
|
|
command.
|
|
.It Ic active-only
|
|
Only the active pane is shown - all other panes are hidden.
|
|
.It Ic even-horizontal
|
|
Panes are spread out evenly from left to right across the window.
|
|
.It Ic even-vertical
|
|
Panes are spread evenly from top to bottom.
|
|
.It Ic left-vertical
|
|
A large (81 column) pane is shown on the left of the window and the remaining
|
|
panes are spread from top to bottom in the leftover space to the right.
|
|
.El
|
|
.Sh COMMANDS
|
|
This section contains a list of the commands supported by
|
|
.Nm .
|
|
Most commands accept the optional
|
|
.Fl t
|
|
argument with one of
|
|
.Ar target-client ,
|
|
.Ar target-session
|
|
or
|
|
.Ar target-window .
|
|
These specify the client, session or window which a command should affect.
|
|
.Ar target-client
|
|
is the name of the
|
|
.Xr pty 4
|
|
file to which the client is connected, for example
|
|
.Pa /dev/ttyp1 .
|
|
Clients may be listed with the
|
|
.Ic list-clients
|
|
command.
|
|
.Pp
|
|
.Ar target-session
|
|
is either the name of a session (as listed by the
|
|
.Ic list-sessions
|
|
command); or the name of a client as for
|
|
.Ar target-client ,
|
|
in this case, the session attached to the client is used.
|
|
An
|
|
.Xr fnmatch 3
|
|
pattern may be used to match the session name.
|
|
If a session is omitted when required,
|
|
.Nm tmux
|
|
attempts to use the current session; if no current session is available, the
|
|
most recently created is chosen.
|
|
If no client is specified, the current client is chosen, if possible, or an
|
|
error is reported.
|
|
.Pp
|
|
.Ar target-window
|
|
specifies a window in the form
|
|
.Em session Ns \&: Ns Em index ,
|
|
for example mysession:1.
|
|
The session is in the same form as for
|
|
.Ar target-session .
|
|
.Em session ,
|
|
.Em index
|
|
or both may be omitted.
|
|
If
|
|
.Em session
|
|
is omitted, the same rules as for
|
|
.Ar target-session
|
|
are followed; if
|
|
.Em index
|
|
is not present, the current window for the given session is used.
|
|
When the argument does not contain a colon (:),
|
|
.Nm
|
|
first attempts to parse it as window index; if that fails, an attempt is made
|
|
to match a session or client name.
|
|
.Pp
|
|
Multiple commands may be specified together as part of a
|
|
.Em command sequence .
|
|
Each command should be separated by spaces and a semicolon
|
|
.Eo ( Ql \& \&; \& Ec ) ;
|
|
commands are executed sequentially from left to right.
|
|
A literal semicolon may be included by escaping it with a backslash (for
|
|
example, when specifying a command sequence to
|
|
.Ic bind-key ) .
|
|
.Pp
|
|
Examples include:
|
|
.Pp
|
|
.Bd -literal -offset indent
|
|
refresh-client -t/dev/ttyp2
|
|
|
|
rename-session -tfirst newname
|
|
|
|
set-window-option -t:0 monitor-activity on
|
|
|
|
new-window ; split-window -d
|
|
|
|
bind-key D detach-client \e\; lock-server
|
|
.Ed
|
|
.Pp
|
|
The following commands are available:
|
|
.Bl -tag -width Ds
|
|
.It Xo Ic attach-session
|
|
.Op Fl d
|
|
.Op Fl t Ar target-session
|
|
.Xc
|
|
.D1 (alias: Ic attach )
|
|
Create a new client in the current terminal and attach it to a session.
|
|
If
|
|
.Fl d
|
|
is specified, any other clients attached to the session are detached.
|
|
.Pp
|
|
If no server is started,
|
|
.Ic attach-session
|
|
will attempt to start it; this will fail unless sessions are created in the
|
|
configuration file.
|
|
.It Xo Ic bind-key
|
|
.Op Fl r
|
|
.Ar key Ar command Op Ar arguments
|
|
.Xc
|
|
.D1 (alias: Ic bind )
|
|
Bind key
|
|
.Ar key
|
|
to
|
|
.Ar command .
|
|
Keys may be specified prefixed with
|
|
.Ql C-
|
|
or
|
|
.Ql ^
|
|
for ctrl keys, or
|
|
.Ql M-
|
|
for alt (meta) keys.
|
|
The
|
|
.Fl r
|
|
flag indicates this key may repeat, see the
|
|
.Ic repeat-time
|
|
option.
|
|
.It Xo Ic break-pane
|
|
.Op Fl d
|
|
.Op Fl p Ar pane-index
|
|
.Op Fl t Ar target-window
|
|
.Xc
|
|
.D1 (alias: Ic breakp)
|
|
Break the current pane off from its containing window to make it the only pane
|
|
in a new window.
|
|
If
|
|
.Fl d
|
|
is given, the new window does not become the current window.
|
|
.It Xo Ic choose-session
|
|
.Op Fl t Ar target-window
|
|
.Xc
|
|
Put a window into session choice mode, where the session for the current
|
|
client may be selected interactively from a list.
|
|
This command works only from inside
|
|
.Nm .
|
|
.It Xo Ic choose-window
|
|
.Op Fl t Ar target-window
|
|
.Xc
|
|
Put a window into window choice mode, where the window for the session
|
|
attached to the current client may be selected interactively from a list.
|
|
This command works only from inside
|
|
.Nm .
|
|
.It Xo Ic clock-mode
|
|
.Op Fl t Ar target-window
|
|
.Xc
|
|
Display a large clock.
|
|
.It Xo Ic command-prompt
|
|
.Op Fl t Ar target-client
|
|
.Op Ar template
|
|
.Xc
|
|
Open the command prompt in a client.
|
|
This may be used from inside
|
|
.Nm
|
|
to execute commands interactively.
|
|
If
|
|
.Ar template
|
|
is specified, it is used as the command; any %% in the template will be
|
|
replaced by what is entered at the prompt.
|
|
.It Xo Ic confirm-before
|
|
.Op Fl t Ar target-client
|
|
.Ar command
|
|
.Xc
|
|
.D1 (alias: Ic confirm)
|
|
Ask for confirmation before executing
|
|
.Ar command .
|
|
This command works only from inside
|
|
.Nm .
|
|
.It Xo Ic copy-buffer
|
|
.Op Fl a Ar src-index
|
|
.Op Fl b Ar dst-index
|
|
.Op Fl s Ar src-session
|
|
.Op Fl t Ar dst-session
|
|
.Xc
|
|
.D1 (alias: Ic copyb)
|
|
Copy a session paste buffer to another session.
|
|
If no sessions are specified, the current one is used instead.
|
|
.It Xo Ic copy-mode
|
|
.Op Fl u
|
|
.Op Fl t Ar target-window
|
|
.Xc
|
|
Enter copy mode.
|
|
The
|
|
.Fl u
|
|
option scrolls one page up.
|
|
.It Xo Ic delete-buffer
|
|
.Op Fl b Ar buffer-index
|
|
.Op Fl t Ar target-session
|
|
.Xc
|
|
.D1 (alias: Ic deleteb )
|
|
Delete the buffer at
|
|
.Ar buffer-index ,
|
|
or the top buffer if not specified.
|
|
.It Xo Ic detach-client
|
|
.Op Fl t Ar target-client
|
|
.Xc
|
|
.D1 (alias: Ic detach )
|
|
Detach the current client if bound to a key, or the specified client with
|
|
.Fl t .
|
|
.It Xo Ic down-pane
|
|
.Op Fl p Ar pane-index
|
|
.Op Fl t Ar target-window
|
|
.Xc
|
|
.D1 (alias: Ic downp )
|
|
Move down a pane.
|
|
.It Xo Ic find-window
|
|
.Op Fl t Ar target-window
|
|
.Ar match-string
|
|
.Xc
|
|
.D1 (alias: Ic findw )
|
|
Search for
|
|
.Ar match-string
|
|
in window names, titles, and visible content (but not history).
|
|
If only one window is matched, it'll be automatically selected, otherwise a
|
|
choice list is shown.
|
|
This command only works from inside
|
|
.Nm .
|
|
.It Xo Ic has-session
|
|
.Op Fl t Ar target-session
|
|
.Xc
|
|
.D1 (alias: Ic has )
|
|
Report an error and exit with 1 if the specified session does not exist.
|
|
If it does exist, exit with 0.
|
|
.It Xo Ic kill-pane
|
|
.Op Fl p Ar pane-index
|
|
.Op Fl t Ar target-window
|
|
.Xc
|
|
.D1 (alias: Ic killp )
|
|
Destroy the given pane.
|
|
.It Xo Ic kill-server
|
|
.Xc
|
|
Kill the
|
|
.Nm
|
|
server and clients and destroy all sessions.
|
|
.It Xo Ic kill-session
|
|
.Op Fl t Ar target-session
|
|
.Xc
|
|
Destroy the given session, closing any windows linked to it and no other
|
|
sessions, and detaching all clients attached to it.
|
|
.It Xo Ic kill-window
|
|
.Op Fl t Ar target-window
|
|
.Xc
|
|
.D1 (alias: Ic killw )
|
|
Kill the current window or the window at
|
|
.Ar target-window ,
|
|
removing it from any sessions to which it is linked.
|
|
.It Xo Ic last-window
|
|
.Op Fl t Ar target-session
|
|
.Xc
|
|
.D1 (alias: Ic last )
|
|
Select the last (previously selected) window.
|
|
If no
|
|
.Ar target-session
|
|
is specified, select the last window of the current session.
|
|
.It Xo Ic link-window
|
|
.Op Fl dk
|
|
.Op Fl s Ar src-window
|
|
.Op Fl t Ar dst-window
|
|
.Xc
|
|
.D1 (alias: Ic linkw )
|
|
Link the window at
|
|
.Ar src-window
|
|
to the specified
|
|
.Ar dst-window .
|
|
If
|
|
.Ar dst-window
|
|
is specified and no such window exists, the
|
|
.Ar src-window
|
|
is linked there.
|
|
If
|
|
.Fl k
|
|
is given and
|
|
.Ar dst-window
|
|
exists, it is killed, otherwise an error is generated.
|
|
If
|
|
.Fl d
|
|
is given, the newly linked window is not selected.
|
|
.It Xo Ic list-buffers
|
|
.Op Fl t Ar target-session
|
|
.Xc
|
|
.D1 (alias: Ic lsb )
|
|
List the buffers in the given session.
|
|
.It Xo Ic list-clients
|
|
.Xc
|
|
.D1 (alias: Ic lsc )
|
|
List all clients attached to the server.
|
|
.It Xo Ic list-commands
|
|
.Xc
|
|
.D1 (alias: Ic lscm )
|
|
List the syntax of all commands supported by
|
|
.Nm .
|
|
.It Xo Ic list-keys
|
|
.Xc
|
|
.D1 (alias: Ic lsk )
|
|
List all key bindings.
|
|
.It Xo Ic list-sessions
|
|
.Xc
|
|
.D1 (alias: Ic ls )
|
|
List all sessions managed by the server.
|
|
.It Xo Ic list-windows
|
|
.Op Fl t Ar target-session
|
|
.Xc
|
|
.D1 (alias: Ic lsw )
|
|
List windows in the current session or in
|
|
.Ar target-session .
|
|
.It Xo Ic load-buffer
|
|
.Op Fl b Ar buffer-index
|
|
.Op Fl t Ar target-session
|
|
.Ar path
|
|
.Xc
|
|
.D1 (alias: Ic loadb )
|
|
Load the contents of the specified paste buffer from
|
|
.Ar path .
|
|
.It Xo Ic lock-server
|
|
.Xc
|
|
.D1 (alias: Ic lock )
|
|
Lock the server until a password is entered.
|
|
.It Xo Ic move-window
|
|
.Op Fl d
|
|
.Op Fl s Ar src-window
|
|
.Op Fl t Ar dst-window
|
|
.Xc
|
|
.D1 (alias: Ic movew )
|
|
This is similar to
|
|
.Ic link-window ,
|
|
except the window at
|
|
.Ar src-window
|
|
is moved to
|
|
.Ar dst-window .
|
|
.It Xo Ic new-session
|
|
.Op Fl d
|
|
.Op Fl n Ar window-name
|
|
.Op Fl s Ar session-name
|
|
.Op Ar command
|
|
.Xc
|
|
.D1 (alias: Ic new )
|
|
Create a new session with name
|
|
.Ar session-name .
|
|
The new session is attached to the current terminal unless
|
|
.Fl d
|
|
is given.
|
|
.Ar window-name
|
|
and
|
|
.Ar command
|
|
are the name of and command to execute in the initial window.
|
|
.It Xo Ic new-window
|
|
.Op Fl d
|
|
.Op Fl n Ar window-name
|
|
.Op Fl t Ar target-window
|
|
.Op Ar command
|
|
.Xc
|
|
.D1 (alias: Ic neww )
|
|
Create a new window.
|
|
If
|
|
.Fl d
|
|
is given, the session does not make the new window the current window.
|
|
.Ar target-window
|
|
represents the window to be created.
|
|
.Ar command
|
|
is the command to execute.
|
|
If
|
|
.Ar command
|
|
is not specified, the default command is used.
|
|
.Pp
|
|
The
|
|
.Ev TERM
|
|
environment variable must be set to
|
|
.Dq screen
|
|
for all programs running
|
|
.Em inside
|
|
.Nm .
|
|
New windows will automatically have
|
|
.Dq TERM=screen
|
|
added to their environment, but care must be taken not to reset this in shell
|
|
start-up files.
|
|
.It Xo Ic next-layout
|
|
.Op Fl t Ar target-window
|
|
.Xc
|
|
.D1 (alias: Ic nextl )
|
|
Move a window to the next layout and rearrange the panes to fit.
|
|
.It Xo Ic next-window
|
|
.Op Fl t Ar target-session
|
|
.Xc
|
|
.D1 (alias: Ic next )
|
|
Move to the next window in the session.
|
|
.It Xo Ic paste-buffer
|
|
.Op Fl d
|
|
.Op Fl b Ar buffer-index
|
|
.Op Fl t Ar target-window
|
|
.Xc
|
|
.D1 (alias: Ic pasteb )
|
|
Insert the contents of a paste buffer into the current window.
|
|
.It Xo Ic previous-window
|
|
.Op Fl t Ar target-session
|
|
.Xc
|
|
.D1 (alias: Ic prev )
|
|
Move to the previous window in the session.
|
|
.It Xo Ic refresh-client
|
|
.Op Fl t Ar target-client
|
|
.Xc
|
|
.D1 (alias: Ic refresh )
|
|
Refresh the current client if bound to a key, or a single client if one is given
|
|
with
|
|
.Fl t .
|
|
.It Xo Ic rename-session
|
|
.Op Fl t Ar target-session
|
|
.Ar new-name
|
|
.Xc
|
|
.D1 (alias: Ic rename )
|
|
Rename the session to
|
|
.Ar new-name .
|
|
.It Xo Ic rename-window
|
|
.Op Fl t Ar target-window
|
|
.Ar new-name
|
|
.Xc
|
|
.D1 (alias: Ic renamew )
|
|
Rename the current window, or the window at
|
|
.Ar target-window
|
|
if specified, to
|
|
.Ar new-name .
|
|
.It Xo Ic resize-pane
|
|
.Op Fl DU
|
|
.Op Fl p Ar pane-index
|
|
.Op Fl t Ar target-window
|
|
.Op Ar adjustment
|
|
.Xc
|
|
.D1 (alias: Ic resizep )
|
|
Resize a pane, upward with
|
|
.Fl U
|
|
(the default) or downward with
|
|
.Fl D .
|
|
The
|
|
.Ar adjustment
|
|
is given in lines (the default is 1).
|
|
.It Xo Ic respawn-window
|
|
.Op Fl k
|
|
.Op Fl t Ar target-window
|
|
.Op Ar command
|
|
.Xc
|
|
.D1 (alias: Ic respawnw )
|
|
Reactive a window in which the command has exited (see the
|
|
.Ic remain-on-exit
|
|
window option).
|
|
If
|
|
.Ar command
|
|
is not given, the command used when the window was created is executed.
|
|
The window must be already inactive, unless
|
|
.Fl k
|
|
is given, in which case any existing command is killed.
|
|
.It Xo Ic rotate-window
|
|
.Op Fl DU
|
|
.Op Fl t Ar target-window
|
|
.Xc
|
|
.D1 (alias: Ic rotatew )
|
|
Rotate the positions of the panes within a window, either upward (numerically
|
|
lower) with
|
|
.Fl U
|
|
or downward (numerically higher).
|
|
.It Xo Ic save-buffer
|
|
.Op Fl a
|
|
.Op Fl b Ar buffer-index
|
|
.Op Fl t Ar target-session
|
|
.Ar path
|
|
.Xc
|
|
.D1 (alias: Ic saveb )
|
|
Save the contents of the specified paste buffer to
|
|
.Ar path .
|
|
The
|
|
.Fl a
|
|
option appends to rather than overwriting the file.
|
|
.It Xo Ic scroll-mode
|
|
.Op Fl u
|
|
.Op Fl t Ar target-window
|
|
.Xc
|
|
Enter scroll mode.
|
|
The
|
|
.Fl u
|
|
has the same meaning as in the
|
|
.Ic copy-mode
|
|
command.
|
|
.It Xo Ic select-pane
|
|
.Op Fl p Ar pane-index
|
|
.Op Fl t Ar target-window
|
|
.Xc
|
|
.D1 (alias: Ic selectp )
|
|
Make pane
|
|
.Ar pane-index
|
|
the active pane in window
|
|
.Ar target-window .
|
|
.It Xo Ic select-prompt
|
|
.Op Fl t Ar target-client
|
|
.Xc
|
|
Open a prompt inside
|
|
.Ar target-client
|
|
allowing a window index to be entered interactively.
|
|
.It Xo Ic select-window
|
|
.Op Fl t Ar target-window
|
|
.Xc
|
|
.D1 (alias: Ic selectw )
|
|
Select the window at
|
|
.Ar target-window .
|
|
.It Xo Ic send-keys
|
|
.Op Fl t Ar target-window
|
|
.Ar key Ar ...
|
|
.Xc
|
|
.D1 (alias: Ic send )
|
|
Send a key or keys to a window.
|
|
Each argument
|
|
.Ar key
|
|
is the name of the key (such as
|
|
.Ql C-a
|
|
or
|
|
.Ql npage
|
|
) to send; if the string is not recognised as a key, it is sent as a series of
|
|
characters.
|
|
All arguments are sent sequentially from first to last.
|
|
.It Xo Ic send-prefix
|
|
.Op Fl t Ar target-window
|
|
.Xc
|
|
Send the prefix key to a window as if it was pressed.
|
|
.It Xo Ic server-info
|
|
.Xc
|
|
.D1 (alias: Ic info )
|
|
Show server information and terminal details.
|
|
.It Xo Ic set-buffer
|
|
.Op Fl b Ar buffer-index
|
|
.Op Fl t Ar target-session
|
|
.Ar data
|
|
.Xc
|
|
.D1 (alias: Ic setb )
|
|
Set the contents of the specified buffer to
|
|
.Ar data .
|
|
.It Xo Ic set-option
|
|
.Op Fl gu
|
|
.Op Fl t Ar target-session
|
|
.Ar option Ar value
|
|
.Xc
|
|
.D1 (alias: Ic set )
|
|
Set an option.
|
|
If
|
|
.Fl g
|
|
is specified, the option is set as a global option.
|
|
Global options apply to all sessions which don't have the option explicitly
|
|
set.
|
|
If
|
|
.Fl g
|
|
is not used, the option applies only to
|
|
.Ar target-session .
|
|
The
|
|
.Fl u
|
|
flag unsets an option, so a session inherits the option from the global
|
|
options - it is not possible to unset a global option.
|
|
.Pp
|
|
Possible options are:
|
|
.Bl -tag -width Ds
|
|
.It Xo Ic bell-action
|
|
.Op Ic any | Ic none | Ic current
|
|
.Xc
|
|
Set action on window bell.
|
|
.Ic any
|
|
means a bell in any window linked to a session causes a bell in the current
|
|
window of that session,
|
|
.Ic none
|
|
means all bells are ignored and
|
|
.Ic current
|
|
means only bell in windows other than the current window are ignored.
|
|
.It Ic buffer-limit Ar number
|
|
Set the number of buffers kept for each session; as new buffers are added to
|
|
the top of the stack, old ones are removed from the bottom if necessary to
|
|
maintain this maximum length.
|
|
.It Ic default-command Ar command
|
|
Set the command used for new windows (if not specified when the window is
|
|
created) to
|
|
.Ar command .
|
|
The default is
|
|
.Dq exec $SHELL .
|
|
.It Ic default-path Ar path
|
|
Set the default working directory for processes created from keys, or
|
|
interactively from the prompt.
|
|
The default is the current working directory when the server is started.
|
|
.It Ic history-limit Ar lines
|
|
Set the maximum number of lines held in window history.
|
|
This setting applies only to new windows - existing window histories are not
|
|
resized and retain the limit at the point they were created.
|
|
.It Ic lock-after-time Ar number
|
|
Lock the server after
|
|
.Ar number
|
|
seconds of inactivity.
|
|
The default is off (set to 0).
|
|
This has no effect as a session option; it must be set as a global option using
|
|
.Fl g .
|
|
.It Ic message-attr Ar attributes
|
|
Set status line message attributes, where
|
|
.Ar attributes
|
|
is either
|
|
.Ic default
|
|
or a comma-delimited list of one or more of:
|
|
.Ic bright
|
|
(or
|
|
.Ic bold ) ,
|
|
.Ic dim ,
|
|
.Ic underscore ,
|
|
.Ic blink ,
|
|
.Ic reverse ,
|
|
.Ic hidden ,
|
|
or
|
|
.Ic italics .
|
|
.It Ic message-bg Ar colour
|
|
Set status line message background colour, where
|
|
.Ar colour
|
|
is one of:
|
|
.Ic black ,
|
|
.Ic red ,
|
|
.Ic green ,
|
|
.Ic yellow ,
|
|
.Ic blue ,
|
|
.Ic magenta ,
|
|
.Ic cyan ,
|
|
.Ic white
|
|
or
|
|
.Ic default .
|
|
.It Ic message-fg Ar colour
|
|
Set status line message foreground colour.
|
|
.It Ic prefix Ar key
|
|
Set the current prefix key.
|
|
.It Ic repeat-time Ar number
|
|
Allow multiple commands to be entered without pressing the prefix-key again
|
|
in the specified
|
|
.Ar number
|
|
milliseconds (the default is 500).
|
|
Whether a key repeats may be set when it is bound using the
|
|
.Fl r
|
|
flag to
|
|
.Ic bind-key .
|
|
Repeat is enabled for the default keys of the
|
|
.Ic up-pane ,
|
|
.Ic down-pane ,
|
|
.Ic resize-pane-up ,
|
|
and
|
|
.Ic resize-pane-down
|
|
commands.
|
|
.It Xo Ic set-remain-on-exit
|
|
.Op Ic on | Ic off
|
|
.Xc
|
|
Set the
|
|
.Ic remain-on-exit
|
|
window option for any windows first created in this session.
|
|
.It Xo Ic set-titles
|
|
.Op Ic on | Ic off
|
|
.Xc
|
|
Attempt to set the window title using the \ee]2;...\e007 xterm code and
|
|
the terminal appears to be an xterm.
|
|
This option is enabled by default.
|
|
Note that
|
|
.Xr elinks 1
|
|
will only attempt to set the window title if the STY environment
|
|
variable is set.
|
|
.It Xo Ic status
|
|
.Op Ic on | Ic off
|
|
.Xc
|
|
Show or hide the status line.
|
|
.It Ic status-attr Ar attributes
|
|
Set status line attributes.
|
|
.It Ic status-bg Ar colour
|
|
Set status line background colour.
|
|
.It Ic status-fg Ar colour
|
|
Set status line foreground colour.
|
|
.It Ic status-interval Ar interval
|
|
Update the status bar every
|
|
.Ar interval
|
|
seconds.
|
|
By default, updates will occur every 15 seconds.
|
|
A setting of zero disables redrawing at interval.
|
|
.It Xo Ic status-keys
|
|
.Op Ic vi | Ic emacs
|
|
.Xc
|
|
Use
|
|
.Xr vi 1 -
|
|
or
|
|
.Xr emacs 1 -style
|
|
key bindings in the status line, for example at the command prompt.
|
|
Defaults to emacs.
|
|
.It Ic status-left Ar string
|
|
Display
|
|
.Ar string
|
|
to the left of the status bar.
|
|
.Ar string
|
|
will be passed through
|
|
.Xr strftime 3
|
|
before being used.
|
|
By default, the session name is shown.
|
|
.Ar string
|
|
may contain any of the following special character pairs:
|
|
.Bl -column "Character pair" "Replaced with" -offset indent
|
|
.It Sy "Character pair" Ta Sy "Replaced with"
|
|
.It Li "#(command)" Ta "First line of command's output"
|
|
.It Li "#H" Ta "Hostname of local host"
|
|
.It Li "#S" Ta "Session name"
|
|
.It Li "#T" Ta "Current window title"
|
|
.It Li "##" Ta "A literal" Ql #
|
|
.El
|
|
.Pp
|
|
Where appropriate, these may be prefixed with a number to specify the maximum
|
|
length, for example
|
|
.Ql #24T .
|
|
.It Ic status-left-length Ar length
|
|
Set the maximum
|
|
.Ar length
|
|
of the left component of the status bar.
|
|
The default is 10.
|
|
.It Ic status-right Ar string
|
|
Display
|
|
.Ar string
|
|
to the right of the status bar.
|
|
By default, the date and time will be shown.
|
|
As with
|
|
.Ic status-left ,
|
|
.Ar string
|
|
will be passed to
|
|
.Xr strftime 3
|
|
and character pairs are replaced.
|
|
.It Ic status-right-length Ar length
|
|
Set the maximum
|
|
.Ar length
|
|
of the right component of the status bar.
|
|
The default is 40.
|
|
.El
|
|
.It Xo Ic set-password
|
|
.Op Fl c
|
|
.Ar password
|
|
.Xc
|
|
.D1 (alias: Ic pass )
|
|
Set the server password.
|
|
If the
|
|
.Fl c
|
|
option is given, a pre-encrypted password may be specified.
|
|
By default, the password is blank, thus any entered password will be accepted
|
|
when unlocking the server (see the
|
|
.Ic lock-server
|
|
command).
|
|
To prevent variable expansion when an encrypted password is read from a
|
|
configuration file, enclose it in single quotes (').
|
|
.It Xo Ic set-window-option
|
|
.Op Fl gu
|
|
.Op Fl t Ar target-window
|
|
.Ar option Ar value
|
|
.Xc
|
|
.D1 (alias: Ic setw )
|
|
Set a window-specific option.
|
|
The
|
|
.Fl g
|
|
and
|
|
.Fl u
|
|
flags work similarly to the
|
|
.Ic set-option
|
|
command.
|
|
.Pp
|
|
Supported options are:
|
|
.Bl -tag -width Ds
|
|
.It Xo Ic aggressive-resize
|
|
.Op Ic on | Ic off
|
|
.Xc
|
|
Aggressively resize the chosen window.
|
|
This means that
|
|
.Nm
|
|
will resize the window to the size of the smallest session for which it is the
|
|
current window, rather than the smallest session to which it is attached.
|
|
The window may resize when the current window is changed on another sessions;
|
|
this option is good for full-screen programs which support SIGWINCH and poor for
|
|
interactive programs such as shells.
|
|
.It Xo Ic automatic-rename
|
|
.Op Ic on | Ic off
|
|
.Xc
|
|
Control automatic window renaming.
|
|
When this setting is enabled,
|
|
.Nm
|
|
will attempt - on supported platforms - to rename the window to reflect the
|
|
command currently running in it.
|
|
This flag is automatically disabled for an individual window when a name
|
|
is specified at creation with
|
|
.Ic new-window or
|
|
.Ic new-session ,
|
|
or later with
|
|
.Ic rename-window .
|
|
It may be switched off globally with:
|
|
.Bd -literal -offset indent
|
|
set-window-option -g automatic-rename off
|
|
.Ed
|
|
.It Ic clock-mode-colour Ar colour
|
|
Set clock colour.
|
|
.It Xo Ic clock-mode-style
|
|
.Op Ic 12 | Ic 24
|
|
.Xc
|
|
Set clock hour format.
|
|
.It Ic force-height Ar height
|
|
.It Ic force-width Ar width
|
|
Prevent
|
|
.Nm
|
|
from resizing a window to greater than
|
|
.Ar width
|
|
or
|
|
.Ar height .
|
|
A value of zero restores the default unlimited setting.
|
|
.It Ic mode-attr Ar attributes
|
|
Set window modes attributes.
|
|
.It Ic mode-bg Ar colour
|
|
Set window modes background colour.
|
|
.It Ic mode-fg Ar colour
|
|
Set window modes foreground colour.
|
|
.It Xo Ic mode-keys
|
|
.Op Ic vi | Ic emacs
|
|
.Xc
|
|
Use
|
|
.Xr vi 1 -
|
|
or
|
|
.Xr emacs 1 -style
|
|
key bindings in scroll and copy modes.
|
|
Key bindings default to emacs.
|
|
.It Xo Ic monitor-activity
|
|
.Op Ic on | Ic off
|
|
.Xc
|
|
Monitor for activity in the window.
|
|
Windows with activity are highlighted in the status line.
|
|
.It Xo Ic remain-on-exit
|
|
.Op Ic on | Ic off
|
|
.Xc
|
|
A window with this flag set is not destroyed when the program running in it
|
|
exits.
|
|
The window may be reactivated with the
|
|
.Ic respawn-window
|
|
command.
|
|
.It Xo Ic utf8
|
|
.Op Ic on | Ic off
|
|
.Xc
|
|
Instructs
|
|
.Nm
|
|
to expect UTF-8 sequences to appear in this window.
|
|
.It Ic window-status-attr Ar attributes
|
|
Set status line attributes for a single window.
|
|
.It Ic window-status-bg Ar colour
|
|
Set status line background colour for a single window.
|
|
.It Ic window-status-fg Ar colour
|
|
Set status line foreground colour for a single window.
|
|
.It Xo Ic xterm-keys
|
|
.Op Ic on | Ic off
|
|
.Xc
|
|
If this option is set,
|
|
.Nm
|
|
will generate
|
|
.Xr xterm 1 -style
|
|
function key sequences; these have a number included to indicate modifiers such
|
|
as shift, meta or ctrl.
|
|
.El
|
|
.It Xo Ic show-buffer
|
|
.Op Fl b Ar buffer-index
|
|
.Op Fl t Ar target-session
|
|
.Xc
|
|
.D1 (alias: Ic showb )
|
|
Display the contents of the specified buffer.
|
|
.It Xo Ic show-options
|
|
.Op Fl t Ar target-session
|
|
.Ar option Ar value
|
|
.Xc
|
|
.D1 (alias: Ic show )
|
|
Show the currently set options.
|
|
If a
|
|
.Ar target-session
|
|
is specified, the options for that session are shown; otherwise, the global
|
|
options are listed.
|
|
.It Xo Ic show-window-options
|
|
.Op Fl t Ar target-window
|
|
.Ar option Ar value
|
|
.Xc
|
|
.D1 (alias: Ic showw )
|
|
List the current options for the given window.
|
|
.It Xo Ic source-file
|
|
.Ar path
|
|
.Xc
|
|
.D1 (alias: Ic source )
|
|
Execute commands from
|
|
.Ar path .
|
|
.It Xo Ic split-window
|
|
.Op Fl d
|
|
.Oo Fl l
|
|
.Ar lines |
|
|
.Fl p Ar percentage Oc
|
|
.Op Fl t Ar target-window
|
|
.Op Ar command
|
|
.Xc
|
|
.D1 (alias: splitw )
|
|
Creates a new window by splitting it vertically.
|
|
The
|
|
.Fl l
|
|
and
|
|
.Fl p
|
|
options specify the size of the new window in lines, or as a percentage,
|
|
respectively.
|
|
All other options have the same meaning as in the
|
|
.Ic new-window
|
|
command.
|
|
.Pp
|
|
A few notes with regard to panes:
|
|
.Bl -enum -compact
|
|
.It
|
|
If attempting to split a window with less than eight lines, an error will be
|
|
shown.
|
|
.It
|
|
If the window is resized, as many panes are shown as can fit without reducing
|
|
them below four lines.
|
|
.It
|
|
The minimum pane size is four lines (including the separator line).
|
|
.It
|
|
The panes are indexed from top (0) to bottom, with no numbers skipped.
|
|
.El
|
|
.It Xo Ic start-server
|
|
.Xc
|
|
.D1 (alias: Ic start )
|
|
Start the
|
|
.Nm
|
|
server, if not already running, without creating any sessions.
|
|
.It Xo Ic suspend-client
|
|
.Op Fl c target-client
|
|
.Xc
|
|
.D1 (alias: Ic suspendc )
|
|
Suspend a client by sending SIGTSTP (tty stop).
|
|
.It Xo Ic swap-pane
|
|
.Op Fl dDU
|
|
.Op Fl p Ar src-index
|
|
.Op Fl t Ar target-window
|
|
.Op Fl q Ar dst-index
|
|
.Xc
|
|
.D1 (alias: Ic swapp )
|
|
Swap two panes within a window.
|
|
If
|
|
.Fl U
|
|
is used, the pane is swapped with the pane above (before it numerically);
|
|
.Fl D
|
|
swaps with the pane below (the next numerically); or
|
|
.Ar dst-index
|
|
may be give to swap with a specific pane.
|
|
.It Xo Ic swap-window
|
|
.Op Fl d
|
|
.Op Fl s Ar src-window
|
|
.Op Fl t Ar dst-window
|
|
.Xc
|
|
.D1 (alias: Ic swapw )
|
|
This is similar to
|
|
.Ic link-window ,
|
|
except the source and destination windows are swapped.
|
|
It is an error if no window exists at
|
|
.Ar src-window .
|
|
.It Xo Ic switch-client
|
|
.Op Fl c Ar target-client Fl t Ar target-session
|
|
.Xc
|
|
.D1 (alias: Ic switchc )
|
|
Switch the current session for client
|
|
.Ar target-client
|
|
to
|
|
.Ar target-session .
|
|
.It Xo Ic unbind-key
|
|
.Ar key
|
|
.Xc
|
|
.D1 (alias: Ic unbind )
|
|
Unbind the key bound to
|
|
.Ar key .
|
|
.It Xo Ic unlink-window
|
|
.Op Fl t Ar target-window
|
|
.Xc
|
|
.D1 (alias: Ic unlinkw )
|
|
Unlink
|
|
.Ar target-window .
|
|
A window may be unlinked only if it is linked to multiple sessions - windows may
|
|
not be linked to no sessions.
|
|
.It Xo Ic up-pane
|
|
.Op Fl p Ar pane-index
|
|
.Op Fl t Ar target-window
|
|
.Xc
|
|
.D1 (alias: Ic upp )
|
|
Move up a pane.
|
|
.El
|
|
.Sh FILES
|
|
.Bl -tag -width Ds -compact
|
|
.It Pa ~/.tmux.conf
|
|
default
|
|
.Nm
|
|
configuration file
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr pty 4
|
|
.Sh AUTHORS
|
|
.An Nicholas Marriott Aq nicm@users.sourceforge.net
|