tmux
是一款终端复用器,它和 screen
类似,可以将会话与窗口进行分离;但是功能更加强大,支持窗口拆分。
一般情况下,
tmux
和screen
都需要自己手动安装
1. 会话管理
1.1 新建会话
第一个启动的 Tmux
窗口,编号是0
,第二个窗口的编号是1
,以此类推。
但一般而言,我们会为会话命名,以方便区分。
1tmux new -s $session_name
1.2 分离会话
- 方法一:快捷键
Ctrl+B D
- 方法二:输入
tmux detach
1.3 查看会话
查看当前所有的 Tmux 会话:
1tmux ls
2# 或者使用
3tmux list-session
1.4 接入会话
重新接入某个已存在的会话:
1# 使用会话编号
2tmux attach -t 0
3
4# 使用会话名称
5tmux attach -t $session_name
1.5 杀死会话
杀死某个会话:
1# 使用会话编号
2tmux kill-session -t 0
3
4# 使用会话名称
5tmux kill-session -t $session_name
1.6 切换会话
1# 使用会话编号
2tmux switch -t 0
3
4# 使用会话名称
5tmux switch -t $session_name
1.7 重命名会话
将0
号会话重命名:
1tmux rename-session -t 0 $new_name
1.8 会话快捷键
1Ctrl+B D # 分离当前会话
2Ctrl+B S # 列出所有会话
3Ctrl+B $ # 重命名当前会话
2. 窗格操作
Tmux
可以将窗口分成多个窗格(pane
),每个窗格运行不同的命令。
执行窗格操作时,需要在 Tmux
窗口中进行。
2.1 划分窗格
1# 划分上下两个窗格
2tmux split-window
3
4# 划分左右两个窗格
5tmux split-window -h
2.2 移动光标
1# 光标切换到上方窗格
2tmux select-pane -U
3
4# 光标切换到下方窗格
5tmux select-pane -D
6
7# 光标切换到左边窗格
8tmux select-pane -L
9
10# 光标切换到右边窗格
11tmux select-pane -R
2.3 交换窗格位置
1# 当前窗格上移
2tmux swap-pane -U
3
4# 当前窗格下移
5tmux swap-pane -D
2.4 窗格快捷键
1Ctrl+B % # 划分左右两个窗格
2Ctrl+B " # 划分上下两个窗格
3Ctrl+B $ArrowKey # 光标切换到其他窗格
4Ctrl+B ; # 光标切换到上一个窗格
5Ctrl+B O # 光标切换到下一个窗格
6Ctrl+B { # 当前窗格左移
7Ctrl+B } # 当前窗格右移
8Ctrl+B Ctrl+O # 当前窗格上移
9Ctrl+B Alt+O # 当前窗格下移
10Ctrl+B x # 关闭当前窗格
11Ctrl+B ! # 将当前窗格拆分为一个独立窗口
12Ctrl+B z # 当前窗格全屏显示,再使用一次会变回原来大小
13Ctrl+B Ctrl+$ArrowKey # 按箭头方向调整窗格大小
14Ctrl+B Q # 显示窗格编号
3. 窗口管理
Tmux
允许新建多个窗口,注意“窗口”和“窗格”的区别。
3.1 新建窗口
1# 新建窗口
2tmux new-window
3
4# 新建一个指定名称的窗口
5tmux new-window -n $window_name
3.2 切换窗口
1# 切换到指定编号的窗口
2tmux select-window -t $window_number
3
4# 切换到指定名称的窗口
5tmux select-window -t $window_name
3.3 重命名窗口
为当前窗口起名(或重命名):
1tmux rename-window $new_name
3.4 窗口快捷键
1Ctrl+B C # 创建一个新窗口(状态栏会显示多个窗口的信息)
2Ctrl+B P # 切换到上一个窗口(按照状态栏上的顺序)
3Ctrl+B N # 切换到下一个窗口(按照状态栏上的顺序)
4Ctrl+B $number # 切换到指定编号的窗口
5Ctrl+B W # 从列表中选择窗口
6Ctrl+B , # 窗口重命名
4. 其他命令
1# 列出所有快捷键,及其对应的 Tmux 命令
2tmux list-keys
3
4# 列出所有 Tmux 命令及其参数
5tmux list-commands
6
7# 列出当前所有 Tmux 会话的信息
8tmux info
9
10# 重新加载当前的 Tmux 配置
11tmux source-file ~/.tmux.conf
5. session、window、pane 之间的关系
- 一个
tmux
可以包含多个session
- 一个
session
可以包含多个window
- 一个
window
可以包含多个pane
参考链接
版权声明:本文遵循 CC BY-SA 4.0 版权协议,转载请附上原文出处链接和本声明。
Copyright statement: This article follows the CC BY-SA 4.0 copyright agreement. For reprinting, please attach the original source link and this statement.