跳到主要内容

Tmux 配置

安装

brew install tmux
sudo apt-get install tmux

会话管理

tmux # 新建无名会话
tmux new -s demo # 新建一个名称为demo的会话

tmux detach # 断开当前会话,会话在后台运行

tmux a # 默认进入第一个会话
tmux a -t demo # 进入到名称为demo的会话

tmux kill-session -t demo # 关闭demo会话
tmux kill-server # 关闭服务器,所有的会话都将关闭

tmux ls # 查看所有会话

高频指令

指令描述
?显示快捷键帮助文档
d断开当前会话
r强制重载当前会话
s显示会话列表用于选择并切换
c新建窗口
x关闭当前面板(关闭前需输入y or n确认)
&关闭当前窗口(关闭前需输入y or n确认)
"当前面板上下一分为二,下侧新建面板
%当前面板左右一分为二,右侧新建面板
z最大化当前面板,再重复一次按键后恢复正常(v1.8版本新增)
q显示面板编号,在编号消失前输入对应的数字可切换到相应的面板
t显示时钟

Tmux快捷指令

关于快捷指令,首先要认识到的是:tmux的所有指令,都包含同一个前缀,默认为Ctrl+b,输入完前缀过后,控制台激活,命令按键才能生效。前面tmux会话相关的操作中,我们共用到了两个快捷键Ctrl+b + dCtrl+b + s,但这仅仅是冰山一角,欲窥tmux庞大的快捷键体系,请看下表。

表一:系统指令

前缀指令描述
Ctrl+b?显示快捷键帮助文档
Ctrl+bd断开当前会话
Ctrl+bD选择要断开的会话
Ctrl+bCtrl+z挂起当前会话
Ctrl+br强制重载当前会话
Ctrl+bs显示会话列表用于选择并切换
Ctrl+b:进入命令行模式,此时可直接输入ls等命令
Ctrl+b[进入复制模式,按q退出
Ctrl+b]粘贴复制模式中复制的文本
Ctrl+b~列出提示信息缓存

表二:窗口(window)指令

前缀指令描述
Ctrl+bc新建窗口
Ctrl+b&关闭当前窗口(关闭前需输入y or n确认)
Ctrl+b0~9切换到指定窗口
Ctrl+bp切换到上一窗口
Ctrl+bn切换到下一窗口
Ctrl+bw打开窗口列表,用于且切换窗口
Ctrl+b,重命名当前窗口
Ctrl+b.修改当前窗口编号(适用于窗口重新排序)
Ctrl+bf快速定位到窗口(输入关键字匹配窗口名称)

表三:面板(pane)指令

前缀指令描述
Ctrl+b"当前面板上下一分为二,下侧新建面板
Ctrl+b%当前面板左右一分为二,右侧新建面板
Ctrl+bx关闭当前面板(关闭前需输入y or n确认)
Ctrl+bz最大化当前面板,再重复一次按键后恢复正常(v1.8版本新增)
Ctrl+b!将当前面板移动到新的窗口打开(原窗口中存在两个及以上面板有效)
Ctrl+b;切换到最后一次使用的面板
Ctrl+bq显示面板编号,在编号消失前输入对应的数字可切换到相应的面板
Ctrl+b{向前置换当前面板
Ctrl+b}向后置换当前面板
Ctrl+bCtrl+o顺时针旋转当前窗口中的所有面板
Ctrl+b方向键移动光标切换面板
Ctrl+bo选择下一面板
Ctrl+b空格键在自带的面板布局中循环切换
Ctrl+bAlt+方向键以5个单元格为单位调整当前面板边缘
Ctrl+bCtrl+方向键以1个单元格为单位调整当前面板边缘(Mac下被系统快捷键覆盖)
Ctrl+bt显示时钟

Tmux 配置

第三方配置 .tmux

使用了第三方配置,很强大:gpakosz/.tmux

安装

~/.tmux.conf 就是我们的配置文件

$ git clone https://github.com/gpakosz/.tmux.git
$ ln -s -f .tmux/.tmux.conf ~/.tmux.conf
$ cp .tmux/.tmux.conf.local .

快捷键

前缀指令描述
<prefix>e打开 ~/.tmux.conf.local
<prefix>r刷新配置文件
<prefix>CTRL+c创建新会话
<prefix>CTRL+f查找会话
<prefix>hjkl切换窗口
<prefix>< or >交换窗口
<prefix>+窗口最大化
<prefix>m鼠标🖱模式

参考教程

Tmux使用手册