提升 Tmux 状态栏颜值

发布时间: 2022-02-03 12:51:08 作者: 大象笔记

看了一段日本小哥的写代码视频,发现里面的 terminal 配置非常漂亮。 既然每天都要在 tmux 中工作,把界面美化一下还是有必要的,至少心情是愉悦的。

最终效果:

是时候更新一下配置了

现有的 .tmux.conf 文件是 10 年前配置的,之后就没怎么更新过了。 只有偶尔几次升级版本导致配置不兼容,才被动调整了几次。当前效果:

.tmux

找到一个 star 16K 的 tmux 配置:

https://github.com/gpakosz/.tmux

跟日本小哥的效果非常相似。

查看当前 tmux 版本

上面的 .tmux 配置有最低版本要求

tmux >= 2.3 (soon >= 2.4) running inside Linux, Mac, OpenBSD, Cygwin or WSL

所以首先确认一下当前安装的 tmux 版本

> tmux -V
tmux 2.6

配置策略

由于我已有的快捷键映射已经用了十多年,早已形成了肌肉记忆,再去修改毫无意义。 所以,在复制上面项目的配置文件的同时,我需要保留之前的快捷键。

所以合理的做法是:

先跑起来

备份原有配置

cp ~/.tmux.conf ~/.tmux.conf.bak

拉取新配置,并部署配置文件

$ cd ~/
$ git clone https://github.com/gpakosz/.tmux.git
$ ln -s -f .tmux/.tmux.conf
$ cp .tmux/.tmux.conf.local .

.tmux.conf.local 会被 .tmux.conf 自动导入。

更新之后,新配置不会生效,需要 reload tmux 配置;或者 kill 掉 tmux 进程,重启 tmux。

tmux reload config

tmux source-file ~/.tmux.conf

打折的效果:

箭头效果

默认配置并没有示例中的 Powerline 箭头分隔符效果,需要修改 .tmux.conf.local 中的配置

# status left/right sections separators
#tmux_conf_theme_left_separator_main=""
#tmux_conf_theme_left_separator_sub="|"
#tmux_conf_theme_right_separator_main=""
#tmux_conf_theme_right_separator_sub="|"
tmux_conf_theme_left_separator_main='\uE0B0'  # /!\ you don't need to install Powerline
tmux_conf_theme_left_separator_sub='\uE0B1'   #   you only need fonts patched with
tmux_conf_theme_right_separator_main='\uE0B2' #   Powerline symbols or the standalone
tmux_conf_theme_right_separator_sub='\uE0B3'  #   PowerlineSymbols.otf font, see README.md

reload config, 但是会发现分隔符并没有显示出来,而是显示为方块,说明是字体问题。

参考官方文档的说明:

https://github.com/gpakosz/.tmux#enabling-the-powerline-look

下载 2.030R-ro/1.050R-it version 字体,并安装即可。这个字体兼容了 PowerlineSymbols.otf, 无需再独立安装。

安装完字体之后,将 Windows Terminal 的字体修改成 Source Code Pro。

就能看到示例中的效果了。

注意:并不需要安装 Powerline。

一键安装多个字体

上面下载的字体包是个 zip 压缩包,需要解压之后,进入 ttf 文件夹,选中所有字体文件,右键,选择安装。 这样就能一键安装所有字体了。

注意:如果不解压 zip 文件,右键是看不到安装菜单的。

vim 的 airline 分隔符能否同样美化

修改 vimrc 添加:

" airline symbols
let g:airline_left_sep = ''
let g:airline_left_alt_sep = ''
let g:airline_right_sep = ''
let g:airline_right_alt_sep = ''

前提是安装了 airline 插件

Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'

待续

至此,所有配置已完成,感觉颜值提升了 N 个水平。后续就是把一些无意义的信息替换成自定义的内容,例如:

这些都是无用的信息。

我是一名山东烟台的开发者,联系作者