Tmux 速查表与快速参考

会话

$ tmux
$ tmux new
$ tmux new-session
: new

启动新会话

$ tmux new-session -A -s mysession

启动新会话或连接到名为 mysession 的现有会话

$ tmux new -s mysession
: new -s mysession

启动名为 mysession 的新会话

: kill-session

删除/关闭当前会话

$ tmux kill-ses -t mysession
$ tmux kill-session -t mysession

删除/关闭会话 mysession

$ tmux kill-session -a

删除/关闭除当前会话外的所有会话

$ tmux kill-session -a -t mysession

删除/关闭除 mysession 外的所有会话

Ctrl + b $

重命名会话

Ctrl + b d

从会话中断开连接

: attach -d

从会话中断开其他连接(通过断开其他客户端来最大化窗口)

$ tmux ls
$ tmux list-sessions
Ctrl + b s

显示所有会话

$ tmux a
$ tmux at
$ tmux attach
$ tmux attach-session

连接到最后一个会话

$ tmux a -t mysession
$ tmux at -t mysession
$ tmux attach -t mysession
$ tmux attach-session -t mysession

连接到名为 mysession 的会话

Ctrl + b w

会话和窗口预览

Ctrl + b (

移动到上一个会话

Ctrl + b )

移动到下一个会话

窗口

$ tmux new -s mysession -n mywindow

启动名为 mysession 的新会话和名为 mywindow 的窗口

Ctrl + b c

创建窗口

Ctrl + b ,

重命名当前窗口

Ctrl + b &

关闭当前窗口

Ctrl + b w

列出窗口

Ctrl + b p

上一个窗口

Ctrl + b n

下一个窗口

Ctrl + b 0 ... 9

按编号切换/选择窗口

Ctrl + b l

切换最后一个活跃窗口

: swap-window -s 2 -t 1

重新排列窗口,交换窗口编号 2(源)和 1(目标)

: swap-window -t -1

将当前窗口向左移动一个位置

: move-window -s src_ses:win -t target_ses:win
: movew -s foo:0 -t bar:9
: movew -s 0:0 -t 1:9

将窗口从源移动到目标

: move-window -s src_session:src_window
: movew -s 0:9

在当前会话中重新定位窗口

: move-window -r
: movew -r

重新编号窗口以删除序列中的间隙

窗格

Ctrl + b ;

切换最后一个活跃窗格

: split-window -h
Ctrl + b %

用垂直线分割当前窗格以创建水平布局

: split-window -v
Ctrl + b "

用水平线分割当前窗格以创建垂直布局

: join-pane -s 2 -t 1

将两个窗口作为窗格加入(将窗口 2 作为窗格合并到窗口 1)

: join-pane -s 2.1 -t 1.0

将窗格从一个窗口移动到另一个窗口(将窗格 1 从窗口 2 移动到窗口 1 的窗格 0 之后)

Ctrl + b {

将当前窗格向左移动

Ctrl + b }

将当前窗格向右移动

Ctrl + b
Ctrl + b
Ctrl + b
Ctrl + b

切换到该方向的窗格

: setw synchronize-panes

切换同步窗格(向所有窗格发送命令)

Ctrl + b Spacebar

在窗格布局之间切换

Ctrl + b o

切换到下一个窗格

Ctrl + b q

显示窗格编号

Ctrl + b q 0 ... 9

按编号切换/选择窗格

Ctrl + b z

切换窗格缩放

Ctrl + b !

将窗格转换为窗口

Ctrl + b +
Ctrl + b Ctrl +
Ctrl + b +
Ctrl + b Ctrl +

调整当前窗格高度(按住第二个键是可选的)

Ctrl + b +
Ctrl + b Ctrl +
Ctrl + b +
Ctrl + b Ctrl +

调整当前窗格宽度(按住第二个键是可选的)

Ctrl + b x

关闭当前窗格

复制模式

: setw -g mode-keys vi

在缓冲区中使用 vi 键

Ctrl + b [

进入复制模式

Ctrl + b PgUp

进入复制模式并向上滚动一页

q

退出模式

g

转到顶部行

G

转到底部行

向上滚动

向下滚动

h

向左移动光标

j

向下移动光标

k

向上移动光标

l

向右移动光标

w

一次向前移动光标一个单词

b

一次向后移动光标一个单词

/

向前搜索

?

向后搜索

n

下一个关键词出现

N

上一个关键词出现

Spacebar

开始选择

Esc

清除选择

Enter

复制选择

Ctrl + b ]

粘贴 buffer_0 的内容

: show-buffer

显示 buffer_0 内容

: capture-pane

将窗格的整个可见内容复制到缓冲区

: list-buffers

显示所有缓冲区

: choose-buffer

显示所有缓冲区并粘贴选定的

: save-buffer buf.txt

将缓冲区内容保存到 buf.txt

: delete-buffer -b 1

删除 buffer_1

杂项

Ctrl + b :

进入命令模式

: set -g OPTION

为所有会话设置选项

: setw -g OPTION

为所有窗口设置选项

: set mouse on

启用鼠标模式

帮助

$ tmux list-keys
: list-keys
Ctrl + b ?

列出键绑定(快捷键)

$ tmux info

显示每个会话、窗口、窗格等...