- Tmux 即 Terminal Multiplexer,是一个强大的终端复用器,可以在一个终端窗口中运行多个终端会话。
- 本文主要根据个人工作中常用的 Tmux 应用场景进行相关指令和快捷键的总结。
Tmux 基础
Tmux与进程
- 在 Tmux 中,一个
会话(session)
是一个独立的工作环境,包含一组窗口。 窗口(window)
是 Tmux 中的基本单位,每个窗口都可以包含一个或多个窗格。窗格(pane)
是窗口中的一个区域,每个窗格都运行一个 shell 进程。
Tmux的作用
多任务处理:Tmux 允许在一个终端窗口中打开多个会话,每个会话都可以包含多个窗口,每个窗口都可以包含多个窗格。这使得开发者可以在一个地方同时进行多个任务。
持久会话:即使 SSH 连接断开,Tmux 会话仍然会保持运行,可以重新连接到 Tmux 会话,继续运行工作。
窗口管理:Tmux 提供了许多窗口管理功能,如窗口分割、窗口切换、窗口重命名等。
脚本自动化:可以使用 Tmux 脚本来自动化工作流程,例如,自动创建多个窗口和窗格,运行特定的命令等。
团队协作:Tmux 支持会话共享,这意味着多个用户可以同时查看和操作同一个 Tmux 会话,这对于远程团队协作非常有用。
Tmux的安装
Tmux 可以在大多数的 Linux 发行版和 macOS 中通过包管理器安装。
1 | Ubuntu 或 Debian |
基本命令
启动与退出
Command | Description |
---|---|
tmux |
启动一个新的 Tmux 会话 |
exit |
退出 Tmux 会话窗口 |
会话管理
Command | Description | Quick |
---|---|---|
tmux list-sessions |
查看所有会话 | Ctrl+b s |
tmux rename-session -t old-session session-name |
重命名会话 | Ctrl+b $ |
tmux new -s session-name |
新建会话 | |
tmux attach -t session-name |
接入会话 | |
tmux switch -t session-name |
切换会话 | Ctrl+b l |
tmux detach -t session-name |
分离会话 | Ctrl+b d |
tmux kill-session -t session-name |
结束会话 | Ctrl+b & |
窗格管理
Command | Description | Quick |
---|---|---|
tmux split-window |
划分上下两个窗格 | Ctrl+b " |
tmux split-window -h |
划分左右两个窗格 | Ctrl+b % |
tmux swap-pane -U |
当前窗格上移 | Ctrl+b { |
tmux swap-pane -U |
当前窗格下移 | Ctrl+b } |
tmux select-pane -U |
光标切换到上方窗格 | Ctrl+b ↑ |
tmux select-pane -D |
光标切换到下方窗格 | Ctrl+b ↓ |
tmux select-pane -L |
光标切换到左方窗格 | Ctrl+b ← |
tmux select-pane -R |
光标切换到右方窗格 | Ctrl+b → |
tmux kill-pane |
关闭当前窗格 | Ctrl+b x |
tmux break-pane |
将当前窗格拆分为独立窗口 | Ctrl+b ! |
tmux resize-pane -Z |
当前窗格全屏显示 | Ctrl+b z |
tmux resize-pane -U |
向上调整窗格大小 | Ctrl+b Ctrl+↑ |
tmux resize-pane -D |
向下调整窗格大小 | Ctrl+b Ctrl+↓ |
tmux resize-pane -L |
向左调整窗格大小 | Ctrl+b Ctrl+← |
tmux resize-pane -R |
向右调整窗格大小 | Ctrl+b Ctrl+→ |
tmux display-panes |
显示窗格编号 | Ctrl+b q |
窗口管理
Command | Description | Quick |
---|---|---|
tmux new-window -n window-name |
创建一个新窗口 | Ctrl+b c |
tmux previous-window |
切换到上一个窗口 | Ctrl+b p |
tmux next-window |
切换到下一个窗口 | Ctrl+b n |
tmux select-window -t :0 |
切换到指定编号的窗口 | Ctrl+b <number> |
tmux choose-window |
从列表中选择窗口 | Ctrl+b w |
tmux rename-window |
窗口重命名 | Ctrl+b , |
自定义配置
其他命令
Command | Description |
---|---|
tmux list-keys |
列出所有快捷键及其对应的 Tmux 命令 |
tmux list-commands |
列出所有 Tmux 命令及其参数 |
tmux info |
列出当前所有 Tmux 会话的信息 |
tmux source-file ~/.tmux.conf |
重新加载当前的 Tmux 配置 |
参考资料
Tmux 使用教程 - 阮一峰的网络日志
A Quick and Easy Guide to tmux - Ham Vocke