TMUX

tmux 简介

tmux(Terminal Multiplexer)是一款强大的终端复用工具,广泛应用于 Unix 系统中。它允许用户在一个终端窗口中运行多个会话,每个会话可以包含多个窗口和窗格,从而实现高效的任务管理和多任务处理。tmux 提供了丰富的快捷键和命令,支持会话的分离与重连、窗口和窗格的灵活管理,以及滚动查看历史输出等功能。无论是开发、运维,还是日常的终端操作,tmux 都能显著提升用户的工作效率和体验。特别是在远程工作环境中,tmux 的持久会话和断线重连特性尤为实用。

太长不看(简单四步)

  1. 启动一个 tmux​终端

    $ tmux
    
  2. 输入需要保持运行的命令

    $ python train_a_awesome_model.py
    
  3. 分离当前终端(或者直接关闭 ssh 连接窗口):ctrl-b​+d​(在会话中先按 Ctrl+b​(按完后手指离开键盘) 然后按 d​ 可以将当前会话分离(detach),会话仍然在后台运行。)。接下来可以关闭 ssh 连接

  4. 重新连上服务器,输入

    tmux a
    

    连接上最后一次分离的会话,继续工作!

tmux 常用指令

会话管理(在原始终端中)

  • 启动新会话tmux

    • 直接输入 tmux​ 命令,会启动一个新的 tmux 会话并进入其中。
  • 命名新会话tmux new -s <name>

    • 使用 tmux new -s <name>​ 命令可以创建一个带有指定名称的新会话,例如 tmux new -s mysession​。
  • 列出会话tmux ls

    • 输入 tmux ls​ 可以列出当前所有的 tmux 会话。
  • 连接到会话tmux attach -t <name>

    • 使用 tmux attach -t <name>​ 可以连接到一个已经存在的会话,例如 tmux attach -t mysession​。
  • 分离会话Ctrl-b d

    • 在会话中按 Ctrl-b​ 然后按 d​ 可以将当前会话分离(detach),会话仍然在后台运行。
  • 杀死会话tmux kill-session -t <name>

    • 使用 tmux kill-session -t <name>​ 可以终止一个指定的会话,例如 tmux kill-session -t mysession​。

窗口管理(在 TMUX 终端中)

  • 新建窗口Ctrl-b c

    • 在会话中按 Ctrl-b​ 然后按 c​ 可以创建一个新窗口。
  • 切换窗口Ctrl-b n​(下一个) / Ctrl-b p​(上一个)

    • Ctrl-b​ 然后按 n​ 可以切换到下一个窗口,按 Ctrl-b​ 然后按 p​ 可以切换到上一个窗口。
  • 选择窗口Ctrl-b <number>

    • Ctrl-b​ 然后输入窗口编号可以直接切换到指定窗口,例如 Ctrl-b 1​ 切换到窗口 1。
  • 重命名窗口Ctrl-b ,

    • Ctrl-b​ 然后按 ,​ 可以重命名当前窗口。
  • 关闭窗口Ctrl-b &

    • Ctrl-b​ 然后按 &​ 可以关闭当前窗口。

窗格管理(在 TMUX 终端中)

  • 垂直分割窗格Ctrl-b %

    • Ctrl-b​ 然后按 %​ 可以垂直分割当前窗格。
  • 水平分割窗格Ctrl-b "

    • Ctrl-b​ 然后按 "​ 可以水平分割当前窗格。
  • 切换窗格Ctrl-b o

    • Ctrl-b​ 然后按 o​ 可以在多个窗格之间切换。
  • 关闭窗格Ctrl-b x

    • Ctrl-b​ 然后按 x​ 可以关闭当前窗格。
  • 调整窗格大小:按住 Ctrl-b​ 然后使用箭头键

    • 按住 Ctrl-b​ 然后使用方向键可以调整当前窗格的大小。

滚动和复制模式(在 TMUX 终端中)

  • 进入滚动模式Ctrl-b [

    • Ctrl-b​ 然后按 [​ 可以进入滚动模式,用于查看之前的输出内容。
  • 退出滚动模式q

    • 在滚动模式中按 q​ 可以退出滚动模式。
  • 复制模式中选择文本:按 空格​ 开始选择,回车​ 结束选择

    • 在滚动模式中按 空格​ 开始选择文本,移动光标到结束位置后按 回车​ 完成选择。
  • 粘贴文本Ctrl-b ]

    • Ctrl-b​ 然后按 ]​ 可以粘贴之前复制的文本。

其他

  • 重新加载配置tmux source-file ~/.tmux.conf

    • 修改 ~/.tmux.conf​ 配置文件后,可以使用 tmux source-file ~/.tmux.conf​ 命令重新加载配置文件,使修改生效。
  • 显示快捷键帮助Ctrl-b ?

    • Ctrl-b​ 然后按 ?​ 可以显示所有 tmux 的快捷键帮助。

这些命令和快捷键可以帮助你快速上手 tmux,让你的终端管理更加高效。如果需要更多详细信息,可以参考 tmux 的官方文档或手册页(man tmux​)。

启用鼠标支持

  1. 打开 tmux 配置文件

    • 首先,打开你的 tmux 配置文件 ~/.tmux.conf​。如果这个文件不存在,可以新建一个。

    • 使用你喜欢的文本编辑器,例如 nano​、vim​ 或 gedit​:

      nano ~/.tmux.conf
      
  2. 添加鼠标支持配置

    • 在配置文件中添加以下几行代码来启用鼠标支持:

      # 启用鼠标支持
      set-option -g mouse on
      
  3. 保存并关闭配置文件

    • 如果你使用的是 nano​,按 Ctrl+O​ 保存文件,然后按 Ctrl+X​ 退出编辑器。
    • 如果你使用的是 vim​,输入 :wq​ 保存并退出。
  4. 重新加载 tmux 配置

    • 在 tmux 会话中,使用以下命令重新加载配置文件,使更改生效:

      tmux source-file ~/.tmux.conf
      
    • 或者,你可以退出当前 tmux 会话并重新启动 tmux。

使用鼠标支持

启用鼠标支持后,你可以使用鼠标进行以下操作:

  • 选择窗格:点击不同的窗格可以直接切换到该窗格。
  • 调整窗格大小:拖动窗格边缘可以调整窗格大小。
  • 切换窗口:点击窗口列表可以切换窗口。
  • 滚动:在滚动模式下,使用鼠标滚轮可以滚动查看输出内容。

验证鼠标支持

你可以通过以下步骤验证鼠标支持是否启用:

  1. 启动 tmux 会话:

    tmux
    
  2. 尝试使用鼠标点击不同的窗格,或者滚动窗口内容。如果鼠标操作生效,说明鼠标支持已成功启用。

这样,你就可以在 tmux 中使用鼠标进行更方便的操作了。希望这些步骤对你有所帮助!

关于复制

在某些终端模拟器中,如果 tmux 的鼠标支持与系统的复制功能冲突,可以尝试以下方法:

使用 Shift 键进行复制

  1. 进入复制模式

    • 按住 Shift​ 键,然后用鼠标选择要复制的文本。这通常会绕过 tmux 的鼠标控制,直接使用终端的选择功能。
  2. 复制文本

    • 选择文本后,按下 Ctrl + Shift + C​(在大多数 Linux 终端中)进行复制。
  3. 粘贴文本

    • 在目标位置按下 Ctrl + Shift + V​ 进行粘贴。

其他方法

  • 禁用鼠标支持

    • 如果你发现鼠标支持影响了复制功能,可以暂时禁用鼠标支持。在 tmux 中,输入 Ctrl-b​ 然后输入以下命令:

      :set-option -g mouse off
      
    • 完成复制操作后,可以再次启用鼠标支持:

      :set-option -g mouse on
      

这些方法可以帮助你在使用 tmux 时更方便地复制和粘贴文本。希望对你有帮助!

相关帖子

回帖

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...