Tmux 是一个开源的终端复用器 (terminal multiplexer),可以在一个窗口中管理多个会话,每个都会话都运行着独立的进程或程序,即使在关闭窗口后或是断开连接后,仍然会继续运行。
当执行 tmux 命令时会启动一个 Tmux 服务,并创建一个默认的会话,在这个会话中可以创建多个窗口,每个窗口中可以有多个面板。
安装
brew install tmuxsudo apt install tmux可以安装 [[ohmytmux]] 改善体验。
命令
终端命令
在终端中所有命令都必须加 tmux 前缀,比如创建新会话完整命令为: tmux new -s test。
-V:查看版本
at
连接会话
# 不指定会话名,连接上一个会话tmux at
# 连接指定会话tmux at -t test-t: 连接到指定会话
new
创建新的会话。
tmux new -s test-s: 创建会话并命名-c: 在指定的目录中启动会话 (new -c ~/Desktop)-d: 后台运行
ls
查看当前存在的会话
# 列出所有打开的会话tmux ls -a- -a: 列出所有打开的会话
ls -a
kill-session
关闭会话
kill-session -t test-t: 指定会话
命令行模式命令
进入命令行模式 prefix + :。
set
设置配置
set -g mouse on- -g: 全局设置
- -s: 会话级别,只影响当前会话
另外还有 setw -g 表示设置窗口级别的全局选项。
常用设置:
set -g mouse on: 开启鼠标支持set -g base-index 1:设置窗口编号从 1 开始set -g status-interval 10:状态栏刷新时间set -g renumber-windows on:关闭窗口时,重新编号setw -g pane-base-index 1:设置面板编号从 1 开始setw -g automatic-rename on:重命名窗口显示当前应用
new-windows
创建新会话
# 创建新会话new-windows -n ops
# 在新会话执行指定命令,当命令结束后窗口将一起关闭new-windows -n ops "top"-n: 创建新会话并命名
show
查看指定配置。
# 查看有没有开启鼠标支持show -g mouse-g: 全局设置-s: 会话级别
配置
快捷键
- Ctrl + l: 清屏
Tmux 所有快捷键均需先按下前缀键(默认 Ctrl + B )才有效:
| 命令 | 默认快捷键 | ohmytmux 快捷键 |
|---|---|---|
| 列出粘贴缓存 | b | |
| 从缓存区粘贴(第一条) | p | |
| 从缓存区选择粘贴 | P | |
| 切换鼠标支持(默认关) | m | |
| 编辑配置 | e | |
| 重载配置 | r | |
| 列出提示信息缓存 | ~ | |
| 进入命令行模式 | : | |
| 列出所有快捷键 | ? |
会话 Sessions
| 命令 | 默认快捷键 | ohmytmux 快捷键 |
|---|---|---|
| 创建会话 | c | Ctrl + c |
| 脱离会话,返回到 Shell 界面 | d | |
| 选择要脱离的会话 | D | |
| 列出会话(选择并切换) | s | |
| 查找会话 | f | Ctrl + f |
| 强制重绘未脱离的会话 | r | |
| 重命名 | $ | |
| 挂起当前会话 | Ctrl + z |
窗口 Windows
| 命令 | 默认快捷键 | ohmytmux 快捷键 |
|---|---|---|
| 创建新窗口 | c | |
| 关闭当前窗口 | & | |
| 显示窗口列表 | w | |
| 显示窗口信息 | i | |
| 切换到上一个活动窗口 | p | Ctrl + h |
| 切换到最后个活动窗口 | n | Tab |
面板 Panes
| 命令 | 默认快捷键 | ohmytmux 快捷键 |
|---|---|---|
| 水平分割 | % | _ |
| 垂直分割 | ” | - |
| 顺时针切换焦点 | o | |
| 按顺序切换焦点 | h,j,k,l | |
| 调整面板大小 | H,J,K,L | |
| 显示时间 | t |
文件配置
修改后可以进入命令行模式后,使用 source-file ~/.tmux.conf 重载配置。