TMUX(1) | General Commands Manual | TMUX(1) |
tmux
—
tmux |
[-vV ]
[-S socket-path]
[command [arguments]] |
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:
-S
socket-pathtmux
.-v
tmux
, and described in the following sections. If
no command and arguments is specified, the
new-session
command is assumed.$ tmux new-session vi
Most commands have a shorter form, known as an alias. For
new-session, this is new
:
$ tmux new vi
Alternatively, 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
‘^B
’ (ctrl-B, known as the prefix key)
followed by the ‘c
’ key.
Windows may be navigated with: ‘^B
0
’ (to select window 0), ‘^B
1
’ (to select window 1), and so on;
‘^B n
’ to select the next window; and
‘^B p
’ to select the previous
window.
A session may be detached using ‘^B
d
’ and reattached with:
$ tmux attach-session
Typing ‘^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, ‘^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
’,
‘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.^A
’ and
‘^E
’ move to the start and end of
the line; the space key begins a selection; and the enter key or
‘^W
’ copies the selection to the
paste buffer and exits copy mode.
This mode is entered with the
copy-mode
command, bound to
[‘’ by default.
tmux
. There are some flags shared by several commands;
these are:
-c
client-ttylist-clients
command.-s
session-nametmux
is invoked from a running
tmux
client, the session the containing client is
connected to will be used; otherwise, if only one session exists, it is
chosen, or if multiple sessions exist, an error is generated.The following commands are available:
attach-session
[-d
] [-s
session-name]attach
)-d
is specified, any other clients attached to the
session are detached.bind-key
key command
[arguments]bind
)copy-mode
[-s
session-name]detach-client
[-c
client-tty]detach
)-c
.has-session
[-s
session-name]has
)kill-server
tmux
server and clients and destroy all
sessions.kill-session
[-s
session-name]kill-window
[-i
index]
[-s
session-name]killw
)last-window
[-s
session-name]last
)link-window
[-dk
] [-i
index] [-s
session-name] source-name
source-indexlinkw
)-k
is given and a window exists at index, it is killed,
otherwise an error is generated. If -d
is given,
the newly linked window is not selected.list-clients
lsc
)list-keys
lsk
)list-sessions
ls
)list-windows
[-s
session-name]lsw
)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
] [-i
index] [-n
name] [-s
session-name] [command]neww
)-d
is given, the session
does not make the new window the current window.
index and name are the index
of the new window in the session and the name of the new window.
command is the command to execute. If
index is not specified, the first free index is
used. If command is not specified, the default
command is used.
The TERM
environment variable must be
set to “screen” for all program 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
[-s
session-name]next
)paste-buffer
[-s
session-name]paste
)previous-window
[-s
session-name]prev
)refresh-client
[-c
client-tty]refresh
)-c
.rename-session
[-s
session-name]
new-namerename
)rename-window
[-i
index]
[-s
session-name]
new-namerenamew
)scroll-mode
[-s
session-name]select-window
[-s
session-name]
[-i
index]selectw
)send-keys
[-c
client-tty]
key ...^A
’ or
‘npage
’ ) to send; if the string is
not recognised as a key, it is sent as a series of characters. All the
arguments are sent sequentially from first to last.send-prefix
[-c
client-tty]set-option
option valueset
)prefix
keyhistory-limit
linesstatus
[on
| off
]status-fg
colourblack
, red
,
green
, yellow
,
blue
, magenta
,
cyan
, white
or
default
.status-bg
colourbell-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
commandstart-server
tmux
server, if not already running,
without creating any sessions.swap-window
[-i
index]
[-s
session-name]
source-name source-indexswapw
)link-window
, except the source
and destination windows are swapped. It is an error if no window exists at
index.unbind-key
keyunbind
)unlink-window
[-i
index]
[-s
session-name]unlinkw
)November 9, 2007 | BSD |