我在tmux中最不可少的配置: 用鼠标切换窗口/调节分屏大小

前两天在给另外一个团队帮忙时,看他们在Rails日志、代码文件、git文件系统里面来回穿梭,觉得他们太累了,于是就介绍了 tmux 给他们用。但只讲了一点基本的开窗口、分屏,没给讲太多技巧,因为一下子讲太多也消化不了,还不如让他们自己慢慢学(记得 man tmuxC-b ? 就差不多了)。

不过过了一会儿,小陆问我: 咦,你怎么可以用鼠标将窗口拖大拖小? 我说,”就几个配置而已“,正说要让他到我博客上看详细说明,突然想起:咦,我好像没写过这个? 以前在 ~/.tmux.conf 曾经加过不少配置,后来长期留下来的还没几行,其中就有这个。这么重要的东西我居然忘记记在博客上了——说明已经完全记录在脑袋里面了?

其实就这么几行配置:

setw -g mouse-resize-pane on
setw -g mouse-select-pane on
setw -g mouse-select-window on
setw -g mode-mouse on

这几行的作用分别是:

  • 开启用鼠标拖动调节pane的大小(拖动位置是pane之间的分隔线)
  • 开启用鼠标点击pane来激活该pane
  • 开启用鼠标点击来切换活动window(点击位置是状态栏的窗口名称)
  • 开启window/pane里面的鼠标支持(也即可以用鼠标滚轮回滚显示窗口内容,此时还可以用鼠标选取文本)

这几行配置加到 ~/.tmux.conf 中,然后在tmux里面按 C-b : 执行 source ~/.tmux.conf 即可生效 (也可以直接将这几行放在 C-b : 的输入行去执行,每次执行一行,不过 tmux重启后还得再来一遍)。


什么是window?

就是用 C-b c 创建出来的窗口,每个window跟tmux所在的终端一样大,window里面可以容纳多个pane。

所有窗口的名称显示在底部状态栏上,如下图所示。 有了上面的配置,只要点击窗口名就可以切换到指定窗口了 (快捷键是 C-b n, C-b p, C-b 1 .. C-b 9

我在tmux中最不可少的配置: 用鼠标切换窗口/调节分屏大小

(图盗自这里: Increased Developer Productivity with Tmux, Part 2: ~/.tmux.conf)

什么是pane?

就是窗口里面的分屏,可以用 C-b o 来切换到下一个pane,或者用 C-b Up 切换到当前pane上方的pane, 用C-b Down切换到当前pane下方的pane.

还有一种切换方法是 C-b q,tmux会显示每个pane的序号,按这个序号就可以跳过去了(按慢了可不行,得在数字消失前按)。

我在tmux中最不可少的配置: 用鼠标切换窗口/调节分屏大小

(本图片盗自: http://www.slideshare.net/lgfang/tmux/14 )

开启了 mouse-select-pane 选项之后, 就可以用鼠标点击面板切换了

用鼠标改变pane的大小

其实前面切换window或者pane,用鼠标并没有太大优势,也就只能略微减轻一点记忆负担。 但用鼠标拖动改变pane的大小这条是比快捷键有优势的,因为用快捷键很难一次调节到位 ,比如是增加6行还是9行? 缩小20列还是40列?而且 还可以斜向拖住交叉点来同时改变多个窗口的大小

附送一条贴士: 最大化/还原pane

  • 如果你用的是tmux >= 1.8,那么可以用 C-b z 来最大化一个pane,想恢复的时候再次按 C-b z 就是了
  • 如果你用的是tmux < 1.8,那么有点复杂,自己看这里: “Maximizing” a pane in tmux

参考

推荐下面两个slides,讲得都很通俗易懂。不过slideshare被蔷了,各位自己想办法吧

上一篇:linux基本语法和常用运维命令


下一篇:201521123045 《JAVA程序设计》 第14周学习总结