本文最后更新于 2024-03-24,本文发布时间距今超过 90 天, 文章内容可能已经过时。最新内容请以官方内容为准

Tmux 常用操作和快捷键

一、写在前面

我们使用 Linux 的时候,常常需要多个会话操作,这时候有个tmux 工具可以实现在同一个会话中进行多窗口的显示的功能,而且在使用如 xshell 等工具远程链接使用服务器的时候,有时会话会断开,当我们重连 tmux 后,会发现之前的操作还可以保留。某种意义上也提升了我们在 Linux 下开发的效率,故小编总结了一些 tmux 的安装、常用的快捷键及常用命令,如下。

二、tmux 工具的优点

  1. 可以在单个会话窗口中,同时分割成多个窗口,相当于之前访问的多个会话。对于同时运行多个命令行程序很有用。
  2. 可以让新窗口"接入"已经存在的会话。
  3. 允许每个会话有多个连接窗口,因此可以多人实时共享会话。
  4. 还支持窗口任意的垂直和水平拆分。

三、安装方法

  • Ubuntu 系统:sudo apt-get install tmux
  • CentOS: sudo yum install tmux
  • Mac: brew install tmux

四、常用操作指令及快捷键

查看会话

  • 指令:tmux ls
  • 快捷键:Ctrl+b s

新建 tmux 窗口

  • 指令:tmux new -s <session-name>

重命名会话

  • 指令:tmux rename-session -t <old-name> <new-name>
  • 快捷键:Ctrl+b $

分离会话

  • 指令:tmux detach 或者使用 exit (关闭窗口)
  • 快捷键:Ctrl+b d

重新连接会话

  • 指令:tmux attach -t <session-name> 或者使用 tmux at -t <session-name>

平铺当前窗格

  • 快捷键:Ctrl+b z (再次 Ctrl+b z 则恢复)

杀死会话

  • 指令:tmux kill-session -t <session-name>

切换会话

  • 指令:tmux switch -t <session-name>

划分上下两个窗格

  • 指令:tmux split
  • 快捷键:Ctrl+b "

划分左右两个窗格

  • 指令:tmux split -h
  • 快捷键: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.conf 里加一句:set -g mouse on 可以实现鼠标选中窗格和移动
  • 会话窗内快捷键 Ctrl+b t 可以显示一个小时钟

六、Tmux 的自带操作和快捷键总结表

操作类别 操作描述 快捷键 Shell 命令
会话管理 新建会话 tmux new -s <session-name> tmux new-session -s <session-name>
会话管理 分离当前会话 Ctrl+b d tmux detach
会话管理 列出所有会话 Ctrl+b s tmux list-sessions
会话管理 重新连接会话 tmux attach -t <session-name> tmux attach-session -t <session-name>
会话管理 杀死会话 tmux kill-session -t <session-name> tmux kill-session -t <session-name>
窗口管理 新建窗口 Ctrl+b c tmux new-window
窗口管理 切换到下一个窗口 Ctrl+b n tmux select-window -t 1 (1 为下一个窗口编号)
窗口管理 切换到上一个窗口 Ctrl+b p tmux select-window -t -1 (-1 为上一个窗口编号)
窗口管理 重命名窗口 Ctrl+b , tmux rename-window
窗格操作 垂直分割窗格 Ctrl+b % tmux split-window -v
窗格操作 水平分割窗格 Ctrl+b " tmux split-window -h
窗格操作 切换到下一个窗格 Ctrl+b o tmux select-pane -n
窗格操作 切换到上一个窗格 Ctrl+b ; tmux select-pane -p
窗格操作 最大化/还原窗格 Ctrl+b z tmux resize-pane -Z (Z 为最大化,再次按还原)
窗格操作 关闭当前窗格 Ctrl+b x tmux kill-pane
窗格操作 调整窗格大小 Ctrl+b + 方向键 tmux resize-pane (方向键控制方向)
文本模式 进入复制模式 Ctrl+b [ tmux copy-mode
文本模式 退出复制模式 qEsc tmux cancel
文本模式 搜索文本 /<text> + Enter tmux search
文本模式 粘贴复制的文本 Ctrl+b ] tmux paste-buffer

参考

  1. tmux 常用命令
  2. tmux 常用命令及快捷方式 - 知乎
  3. Tmux 常用命令和快捷键 | Moralok
  4. Tmux 使用教程 · 极客云支持中心
  5. Tmux 使用手册 | louis blog
  6. 可能是东半球最全面易懂的 Tmux 使用教程!( 强烈建议收藏 )-腾讯云开发者社区 - 腾讯云
  7. Tmux 使用教程 - 阮一峰的网络日志
  8. 简明速查 | 🌟🌟🌟🌟🌟