终端复用工具tmux

快捷键

一般情况下 tmux 中所有的快捷键都需要和前缀快捷键 Ctrl+b 来组合使用,以下是常用的窗格(pane)快捷键列表,大家可以依次尝试下:

  • ? 可以查看所有的快捷键列表

窗格操作

  • % 左右平分出两个窗格
  • “ 上下平分出两个窗格
  • x 关闭当前窗格
  • { 当前窗格前移
  • } 当前窗格后移
  • ; 选择上次使用的窗格
  • o 选择下一个窗格,也可以使用上下左右方向键来选择
  • space 切换窗格布局,tmux 内置了五种窗格布局,也可以通过 ⌥1 至 ⌥5来切换
  • z 最大化当前窗格,再次执行可恢复原来大小
  • q 显示所有窗格的序号,在序号出现期间按下对应的数字,即可跳转至对应的窗格

窗口操作

tmux 除了窗格以外,还有窗口(window) 的概念。依次使用以下快捷键来熟悉 tmux 的窗口操作:

  • c 新建窗口,此时当前窗口会切换至新窗口,不影响原有窗口的状态
  • p 切换至上一窗口
  • n 切换至下一窗口
  • w 窗口列表选择,注意 macOS 下使用 ⌃p 和 ⌃n 进行上下选择
  • & 关闭当前窗口
  • , 重命名窗口,可以使用中文,重命名后能在 tmux 状态栏更快速的识别窗口 id
  • 0 切换至 0 号窗口,使用其他数字 id 切换至对应窗口
  • f 根据窗口名搜索选择窗口,可模糊匹配

会话操作

如果运行了多次 tmux 命令则会开启多个 tmux 会话(session)。在 tmux 会话中,使用前缀快捷键 Ctrl+b 配合以下快捷键可操作会话:

  • $ 重命名当前会话
  • s 选择会话列表
  • d detach 当前会话,运行后将会退出 tmux 进程,返回至 shell 主进程

shell命令

  • tmux new -s foo # 新建名称为 foo 的会话
  • tmux ls # 列出所有 tmux 会话
  • tmux a # 恢复至上一次的会话
  • tmux a -t foo # 恢复名称为 foo 的会话,会话默认名称为数字
  • tmux kill-session -t foo # 删除名称为 foo 的会话
  • tmux kill-server # 删除所有的会话