tmux是一种终端多路复用器:它能够创建多个终端, 从单一屏幕访问和控制。
tmux可以从 屏幕并继续在后台运行,然后重新连接。
快捷键
一般情况下 tmux 中所有的快捷键都需要和前缀快捷键 ⌃b
来组合使用(注:⌃ 为 Mac 的 control 键)
启动
启动新会话
1 |
tmux [new -s 会话名 -n 窗口名] |
恢复会话
1 |
tmux a [-t 会话名] |
列出所有会话
1 |
tmux ls |
关闭所有会话
1 |
tmux kill-session -t 会话名 |
关闭tmux
1 |
tmux kill-server # 删除所有的会话 |
关闭所有会话:
1 |
tmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0, length($1)-1)}' | xargs kill |
会话
1 |
:new<回车> 启动新会话 |
窗口
1 |
c 创建新窗口 |
窗格
1 |
垂直分割 |
调整窗格尺寸
1 |
:resize-pane -D 当前窗格向下扩大 1 格 |
杂项:
1 |
d 退出 tmux(tmux 仍在后台运行) |
复制模式
设置复制模式中的默认键盘布局;可以设置为vi
或emacs
,我是把这个设置写入了配置文件。
1 |
set-window-option -g mode-keys vi #可以设置为vi或emacs |
tmux复制模式的命令表:
方法 | vi | emacs |
---|---|---|
开始选择 | space | C-space |
行开始 | 0 | C-a |
行结尾 | $ | C-e |
向前搜索 | / | C-s |
向后搜索 | ? | C-r |
继续搜索 | n | n |
滚动条上 | C-Up | C-Up |
滚动条下 | C-Down / J | C-Down |
滚动上半页 | C-u | M-Up |
滚动下半页 | C-d | M-Down |
下一页 | C-f | PageDown |
上一页 | C-b | Page Up |
下个单词 | w | M-f |
上个单词 | p | C-y |
退出 | q | Esc |
清除选择 | Esc | C-g |
复制选择 | Enter | M-w |
光标左移 | h | Left |
光标右移 | l | Right |
光标下移 | j | Down |
光标上移 | k | Up |
跳转 | : | g |
复制模式步骤:
- prefix + [ 进入复制模式
- 参考上表移动鼠标到要复制的区域,移动鼠标时可用vim的搜索功能”/“,”?”
- 安空格键开始选择复制区域
- 选择完成后安enter键退出
- prefex + ] 粘贴
参考配置文件(~/.tmux.conf):
下面这份配置是我使用 Tmux 几年来逐渐精简后的配置,请自取。
1 |
----------------------------------------------------------------------------- |
插件
-
插件管理 tpm
-
常用配置tmux-sensible
-
复制文本到剪切板tmux-yank
-
prefix按下快捷键高亮tmux-prefix-highlight
-
面板管理快捷键tmux-pain-control
1
2
3
4
5
6
7
8
9
10prefix + h 选择左边
prefix + l 选择右边
prefix + j 选择下面
prefix + l 选择上面
prefix + 箭头 选择箭头方向
prefix + | 水平分隔
prefix + - 上下分隔
prefix + \ 水平分隔(大屏)
prefix + _ 上下分隔(大屏)
-
缓冲恢复tmux-resurrect
1
2prefix + Ctrl-s 保存
prefix + Ctrl-r 恢复