会话:每次执行tmux命令就启动一个会话
窗口:一个会话可以包含多个窗口,类似于浏览器tab
窗格:每个窗口又可以分割成多个窗格

常用操作指令以及快捷键

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# 查看有所有tmux会话
指 令:tmux ls
快捷键:Ctrl+b s

# 新建tmux窗口
指 令:tmux new -s <session-name>

# 重命名会话
指 令:tmux rename-session -t <old-name> <new-name>
快捷键:Ctrl+b $

# 分离会话
指 令:tmux detach 或者使用 exit(关闭窗口)
快捷键:Ctrl+b d

# 重新连接会话
指 令:tmux attach -t <session-name> 或者使用 tmux at -t <session-name>

#平铺当前窗格(个人很喜欢的快捷键,注意:平铺的是当前选中的窗格)
快捷键:Ctrl+b z (再次 Ctrl+b z 则恢复)

# 杀死会话
指 令:tmux kill-session -t <session-name>

# 切换会话
指 令:tmux switch -t <session-name>

# 划分上下两个窗格
指 令:tmux split
快捷键:Ctrl+b “

# 划分左右两个窗格
指 令:tmux split -h
快捷键:Ctrl+b %

# 光标切换到上方窗格
指 令:tmux select-pane -U
快捷键:Ctrl+b 方向键上

# 光标切换到下方窗格
指 令:tmux select-pane -D
快捷键:Ctrl+b 方向键下

# 光标切换到左边窗格
指 令:tmux select-pane -L
快捷键:Ctrl+b 方向键左

# 光标切换到右边窗格
指 令:tmux select-pane -R
快捷键:Ctrl+b 方向键右

常用命令

首先明确tmux的前缀键是ctrl+b下面所有的快捷键都需要先按下前缀键之后再进行操作。

系统操作

1
2
3
4
5
6
7
8
9
?    列出所有快捷键;按q返回
d 脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话
D 选择要脱离的会话;在同时开启了多个会话时使用
Ctrl+z 挂起当前会话
r 强制重绘未脱离的会话
s 选择并切换会话;在同时开启了多个会话时使用
: 进入命令行模式;此时可以输入支持的命令,例如kill-server可以关闭服务器
[ 进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出
~ 列出提示信息缓存;其中包含了之前tmux返回的各种提示信息

窗口操作

1
2
3
4
5
6
7
8
9
10
c    创建新窗口
& 关闭当前窗口
数字键 切换至指定窗口
p 切换至上一窗口
n 切换至下一窗口
l 在前后两个窗口间互相切换
w 通过窗口列表切换窗口
, 重命名当前窗口;这样便于识别
. 修改当前窗口编号;相当于窗口重新排序
f 在所有窗口中查找指定文本

面板操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
”            将当前面板平分为上下两块
% 将当前面板平分为左右两块
x 关闭当前面板
! 将当前面板置于新窗口;即新建一个窗口,其中仅包含当前面板
Ctrl+方向键 以1个单元格为单位移动边缘以调整当前面板大小
Alt+方向键 以5个单元格为单位移动边缘以调整当前面板大小
Space 在预置的面板布局中循环切换;依次包括even-horizontal、even-vertical、main-horizontal、main-vertical、tiled
q 显示面板编号
o 在当前窗口中选择下一面板
方向键 移动光标以选择面板
{ 向前置换当前面板
} 向后置换当前面板
Alt+o 逆时针旋转当前窗口的面板
Ctrl+o 顺时针旋转当前窗口的面板

其他技巧

  1. tmux/screen re/zs文件卡死快速退出方法
    • 按住Ctrl键,再按五次x键(强行中断传输)
  2. 鼠标选中窗格和移动
    • .tmux.conf配置文件中添加一行set -g mouse on
  3. tmux内显示时钟(按任意键取消显示)
    • 会话内快捷键ctrl+b t