Tmux 命令
Tmux命令
1## Session
2# 开启新会话
3tmux
4# 开启新会话并命名
5tmux new -s my_session
6# 重命名会话
7tmux rename-session -t 0 <new-name>
8# 显示所有会话
9tmux ls
10tmux list-sessions
11# 使用会话编号接入
12tmux attach -t 0
13# 使用会话名称接入
14tmux attach -t <session-name>
15tmux a -t name #简写
16# 切换会话
17tmux switch -t 0
18tmux switch -t <session-name>
19# 关闭会话
20tmux kill-session -t 0
21tmux kill-session -t <session-name>
22# 关闭会话窗口
23tmux kill-window -t <session-name>:<window-index>
24# 断开会话,在后台运行
25tmux detach
26
27## Window
28# 显示会话的窗口
29tmux list-windows -t <session-name>
30
31## Pane
32# 显示会话窗口的面板
33tmux list-panes -t <session-name>:<window-index>
34# 修改会话窗口面板标题
35tmux select-pane -T "new-title" -t <session-name>:<window-index>.<pane-index>
36# 移动面板到窗口
37tmux move-pane -t <session-name>:<window-index>
38# 交换面板内容
39tmux swap-pane -s <source-pane-index> -t <target-pane-index>
40# 所有面板水平排列
41tmux select-layout even-horizontal
42# 所有面板垂直排列
43tmux select-layout even-vertical
配置文件
1; ~/.tmux.conf
2# 启用鼠标支持
3set -g mouse on
4# 显示状态栏信息(会话名、窗口索引、时间等)
5set -g status-right '#[fg=green]#H #[fg=blue]%d %b %R'
6# 在窗格边框显示窗格索引和当前命令
7set -g pane-border-format "#{pane_index} #{pane_title}"
8# 将窗格边框状态信息显示在顶部
9set -g pane-border-status top
1tmux source-file ~/.tmux.conf
快捷键操作
Prefix = Ctrl + b
所有的快捷键都是ctrl + b按完松开,再去按下一个功能键!,不是一下子全按上。
所有的快捷键都是ctrl + b按完松开,再去按下一个功能键!,不是一下子全按上。
所有的快捷键都是ctrl + b按完松开,再去按下一个功能键!,不是一下子全按上。
会话操作
操作 | 快捷键 | 命令 | 备注 |
---|---|---|---|
命令模式 | Prefix , : | 参考 [Tmux命令] 章节,去掉命令的"tmux"前缀,基本可以直接使用 参考 [脚本操作] 章节 |
|
跳转会话 | Prefix , s | ||
重命名会话 | Prefix , $ | ||
断开会话 | Prefix , d | detach | |
翻屏模式 | Prefix , [ | PgUp, PgDn 实现上下翻页(mac可以用 fn + ↑ ↓实现上下翻页) q 退出翻屏模式 |
窗口操作
操作 | 快捷键 | 备注 |
---|---|---|
在当前会话添加一个窗口 | Prefix , c | |
在当前会话的多个窗口中选择 | Prefix , w | |
关闭当前会话的当前窗口 | Prefix , x | |
关闭当前会话的所有窗口 | Prefix , ! | |
切换窗口顺序 | Prefix , 数字键 | |
窗口导航 | Prefix , n/p |
面板操作
操作 | 快捷键 | 备注 |
---|---|---|
展示面板编号 | Prefix , q | |
将当前窗口分成左右两份 | Prefix , % | |
将当前窗口分成上下两份 | Prefix ," | |
光标在不同的窗口中跳转 | Prefix , ↑ ↓ ← → | |
调节光标所在窗口的大小 | 按住 Prefix , ↑ ↓ ← → | |
水平排列改为垂直排列 | 按住 Prefix , - | |
垂直排列改为水平排列 | 按住 Prefix , \ | |
针旋转面板 | Prefix + Ctrl+o | 所有面板位置顺时针轮换 |
逆时针旋转面板 | Prefix + Alt+o | 所有面板位置逆时针轮换 |
交换当前面板与上一个活动面板 | Prefix + { | 与左侧/上方面板交换 |
交换当前面板与下一个活动面板 | Prefix + } | 与右侧/下方面板交换 |
当前面板改为水平分割 | Prefix + Space | 切换当前窗格的布局方向 |
切换预设布局 | Prefix + Alt+1~5 | 循环切换 5 种预设布局 |
关闭当前面板 | Prefix + x |
脚本操作
Tmux格式
1tmux new-session -s "${MY_SESSION}" -d \; \
2 split-window -v \; \
3 split-window -v -t 0 \; \
4 split-window -v -t 2 \; \
5 split-window -h -t 3 \; \
6 select-layout 'e1ef,267x50,0,0[267x9,0,0,0,267x9,0,10,2,267x9,0,20,1,267x20,0,30{153x20,0,30,3,113x20,154,30,4}]' \; \
7 select-pane -T "1step" -t 0 \; \
8 select-pane -T "2step" -t 1 \; \
9 select-pane -T "check" -t 2 \; \
10 select-pane -T "submit" -t 3 \; \
11 select-pane -T "check submitable" -t 4 \; \
12 send-keys -t 0 "${ACTIVATE}${COMMAND_1STEP}" Enter \; \
13 send-keys -t 1 "${ACTIVATE}${COMMAND_2STEP}" Enter \; \
14 send-keys -t 2 "${ACTIVATE}${COMMAND_CHECK}" Enter \; \
15 send-keys -t 3 "${ACTIVATE}${COMMAND_SUBMIT}" Enter \; \
16 send-keys -t 4 "${ACTIVATE}${COMMAND_OTHER}" Enter \; \
17 attach-session -t "${MY_SESSION}"
Shell格式
1# 在后台创建新的会话
2tmux new-session -s "${MY_SESSION}" -d
3# 在会话中创建窗口
4# tmux new-window -t "${MY_SESSION}" -n "main"
5# 在窗口中创建面板
6tmux split-window -v -t "${MY_SESSION}"
7tmux split-window -v -t "${MY_SESSION}":0.0
8tmux split-window -v -t "${MY_SESSION}":0.2
9tmux split-window -h -t "${MY_SESSION}":0.3
10# 调整面板大小
11# tmux resize-pane -t "${MY_SESSION}":0.0 -y 9
12# tmux resize-pane -t "${MY_SESSION}":0.1 -y 9
13# tmux resize-pane -t "${MY_SESSION}":0.2 -y 9
14# 使用select-layout更方便
15tmux select-layout -t "${MY_SESSION}" '9a1d,267x50,0,0[267x9,0,0,17,267x9,0,10,19,267x9,0,20,18,267x20,0,30{134x20,0,30,20,132x20,135,30,21}]'
16# 给面板命名
17tmux select-pane -T "1step" -t "${MY_SESSION}":0.0
18tmux select-pane -T "2step" -t "${MY_SESSION}":0.1
19tmux select-pane -T "check" -t "${MY_SESSION}":0.2
20tmux select-pane -T "submit" -t "${MY_SESSION}":0.3
21# 面板执行命令
22tmux send-keys -t "${MY_SESSION}":0.0 "${ACTIVATE}${COMMAND_1STEP}" Enter
23tmux send-keys -t "${MY_SESSION}":0.1 "${ACTIVATE}${COMMAND_2STEP}" Enter
24tmux send-keys -t "${MY_SESSION}":0.2 "${ACTIVATE}${COMMAND_CHECK}" Enter
25tmux send-keys -t "${MY_SESSION}":0.3 "${ACTIVATE}${COMMAND_SUBMIT}" Enter
26tmux send-keys -t "${MY_SESSION}":0.4 "${ACTIVATE}${COMMAND_OTHER}" Enter
27# 连接会话
28tmux attach-session -t "${MY_SESSION}"