tmux完全指南:终端复用与AI协作神器
tmux完全指南:终端复用与AI协作神器
Vibe Coding需要同时开多个终端?
tmux帮你管理所有会话,还能让多个AI互相协作。
————————
01 什么是tmux?
tmux = Terminal Multiplexer(终端复用器)
核心功能:
- 一个窗口管理多个终端会话
- 会话保持(断开连接后程序继续运行)
- 分屏操作(同时看多个窗口)
- AI蜂群协作的基础
————————
02 为什么Vibe Coding需要tmux?
场景1:同时开多个AI
- 窗口1:Claude Code写前端
- 窗口2:Codex写后端
- 窗口3:Gemini写测试
- 窗口4:监控所有进度
场景2:会话保持
- 关闭SSH连接,程序继续运行
- 重新连接,恢复所有窗口
场景3:AI蜂群协作
- 多个AI在不同窗口工作
- 互相读取输出
- 自动协调任务
————————
03 安装tmux
macOS:
“`bash
brew install tmux
“`
Ubuntu/Debian:
“`bash
sudo apt install tmux
“`
CentOS/RHEL:
“`bash
sudo yum install tmux
“`
验证安装:
“`bash
tmux -V
“`
————————
04 基础命令
启动tmux:
“`bash
tmux
“`
或指定会话名:
“`bash
tmux new-session -s mysession
“`
常用快捷键(前缀键Ctrl+b):
会话管理:
- Ctrl+b d:分离会话(detach,程序继续运行)
- Ctrl+b s:列出所有会话
- Ctrl+b $:重命名当前会话
窗口管理:
- Ctrl+b c:创建新窗口
- Ctrl+b n:下一个窗口
- Ctrl+b p:上一个窗口
- Ctrl+b w:列出所有窗口
- Ctrl+b 数字:切换到指定窗口
- Ctrl+b ,:重命名窗口
- Ctrl+b &:关闭窗口
窗格管理(分屏):
- Ctrl+b %:垂直分屏
- Ctrl+b “:水平分屏
- Ctrl+b 方向键:切换窗格
- Ctrl+b x:关闭当前窗格
- Ctrl+b z:最大化/还原窗格
- Ctrl+b 空格:切换布局
其他:
- Ctrl+b [:进入滚动模式(按q退出)
- Ctrl+b t:显示时间
- Ctrl+b ?:显示所有快捷键
————————
05 重新连接会话
列出所有会话:
“`bash
tmux list-sessions
或简写
tmux ls
“`
重新连接:
“`bash
tmux attach -t mysession
或简写
tmux a -t mysession
“`
快速连接最后一个会话:
“`bash
tmux a
“`
————————
06 高级用法
创建命名窗口:
“`bash
tmux new-window -n “frontend”
“`
执行命令后关闭:
“`bash
tmux new-window “npm start”
“`
在不同窗口执行命令:
“`bash
窗口1启动Claude
tmux send-keys -t 0:1 “claude” Enter
窗口2启动Codex
tmux send-keys -t 0:2 “codex” Enter
“`
————————
07 AI蜂群协作配置
创建AI工作环境:
“`bash
创建会话
tmux new-session -d -s ai
创建4个窗口
tmux new-window -t ai -n “master”
tmux new-window -t ai -n “worker-1”
tmux new-window -t ai -n “worker-2”
tmux new-window -t ai -n “worker-3”
在每个窗口启动AI工具
tmux send-keys -t ai:master “claude” Enter
tmux send-keys -t ai:worker-1 “codex” Enter
tmux send-keys -t ai:worker-2 “gemini” Enter
tmux send-keys -t ai:worker-3 “kiro” Enter
附加到会话
tmux attach -t ai
“`
AI读取其他窗口输出:
“`bash
读取窗口1最近50行
tmux capture-pane -t ai:1 -p -S -50
读取所有窗口
for w in 1 2 3 4; do
echo “=== Window $w ===”
tmux capture-pane -t ai:$w -p -S -20
done
“`
AI发送命令到其他窗口:
“`bash
向窗口1发送确认
tmux send-keys -t ai:1 “y” Enter
向窗口2发送Ctrl+C
tmux send-keys -t ai:2 C-c
“`
————————
08 配置文件
创建~/.tmux.conf:
“`bash
修改前缀键为Ctrl+a(可选)
unbind C-b
set -g prefix C-a
bind C-a send-prefix
鼠标支持
set -g mouse on
窗口编号从1开始
set -g base-index 1
setw -g pane-base-index 1
自动重命名窗口
setw -g automatic-rename on
set -g renumber-windows on
状态栏配置
set -g status-style bg=black,fg=white
set -g window-status-current-style bg=blue,fg=white
历史记录行数
set -g history-limit 10000
快速切换窗口
bind -n M-1 select-window -t 1
bind -n M-2 select-window -t 2
bind -n M-3 select-window -t 3
bind -n M-4 select-window -t 4
“`
重载配置:
“`bash
tmux source-file ~/.tmux.conf
“`
————————
09 最佳实践
实践1:命名规范
- 会话名:ai(AI工作)、dev(开发)、monitor(监控)
- 窗口名:frontend、backend、test、logs
实践2:快捷键记忆
- 最常用:Ctrl+b c(新建)、Ctrl+b n/p(切换)、Ctrl+b d(分离)
- 分屏:Ctrl+b %(垂直)、Ctrl+b “(水平)
实践3:会话保持
- 所有长期运行的任务都放tmux
- 关闭SSH前记得detach(Ctrl+b d)
- 用tmux ls查看有哪些会话在运行
实践4:与AI协作
- 每个AI一个窗口
- 用capture-pane读取输出
- 用send-keys发送命令
- 共享状态文件协调任务
————————
10 常见问题
问题1:滚动查看历史
解决:Ctrl+b [ 进入复制模式,用方向键滚动,q退出
问题2:粘贴乱码
解决:Ctrl+b ] 进入粘贴模式
问题3:颜色显示不对
解决:在~/.tmux.conf中添加:
“`
set -g default-terminal “screen-256color”
“`
问题4:无法使用鼠标
解决:确保配置中有 `set -g mouse on`
————————
11 总结
tmux核心价值:
- 会话保持:断开连接程序继续运行
- 窗口管理:一个终端管理多个窗口
- 分屏操作:同时查看多个输出
- AI协作:多Agent并行工作的基础
掌握tmux,Vibe Coding效率翻倍。
————————
你用tmux吗?
A. 天天用,离不开
B. 偶尔用,还在学习
C. 听说过,但没用过
D. 用其他工具(screen/zellij)
留言说说你的使用体验。
夜雨聆风