提升 Tmux 状态栏颜值

文章目录

    看了一段日本小哥的写代码视频,发现里面的 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
    

    配置策略

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

    所以合理的做法是:

    • 复制配置插入到现有配置的前面。使我的快捷键配置能够覆盖 copy 来的。
    • 更合理的做法是,阅读一遍 .tmux 的配置文件,通过搜索我的配置项逐一修改。通过阅读配置,也能了解新的功能

    先跑起来

    备份原有配置

    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 个水平。后续就是把一些无意义的信息替换成自定义的内容,例如:

    • 剩余电量
    • 当前用户名,主机名
    • 日期、时间

    这些都是无用的信息。

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式