tmux
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinesetmux
tmux
Complete tmux management for terminal multiplexing.
针对终端复用的完整tmux管理指南。
Core Concepts
核心概念
┌─────────────────────────────────────────────────────────────┐
│ SERVER (one per socket) │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ SESSION ($0, $1, ...) │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ │ │
│ │ │ WINDOW (@0) │ │ WINDOW (@1) │ ... │ │
│ │ │ ┌────┬────┐ │ │ ┌────────────┐ │ │ │
│ │ │ │PANE│PANE│ │ │ │ PANE │ │ │ │
│ │ │ │ %0 │ %1 │ │ │ │ %2 │ │ │ │
│ │ │ └────┴────┘ │ │ └────────────┘ │ │ │
│ │ └─────────────────┘ └─────────────────┘ │ │
│ └───────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘- Server: Background process managing all state
- Session (): Named container of windows, persists after detach
$id - Window (): Tab-like container of panes within a session
@id - Pane (): Individual terminal within a window
%id - Client: Terminal attached to a session
┌─────────────────────────────────────────────────────────────┐
│ SERVER (one per socket) │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ SESSION ($0, $1, ...) │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ │ │
│ │ │ WINDOW (@0) │ │ WINDOW (@1) │ ... │ │
│ │ │ ┌────┬────┐ │ │ ┌────────────┐ │ │ │
│ │ │ │PANE│PANE│ │ │ │ PANE │ │ │ │
│ │ │ │ %0 │ %1 │ │ │ │ %2 │ │ │ │
│ │ │ └────┴────┘ │ │ └────────────┘ │ │ │
│ │ └─────────────────┘ └─────────────────┘ │ │
│ └───────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘- Server(服务器): 管理所有状态的后台进程
- Session(会话) (): 命名的窗口容器,断开连接后仍会保留
$id - Window(窗口) (): 会话内类似标签页的窗格容器
@id - Pane(窗格) (): 窗口内的独立终端实例
%id - Client(客户端): 连接到会话的终端
Router
指令路由
| User says | Load reference | Do |
|---|---|---|
| list sessions / status | | inspect sessions |
| new session / create session | | create session |
| attach / detach | | attach/detach |
| kill session | | terminate session |
| new window / create window | | create window |
| rename window | | rename window |
| kill window / close window | | close window |
| switch window | | navigate windows |
| split / new pane | | split pane |
| resize pane | | resize pane |
| move pane / swap pane | | rearrange panes |
| kill pane / close pane | | close pane |
| layout | | apply/manage layouts |
| copy / paste / buffer | | copy mode operations |
| config / tmux.conf / settings | | configure tmux |
| keybind / bind / unbind | | key bindings |
| script / automate / send-keys | | scripting/automation |
| capture / log / output | | capture pane content |
| help / keys / cheatsheet | inline | show key reference |
| 用户指令 | 加载参考文档 | 执行操作 |
|---|---|---|
| 列出会话/查看状态 | | 检查会话状态 |
| 新建会话/创建会话 | | 创建会话 |
| 连接/断开 | | 连接/断开会话 |
| 删除会话 | | 终止会话 |
| 新建窗口/创建窗口 | | 创建窗口 |
| 重命名窗口 | | 重命名窗口 |
| 删除窗口/关闭窗口 | | 关闭窗口 |
| 切换窗口 | | 切换窗口 |
| 拆分/新建窗格 | | 拆分窗格 |
| 调整窗格大小 | | 调整窗格尺寸 |
| 移动窗格/交换窗格 | | 重新排列窗格 |
| 删除窗格/关闭窗格 | | 关闭窗格 |
| 布局 | | 应用/管理布局 |
| 复制/粘贴/缓冲区 | | 复制模式操作 |
| 配置/tmux.conf/设置 | | 配置tmux |
| 快捷键绑定/绑定/解绑 | | 快捷键绑定设置 |
| 脚本/自动化/send-keys | | 脚本编写与自动化 |
| 捕获/日志/输出 | | 捕获窗格内容 |
| 帮助/快捷键/速查表 | 内置 | 显示快捷键参考 |
Default Key Bindings (Prefix: C-b
)
C-b默认快捷键(前缀:C-b
)
C-bSession
会话管理
| Key | Action |
|---|---|
| Detach from session |
| List/switch sessions |
| Rename session |
| Previous/next session |
| 快捷键 | 操作 |
|---|---|
| 断开当前会话 |
| 列出/切换会话 |
| 重命名会话 |
| 切换到上一个/下一个会话 |
Window
窗口管理
| Key | Action |
|---|---|
| Create window |
| Kill window (confirm) |
| Rename window |
| Switch to window N |
| Next/previous window |
| Last window |
| List windows |
| Find window |
| 快捷键 | 操作 |
|---|---|
| 创建新窗口 |
| 删除窗口(需确认) |
| 重命名当前窗口 |
| 切换到第N个窗口 |
| 切换到下一个/上一个窗口 |
| 切换到上一次使用的窗口 |
| 列出所有窗口 |
| 查找窗口 |
Pane
窗格管理
| Key | Action |
|---|---|
| Split horizontally (left/right) |
| Split vertically (top/bottom) |
| Kill pane (confirm) |
| Cycle panes |
| Show pane numbers |
| Toggle zoom |
| Swap pane left/right |
| Break pane to window |
| Arrows | Navigate panes |
| Cycle layouts |
| Rotate panes |
| 快捷键 | 操作 |
|---|---|
| 水平拆分窗格(左右布局) |
| 垂直拆分窗格(上下布局) |
| 删除窗格(需确认) |
| 循环切换窗格 |
| 显示窗格编号 |
| 切换窗格全屏状态 |
| 向左/向右交换窗格 |
| 将当前窗格独立为新窗口 |
| 方向键 | 切换到对应方向的窗格 |
| 循环切换布局 |
| 旋转窗格位置 |
Copy Mode
复制模式
| Key | Action |
|---|---|
| Enter copy mode |
| Paste buffer |
| Choose paste buffer |
| List buffers |
| 快捷键 | 操作 |
|---|---|
| 进入复制模式 |
| 粘贴缓冲区内容 |
| 选择要粘贴的缓冲区 |
| 列出所有缓冲区 |
Quick Reference
快速参考命令
bash
undefinedbash
undefinedSession
会话管理
tmux new -s name # Create named session
tmux attach -t name # Attach to session
tmux ls # List sessions
tmux kill-session -t name # Kill session
tmux new -s name # 创建命名会话
tmux attach -t name # 连接到指定会话
tmux ls # 列出所有会话
tmux kill-session -t name # 删除指定会话
Window
窗口管理
tmux new-window -n name # Create named window
tmux select-window -t :N # Go to window N
tmux rename-window name # Rename current window
tmux new-window -n name # 创建命名窗口
tmux select-window -t :N # 切换到第N个窗口
tmux rename-window name # 重命名当前窗口
Pane
窗格管理
tmux split-window -h # Split horizontal
tmux split-window -v # Split vertical
tmux select-pane -t :.N # Go to pane N
tmux resize-pane -D 5 # Resize down 5 lines
tmux split-window -h # 水平拆分窗格
tmux split-window -v # 垂直拆分窗格
tmux select-pane -t :.N # 切换到当前窗口的第N个窗格
tmux resize-pane -D 5 # 将窗格向下调整5行
Info
信息查询
tmux list-keys # All key bindings
tmux info # Server info
undefinedtmux list-keys # 列出所有快捷键绑定
tmux info # 查看服务器信息
undefinedSafety Rules
安全规则
- Confirm before kill: Always confirm before ,
kill-session,kill-windowkill-pane - Check attachments: Before killing, check if session has active clients
- Preserve work: Warn if panes have running processes
- Config backup: Before editing , suggest backup
~/.tmux.conf
- 删除前确认: 执行、
kill-session、kill-window前必须确认kill-pane - 检查连接状态: 删除前检查会话是否有活跃客户端
- 保护工作进程: 若窗格中有运行中的进程需发出警告
- 配置文件备份: 编辑前建议先备份
~/.tmux.conf
Confirmation Policy
确认策略
Read-only (always OK):
- ,
tmux ls,list-sessions,list-windowslist-panes - ,
tmux info,show-optionsdisplay-message - ,
tmux list-keyslist-buffers
Requires confirmation:
- ,
kill-session,kill-windowkill-pane kill-server- Editing
~/.tmux.conf - to panes (can affect running processes)
send-keys
只读操作(无需确认):
- ,
tmux ls,list-sessions,list-windowslist-panes - ,
tmux info,show-optionsdisplay-message - ,
tmux list-keyslist-buffers
需要确认的操作:
- ,
kill-session,kill-windowkill-pane kill-server- 编辑
~/.tmux.conf - 向窗格发送指令(可能影响运行中的进程)
send-keys
Environment Variables
环境变量
| Variable | Description |
|---|---|
| Socket path (set inside tmux) |
| Current pane ID |
Check if inside tmux:
[ -n "$TMUX" ]| 变量名 | 说明 |
|---|---|
| Socket路径(在tmux内自动设置) |
| 当前窗格ID |
检查是否处于tmux环境:
[ -n "$TMUX" ]Troubleshooting
故障排查
| Issue | Solution |
|---|---|
| "no server running" | Start with |
| "sessions should be nested" | Unset |
| Detached session lost | Check |
| Colors not working | Set |
| Mouse not working | |
| 问题 | 解决方案 |
|---|---|
| "no server running" | 执行 |
| "sessions should be nested" | 取消 |
| 断开的会话丢失 | 执行 |
| 颜色显示异常 | 设置 |
| 鼠标功能无效 | 在配置文件中添加 |