让tmux颜值满满

tmux是一款实用的linux效率软件,通常可以用他来保存当前工作流(会话),下次再登录Linux系统时只要attach到之前的会话就能恢复当时的工作环境,十分便利。
今天在工作时突然有个想法,能否把一些常用信息显示在tmux的状态栏上。比如cpu使用率等等。在网络上查了一下,看到tmux还支持插件,感觉很有意思。
tmux的插件是通过TPM这个软件来管理的,它的安装很简单:
$ git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
然后在tmux的配置文件中写入下面的代码:
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'github_username/plugin_name\#branch'
# set -g @plugin 'git@github.com:user/plugin'
# set -g @plugin 'git@bitbucket.com:user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
从配置中可以很清楚地看出,它的插件列表是用set -g @plugin ‘plugin name’这样的形式来指定的。安装一个新的插件也很简单,首先在列表中写上需要安装的插件,然后打开tmux,prefix+I(Ctrl + B, 然后shift + i)。卸载方法是prefix, alt+u。
下面是安装tmux-plugin-systat这款插件的配置,保存后,prefix+I就可以了。
set -g @plugin 'samoshkin/tmux-plugin-sysstat'
set -g status-right "#{sysstat_cpu}|#{sysstat_mem}|#{sysstat_swap}|#{sysstat_loadavg}"

tmux的状态栏分为左,中,右三个区域,均可以分别指定内容:
#右边
set -g status-right ”右边你想要的内容“
#左边
set -g status-left ”左边你想要的内容“
#中间
set -g window-status-format ”中间你想要的内容“

根据这个原则,那么我们可以写上一些自己想要的东西。比如当前时间:
set -g status-right ”#(date)“
配置中的#(date) 表示引用的是shell执行date的结果。据此,我们也可以写例如:
set -g status-right "#(echo 'some other thing')"
除了引用shell的执行结果,我们也可以实用tmux内部自带的变量,引用的规则类似,如下:
set -g status-left "\#I:#{pane_current_path}"
他们的含义,请参考这个链接中的FORMATS章节。