终端复用神器——tmux
tmux
tmux是一个能够实现会话复用和分屏显示的终端工具。类似的终端复用器还有 GNU Screen,Tmux 与它功能相似,但是更强大易用。使用tmux需要掌握三个概念:session、window、pane,三者依次包含,和vim的buffer、window概念类似。
谈谈个人对着三个层级的理解:
- session的职责是确保会话复用,比如每次远程连上开发机退出后,下次登入无法获得同样的工作环境,这个问题通过session来解决,不同的用户可能使用不同的环境,因此需要多个session;
- window的定位可能只是为同一个session提供多套工作环境,有点类似于虚拟桌面;
- pane的职责是分屏显示,保证一个屏幕中能够同时使用多个终端界面。
tmux常用的控制命令:
1 | |
tmux常用的快捷键。注意,快捷键只是对常用命令的一个提炼,更多的命令可以通过命令输入栏来使用。
1 | |
一点小配置:
1 | |
⭐️在命令模式中执行:set -g mouse on # 开启全局的鼠标支持,但是对于选中文本复制会有影响,这里选择不启用。但是如果需要查看历史输出信息的话,还是打开更好用一些,打开后可以触控板滚动屏幕,否则需要通过如下方式:
- Control+B
- [
- Arrows keys or Shift+Page up/down
- Control+C when done with scrollback
上述原生的方法太麻烦了,通过tmux-yank插件来解决,在安装yank插件之前,额外推荐一下tmux的插件管理工具 tpm,安装方法见官网,非常简单,以后只需要将需要的插件列表添加到配置文件中,然后 prefix+I 即可安装新的插件,prefix+U 即可实现插件更新。
安装好tpm后,将下面的配置追加到 ~/.tmux.conf ,然后执行 prefix+I 和 tmux source ~/.tmux.conf 完成插件安装和配置,此后鼠标选中tmux中的文本后会自动复制到剪贴板。详细步骤可参见Copy and Paste in tmux,里面介绍了更多更能,这里我只选择了自己喜欢的部分。
1 | |
参考博客:
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!