| TMUX(1) | General Commands Manual | TMUX(1) |
tmux —
tmux |
[-qVv]
[-f file]
[-S socket-path]
[command [flags]] |
tmux is a terminal multiplexer; it enables a number of
terminals (or windows) to be accessed and controlled from a single terminal.
tmux runs as a server-client system. A
server is created automatically when necessary and holds a number of
sessions, each of which may have a number of
windows linked to it. Any number of
clients may connect to a session, or the server may be
controlled by issuing commands with tmux.
Communication takes place through a socket, by default placed in
/tmp.
The options are as follows:
-f
filetmux will look for a config file at
~/.tmux.conf. The configuration file is a set of
tmux commands which are executed in sequence when
the server is first started.-q-S
socket-pathtmux.-V-vtmux, and described in the following sections. If
no command and flags is specified, the new-session
command is assumed.$ tmux new-session viMost commands have a shorter form, known as an alias. For
new-session, this is new:
$ tmux new viAlternatively, the shortest unambiguous form of a command is accepted. If there are several options, they are listed:
$ tmux n ambiguous command: n, could be: new-session, new-window, next-window $
Within an active session, a new window may be created by typing
‘C-b’ (ctrl-b, known as the prefix
key) followed by the ‘c’ key.
Windows may be navigated with: ‘C-b
0’ (to select window 0), ‘C-b
1’ (to select window 1), and so on;
‘C-b n’ to select the next window; and
‘C-b p’ to select the previous
window.
A session may be detached using ‘C-b
d’ and reattached with:
$ tmux attach-sessionTyping ‘C-b ?’ lists the
current key bindings in the current window; up and down may be used to
navigate the list or ‘Q’ to exit from
it.
tmux may be controlled from an attached client by using
a key combination of a prefix key, ‘C-b’
(ctrl-b) by default, followed by a command key.
Some of the default key bindings include:
d’c’n’p’l’?’A complete list may be obtained with the
list-keys command (bound to
‘?’ by default). Key bindings may be
changed with the bind-key and
unbind-key commands.
tmux maintains a configurable history buffer for each
window. By default, up to 2000 lines are kept, this can be altered with the
history-limit option (see the
set-option command below).
tmux window may be in one of several modes. The
default permits direct access to the terminal attached to the window. The
others are:
list-keys, is executed from a key binding. The
‘up’,
‘down’,
‘page-up’ and
‘page-down’ keys or
vi(1) style ‘j’
and ‘k’ keys may be used to scroll
the output up and down. The ‘q’ key
will exit output mode.scroll-mode command
(bound to ‘=’ by default) and
permits the window history buffer to be inspected. In addition to the
commands supported by output mode, the left and right arrow keys, or
‘h’ and
‘l’, will scroll left and right.
‘C-u’ and
‘C-f’ may be used to scroll up and
down by one screen.C-a’ and
‘C-e’ (or the
vi(1) style ‘0’
and ‘$’ keys) move to the start and
end of the line; ‘M-f’ or
‘w’ moves the cursor forward one
word; ‘M-b’ or
‘b’ moves the cursor backward one
word; the space key begins a selection; and the enter key or
‘C-w’ creates a new paste buffer
from the selection and exits copy mode.
This mode is entered with the
copy-mode command, bound to
[‘’ by default.
tmux maintains a stack of paste
buffers for each session. Up to the value of the
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 copy-mode or the
set-buffer command, and pasted into a window using the
paste-buffer command.
tmux. Most commands accept the optional
-t argument with one of
target-client, target-session or
target-window. These specify the client, session or
window which a command should affect. target-client is
the name of the pty(4) file to which the client is
connected, for example /dev/ttyp1. Clients may be
listed with the list-clients command.
target-session is either the name of a
session (as listed by the list-sessions command); or
the name of a client as for target-client, in this
case, the session attached to the client is used. An
fnmatch(3) pattern may be used to match the session name.
If a session is omitted when required, 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.
target-window specifies a window in the form
session:index, for example mysession:1.
The session is in the same form as for target-session.
session, index or both may be omitted.
If session is omitted, the same rules as for
target-session are followed; if
index is not present, the current window for the given
session is used. When the argument does not contain a colon (:),
tmux first attempts to parse it as window index; if
that fails, an attempt is made to match a session or client name.
Examples include:
refresh-client -t/dev/ttyp2 rename-session -tfirst newname set-window-option -t:0 monitor-activity on
The following commands are available:
attach-session
[-d] [-t
target-session]attach)-d is specified, any other clients attached to the
session are detached.bind-key
key command
[arguments]bind)C-’
or ‘^’ for ctrl keys, or
‘M-’ for alt (meta) keys.command-prompt
[-t target-client]tmux to execute commands interactively.copy-mode
[-t target-window]delete-buffer
[-b buffer-index]
[-t target-session]deleteb)detach-client
[-t target-client]detach)-t.has-session
[-t target-session]has)kill-servertmux server and clients and destroy all
sessions.kill-session
[-t target-session]kill-window
[-t target-window]killw)last-window
[-t target-session]last)link-window
[-dk] [-s
src-window] [-t
dst-window]linkw)-k is given and
dst-window exists, it is killed, otherwise an error
is generated. If -d is given, the newly linked
window is not selected.list-buffers
[-t target-session]lsb)list-clientslsc)list-commandslscm)tmux.list-keyslsk)list-sessionsls)list-windows
[-t target-session]lsw)move-window
[-d] [-s
src-window] [-t
dst-window]movew)link-window, except the window at
src-window is moved to
dst-window.new-session
[-d] [-n
window-name] [-s
session-name] [command]new)-d is given. window-name and
command are the name of and command to execute in
the initial window.new-window
[-d] [-n
window-name] [-t
target-window] [command]neww)-d is given, the session
does not make the new window the current window.
target-window represents the window to be created.
command is the command to execute. If
command is not specified, the default command is
used.
The TERM environment variable must be
set to “screen” for all programs running
inside tmux. New windows will
automatically have “TERM=screen” added to their
environment, but care must be taken not to reset this in shell start-up
files.
next-window
[-t target-session]next)paste-buffer
[-d] [-b
buffer-index] [-t
target-window]pasteb)previous-window
[-t target-session]prev)refresh-client
[-t target-client]refresh)-t.rename-session
[-t target-session]
new-namerename)rename-window
[-t target-window]
new-namerenamew)respawn
window [-k] [-t
target-window] [command]respawnw)remain-in-exit windowoption). If
command is not given, the command used when the
window was created is executed. The window must be already inactive,
unless -k is given, in which case any existing
command is killed.scroll-mode
[-t target-window]select-prompt
[-t target-client]select-window
[-t target-window]selectw)send-keys
[-t target-window]
key ...C-a’
or ‘npage’ ) to send; if the string
is not recognised as a key, it is sent as a series of characters. All
arguments are sent sequentially from first to last.send-prefix
[-t target-window]set-buffer
[-b buffer-index]
[-t target-session]
datasetb)set-option
[-t target-session]
option valueset)bell-action
[any | none |
current]any means a bell in
any window linked to a session causes a bell in the current window of
that session, none means all bells are ignored
and current means only bell in windows other
than the current window are ignored.default-command
commandbuffer-limit
numberhistory-limit
linesmode-keys
[vi | emacs]prefix
keyremain-by-default
[on | off]remain-on-exit flag set.set-titles
[on | off]status
[on | off]status-bg
colourblack, red,
green, yellow,
blue, magenta,
cyan, white or
default.status-fg
colourstatus-interval
intervalstatus-left
stringstatus-right
stringstatus-left, string will
be passed to strftime(3).set-window-option
[-t target-window]
option valuesetw)aggressive-resize
[on | off]tmux will resize the window to the size of the
smallest session for which it is the current window, rather than the
smallest session to which it 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.monitor-activity
[on | off]force-width
widthforce-height
heighttmux from resizing a window to greater
than width or height. A
value of zero restores the default unlimited setting.remain-on-exit
[on | off]respawn-window command.show-buffer
[-b buffer-index]
[-t target-session]showb)show-options
[-t target-session]
option valueshow)show-window-options
[-t target-window]
option valueshoww)start-servertmux server, if not already running,
without creating any sessions.swap-window
[-d] [-s
src-window] [-t
dst-window]swapw)link-window, except the source
and destination windows are swapped. It is an error if no window exists at
src-window.switch-client
[-c target-client
-t target-session]switchc)unbind-key
keyunbind)unlink-window
[-t target-window]unlinkw)tmux configuration file| June 30, 2008 | BSD |