简介
Tmux 是一个终端复用器:它在单个窗口中运行多个终端会话,并在你断开连接后保持它们继续运行。它按三层组织:会话包含窗口,窗口包含窗格。tmux
所有快捷键都以前缀键开头,默认是Ctrl+b。按下前缀键,松开,然后按命令键。会话
会话是一组窗口的集合,在你分离或连接断开后仍在后台持续运行。稍后重新附加即可精确回到离开时的状态。| 快捷键 | 说明 |
|---|
Ctrl+b d | 从当前会话分离 |
Ctrl+b s | 列出所有会话并切换 |
Ctrl+b $ | 重命名当前会话 |
Ctrl+b ( | 切换到上一个会话 |
Ctrl+b ) | 切换到下一个会话 |
tmux lstmux attach -t mysessiontmux new -d-s mysessiontmux rename-session -t old newtmux kill-session -t mysessiontmux kill-server
tmux attach不带-t时附加到最近使用的会话。kill-server完全停止 tmux,包括所有会话。窗口
窗口是会话中的标签页。每个窗口运行自己的 Shell,默认从 0 开始编号。| 快捷键 | 说明 |
|---|
Ctrl+b c | 创建新窗口 |
Ctrl+b n | 切换到下一个窗口 |
Ctrl+b p | 切换到上一个窗口 |
Ctrl+b 0-9 | 按编号切换到对应窗口 |
Ctrl+b l | 切换到最后活跃的窗口 |
Ctrl+b w | 列出所有窗口并选择一个 |
Ctrl+b , | 重命名当前窗口 |
Ctrl+b . | 将当前窗口移到另一个编号 |
Ctrl+b & | 关闭当前窗口(需确认) |
窗格
窗格将窗口分割为多个终端区域。每个窗格运行独立的 Shell。| 快捷键 | 说明 |
|---|
Ctrl+b % | 左右分割窗格 |
Ctrl+b " | 上下分割窗格 |
Ctrl+b 方向键 | 向该方向移动窗格 |
Ctrl+b o | 循环到下一个窗格 |
Ctrl+b ; | 跳到最后活跃的窗格 |
Ctrl+b z | 切换当前窗格全屏缩放 |
Ctrl+b x | 关闭当前窗格(需确认) |
Ctrl+b { | 与上一个窗格交换位置 |
Ctrl+b } | 与下一个窗格交换位置 |
Ctrl+b Space | 循环切换窗格布局 |
Ctrl+b q | 显示窗格编号(按数字跳转) |
Ctrl+b ! | 将当前窗格拆分为新窗口 |
调整窗格大小
按下前缀键,然后按组合了修饰键的方向键。按住修饰键可重复调整大小,无需再次按前缀键。| 快捷键 | 说明 |
|---|
Ctrl+b Ctrl+方向键 | 向该方向调整 1 个单元格 |
Ctrl+b Alt+方向键 | 向该方向调整 5 个单元格 |
同样可以从命令提示符操作,使用-D、-U、-L、-R分别表示下、上、左、右。tmux resize-pane -D10tmux resize-pane -R10
复制模式
复制模式允许你滚动输出、搜索并复制文本。按Ctrl+b [进入(或Ctrl+b PgUp进入并向上滚动一页)。默认情况下 tmux 在复制模式中使用 Emacs 风格按键。大多数用户会切换到 vi 风格按键,下表假设使用 vi 风格。echo "setw -g mode-keys vi" >> ~/.tmux.conf
| 快捷键 | 说明 |
|---|
q | 退出复制模式 |
h j k l | 左、下、上、右移动 |
w / b | 向前/向后移动一个单词 |
g / G | 跳转到历史顶部/底部 |
Ctrl+u / Ctrl+d | 向上/向下滚动半页 |
/ | 向前搜索 |
? | 向后搜索 |
n / N | 下一个/上一个搜索匹配 |
Space | 开始选择 |
Enter | 复制选择并退出复制模式 |
命令模式
按Ctrl+b :打开 tmux 命令提示符。每个快捷键都是这些命令的快捷方式,任何命令都可以直接在这里运行。new-window -n mywinsplit-window -hswap-window -t0select-layout even-horizontalsetw synchronize-panes on
synchronize-panes将你的输入同时发送到窗口中的所有窗格。在多台服务器上运行相同命令时非常方便。使用 setw synchronize-panes off 关闭。配置
Tmux 在服务器启动时读取~/.tmux.conf。有用的配置选项:set-g mouse onset-g history-limit 50000set-g base-index 1setw -g pane-base-index 1
mouse on启用点击窗格、拖动边框调整大小和滚轮滚动。base-index 1将窗口编号从 1 开始而非 0,与键盘布局匹配。tmux source-file ~/.tmux.conf