Byobu(tmux)的使用与定制

Byobu(tmux)的使用与定制 | I'm TualatriX

周末时跟 @walkerxk 去了车库咖啡,这是来北京半年来首次去这个传说中以「创业」为主题的咖啡店。实际上去那纯属好奇,想看看是怎么样,不巧正碰上一次活动,人真是那个密密又麻麻。

好在人多并不影响我们交流技术,后来 @truant 也来了,三人交流了各种各样的话题,甚是爽快! 

这次在车库咖啡我接触并学习了Tmux,真是一个了不起的东西,觉得有必要介绍一下,因为我后来发现,原来我曾经介绍过的「Byobu」,竟然已经是Tmux为默认后端了。

 

先贴张车库咖啡的图,周六的人真是多啊…大家在介绍四个App,个人觉得来自深圳的变魔术的那个App蛮有意思的。

Cheku Cafe

回归正题,在介绍Tmux之前,你必须得先了解Screen。简单的说,Screen是一种用于保持终端可持续会话、可以同时进行多个会话的一个工具。而Byobu呢,则是Ubuntu开发的,在Screen的基础上进行包装,使其更加易用的一个工具。

Tmux又是什么呢?它是BSD实现的Screen替代品,相对于Screen,它更加先进:支持屏幕切分,而且具备丰富的命令行参数,使其可以灵活、动态的进行各种布局和操作。由于我还在学习中,暂时还能深入讲解使用,据说它可以做到一条命令就启动起来,左侧是终端,右侧是Vim,下面来一个gdb——总之它就是一个灵活的IDE,任仍你配置。

现在轮到介绍Byobu了,虽然我之前已经介绍过了。但是最新的Byobu(5.9),已经是基于Tmux作为后端了。也就是说,Byobu也是支持屏幕切分,并且通过「byobu-tmux」这个命令行前端来接受各种与tmux一模一样的参数来控制它,可谓在保持Tmux兼容的情况下,造福了懒人。

尽管Byobu已经考虑到了各种情况,用户不需要太多配置了,但是为了符合自己的使用习惯,我还是做了最小的微调——把窗格的切换改成Vim式的。

Byobu包装过的Tmux将其配置文件放在了「~/.byoburc.tmux」下面,因此编辑这个文件,写如以下内容:

set-window-option -g mode-keys vi
bind C-h select-pane -L
bind c-j select-pane -D
bind C-k select-pane -U
bind C-l select-pane -R

然后,使用的时候就是这样:

  • 运行「byobu-tmux」进入Tmux后端的Byobu
  • 先按「Ctrl+A」,松开,再按「|」,竖切一个格子
  • 先按「Ctrl+A」,松开,再按「%」,横切一个格子

然后,怎么在这三个屏之间跳转呢?想想Vim的「hjkl」,这时只要按住「Ctrl」,再一齐按下「A」和「J」,就移到下面这个窗格去了。其他以此类推。

我试着做了一会,发现很习惯,因为不需要松开Ctrl键,因此我在窗格之间跳转非常迅速,而且这个键绑定也不会与其他键冲突(暂时没发现)。

效果图如下:

Byobu的细节做的非常好,比如你可以很明白的就看到当前哪个窗格是活跃的。

Byobu Tmux

Byobu(Tmux)真是非常好用的一个工具,尤其是卷动和复制粘贴等功能,真是方便。其他的功能,非常值得需要花时间去学习,我相信能带来效率的极大提升。

原文地址:https://www.cnblogs.com/lexus/p/2368369.html