Tmux

2022-03-28

Tmux 是一个终端复用器 (terminal multiplexer),仅需单一环境就可以登录多个终端或窗口,每个终端或窗口都运行着独立的进程或程序。还可以将窗口划分为水平或垂直面板,也就是说在同一个屏幕上显示或运行多个程序。重要的是这些操作都不需要鼠标。

模块说明

  • Server:服务器,运行 Tmux 时默认
  • Session:会话,一个服务器包含多个会话
  • Window:窗口,一个会话包含多个窗口
  • Pane:面板,一个窗口包含多个面板

常用操作

  • 创建
  • 连接
  • 切换
  • 移动
  • 断开
  • 关闭

清单

命令

所有命令都必须加 tmux 前缀,比如创建新会话完整命令为: tmux new -s test

  • new: 创建新的会话
    • -s: 创建会话并命名 new -s test
    • -c: 在指定的目录中启动会话 new -c ~/Desktop
    • -d: 后台运行
  • attach: 连接会话 (缩写 at,不指定则连上一个)
    • -t: 连接到指定会话 attach test
  • ls: 查看当前存在的会话
    • -a: 列出所有打开的会话 ls -a
  • kill-session: 关闭会话
    • -t 指定会话 kill-session -t test

命令行模式

进入命令行模式 prefix + :

  • new-windows -n ops : 命令行模式创建会话
    • new-windows -n ops “top”: 在新会话执行指定命令,当命令结束后窗口将一起关闭
  • source-file ~/.tmux.conf: 重载配置文件

快捷键

所有快捷键均需 Prefix:Ctrl + B or Ctrl +A

通用

  • b :列出粘贴缓存
  • p:从缓存区粘贴(第一条)
  • P:从缓存区选择粘贴
  • ~:列出提示信息缓存
  • m:切换鼠标支持(默认开)
  • ::进入命令行模式
  • ?:列出所有快捷键
  • e:编辑配置
  • r :重载配置

会话

  • C+c :创建
  • C+f:查找
  • (:切换到上一个会话
  • ):切换到下一个会话
  • s:选择并切换
  • d:脱离会话,返回 Shell
  • D:选择要脱离的会话
  • $ :重命名当前会话

窗口

  • c :创建
  • &:关闭
  • w:显示窗口列表
  • i:显示窗口信息
  • C+h:切换到上一个窗口
  • C+l:切换到下一个窗口
  • Tap:切换到最后一个窗口
  • 0-9:切换至指定窗口
  • ':输入索引切换到指定窗口
  • ,:重命名当前窗口
  • .:修改当前窗口编号
  • f :搜索窗口

面板

  • z :最大化 #常用
  • !:新窗口打开
  • x:关闭 (也可直接 Ctrl+D) #常用
  • t:显示时间
  • n C+l :清空当前面板屏幕和历史记录

布局
  • - :水平分割 #常用
  • |:垂直分割 #常用 #自定义
  • <:和上一个面板交换位置
  • >:和下一个面板交换位置
  • Space:循环切换布局
  • Alt+o:逆时针旋转当前面板
  • Ctrl+o:顺时针旋转当前面板
  • H J K L:调整面板大小(左 下 上 右)
  • E :平分布局
移动
  • o :在面板之间循环切换焦点 #常用
  • ;:切换到最后使用的面板
  • q:显示编号(可切换)
  • h j k l :面板导航(左下上右)

配置说明

  • set -g base-index 1:设置窗口编号从 1 开始
  • set-option -g mouse on:开启鼠标支持
  • set -g status-interval 10:状态栏刷新时间
  • setw -g pane-base-index 1:设置面板编号从 1 开始
  • set -g renumber-windows on:关闭窗口时,重新编号
  • setw -g automatic-rename on:重命名窗口显示当前应用

注:配置以 gpakosz/.tmux 为模版

参考