tmux 命令行效率提升工具
关于效率提升:
如果你经常使用命令行,并且在命令行中运行 claude等 ai命令行软件工具,则你本地的命令行窗口会非常多,并且在实际操作中不方便找到你需要的窗口页面,在这个条件下,我就在网上搜索相应的能解决问题的工具,然后发现tmux
tmux 基本用法说明
tmux 是一个终端复用器(terminal multiplexer),
它允许你在一个终端窗口中同时运行多个虚拟终端,并且可以分离(detach)和重新连接(attach)会话,保证后台任务不中断。
一、安装 tmux
macOS:
brew install tmux
Linux (Ubuntu/Debian):
sudo apt install tmux
CentOS/RHEL:
sudo yum install tmux
二、核心概念(三个层级)
| 层级 | 说明 | 类比 |
|---|---|---|
| 会话(Session) | 独立的工作区,可包含多个窗口 | 一个项目工作台 |
| 窗口(Window) | 会话内的标签页 | 浏览器的标签 |
| 窗格(Pane) | 窗口内分割出的子区域 | 编辑器分屏 |
一个会话 → 多个窗口 → 一个窗口可分割成多个窗格。
三、基本命令(在终端中执行)
| 操作 | 命令 |
|---|---|
| 新建会话(指定名称) | tmux new -s 会话名 |
| 新建会话(不指定名称) | tmux new |
| 列出当前所有会话 | tmux ls |
| 重新连接指定会话 | tmux attach -t 会话名 |
| 重新连接上一次会话 | tmux attach |
| 在会话内脱离(detach) | Ctrl+b d |
| 在外部直接脱离所有会话 | tmux kill-session -t 会话名 |
| 删除所有会话 | tmux kill-server |
四、常用内部快捷键(前缀键 Ctrl+b)
进入 tmux 后,所有快捷键必须以 Ctrl+b 开头,然后松开再按功能键。
1. 会话管理
| 快捷键 | 作用 |
|---|---|
Ctrl+b d |
脱离当前会话(会话后台运行) |
Ctrl+b s |
列出所有会话,可切换 |
Ctrl+b $ |
重命名当前会话 |
2. 窗口管理
| 快捷键 | 作用 |
|---|---|
Ctrl+b c |
创建新窗口 |
Ctrl+b , |
重命名当前窗口 |
Ctrl+b p |
切换到上一个窗口 |
Ctrl+b n |
切换到下一个窗口 |
Ctrl+b 0-9 |
直接切换到指定编号的窗口 |
Ctrl+b w |
列出所有窗口,可选择跳转 |
Ctrl+b & |
关闭当前窗口(需确认) |
3. 窗格管理
| 快捷键 | 作用 |
|---|---|
Ctrl+b % |
垂直分割窗格(左右分) |
Ctrl+b " |
水平分割窗格(上下分) |
Ctrl+b 方向键 |
切换到相邻窗格 |
Ctrl+b o |
循环切换窗格 |
Ctrl+b x |
关闭当前窗格(需确认) |
Ctrl+b z |
最大化当前窗格 / 恢复 |
Ctrl+b Space |
切换窗格布局 |
Ctrl+b Ctrl+方向键 |
调整窗格大小 |
Ctrl+b { / } |
向左/右移动当前窗格 |
4. 复制模式(复制文本)
Ctrl+b [:进入复制模式(可滚动浏览历史输出)。- 使用
方向键/PageUp/PageDown移动光标。 Space开始选择,Enter复制并退出复制模式。Ctrl+b ]:粘贴最近一次复制的内容。
5. 其他常用
| 快捷键 | 作用 |
|---|---|
Ctrl+b ? |
列出所有快捷键帮助 |
Ctrl+b t |
显示一个大时钟,按 q 退出 |
五、典型工作流示例
# 1. 创建一个新会话,命名为 dev
tmux new -s dev
# 2. 在 tmux 内,垂直分屏:Ctrl+b %
# 水平分屏:Ctrl+b "
# 3. 左边窗格编辑代码,右边窗格运行程序
# 4. 临时离开,让任务继续运行:Ctrl+b d
# 5. 下次重新连接会话
tmux attach -t dev
# 6. 查看所有会话
tmux ls
# 7. 完全删除 dev 会话
tmux kill-session -t dev
六、自定义配置(可选)
编辑 ~/.tmux.conf 文件,例如:
# 设置前缀为 Ctrl+a(避免与 Ctrl+b 冲突)
unbind C-b
set -g prefix C-a
# 启用鼠标支持(可点击切换窗格、调整大小)
set -g mouse on
# 状态栏美化
set -g status-bg black
set -g status-fg cyan
# 重新加载配置
bind r source-file ~/.tmux.conf
重新加载配置:tmux source-file ~/.tmux.conf,或重启 tmux。
七、适用场景
- SSH 远程开发:在服务器上运行长时间任务(如训练模型、编译),断开连接任务不中断。
- 本地多任务:一个终端内同时运行
vim、top、npm run dev,无需多个窗口。 - 团队协作:多人 SSH 到同一台机器,进入同一个 tmux 会话,实时看到对方操作。
- 提高效率:通过快捷键快速切换窗口/窗格,减少鼠标操作。
八、简单记忆口诀
新建会话 new -s 名
脱离保活 Ctrl+b d
重连 attach -t 名
分屏用 % 和 "
切换窗格用方向键
窗口切换用数字
掌握以上命令,你就能流畅使用 tmux 进行日常开发和管理。