Tmux 是一个终端复用器 (terminal multiplexer),仅需单一环境就可以登录多个终端或窗口,每个终端或窗口都运行着独立的进程或程序。还可以将窗口划分为水平或垂直面板,也就是说在同一个屏幕上显示或运行多个程序。重要的是这些操作都不需要鼠标。
模块说明
- Server:服务器,运行 Tmux 时默认
- Session:会话,一个服务器包含多个会话
- Window:窗口,一个会话包含多个窗口
- Pane:面板,一个窗口包含多个面板
常用操作
- 创建
- 连接
- 切换
- 移动
- 断开
- 关闭
清单
命令
所有命令都必须加 tmux 前缀,比如创建新会话完整命令为: tmux new -s test。
- new: 创建新的会话
- -s: 创建会话并命名
new -s test - -c: 在指定的目录中启动会话
new -c ~/Desktop - -d: 后台运行
- -s: 创建会话并命名
- attach: 连接会话 (缩写 at,不指定则连上一个)
- -t: 连接到指定会话
attach test
- -t: 连接到指定会话
- ls: 查看当前存在的会话
- -a: 列出所有打开的会话
ls -a
- -a: 列出所有打开的会话
- kill-session: 关闭会话
- -t 指定会话
kill-session -t test
- -t 指定会话
命令行模式
进入命令行模式 prefix + :
- new-windows -n ops : 命令行模式创建会话
- new-windows -n ops “top”: 在新会话执行指定命令,当命令结束后窗口将一起关闭
- source-file ~/.tmux.conf: 重载配置文件
快捷键
所有快捷键均需 Prefix:Ctrl + B or Ctrl +A
通用
b:列出粘贴缓存p:从缓存区粘贴(第一条)P:从缓存区选择粘贴~:列出提示信息缓存m:切换鼠标支持(默认开)::进入命令行模式?:列出所有快捷键e:编辑配置r:重载配置
会话
C+c:创建C+f:查找(:切换到上一个会话):切换到下一个会话s:选择并切换d:脱离会话,返回 ShellD:选择要脱离的会话$:重命名当前会话
窗口
c:创建&:关闭w:显示窗口列表i:显示窗口信息C+h:切换到上一个窗口C+l:切换到下一个窗口Tap:切换到最后一个窗口0-9:切换至指定窗口':输入索引切换到指定窗口,:重命名当前窗口.:修改当前窗口编号f:搜索窗口
面板
布局
-:水平分割#常用|:垂直分割#常用#自定义<:和上一个面板交换位置>:和下一个面板交换位置Space:循环切换布局Alt+o:逆时针旋转当前面板Ctrl+o:顺时针旋转当前面板HJKL:调整面板大小(左 下 上 右)E:平分布局
移动
o:在面板之间循环切换焦点#常用;:切换到最后使用的面板q:显示编号(可切换)hjkl:面板导航(左下上右)
配置说明
set -g base-index 1:设置窗口编号从 1 开始set-option -g mouse on:开启鼠标支持set -g status-interval 10:状态栏刷新时间setw -g pane-base-index 1:设置面板编号从 1 开始set -g renumber-windows on:关闭窗口时,重新编号setw -g automatic-rename on:重命名窗口显示当前应用
注:配置以 gpakosz/.tmux 为模版