背景
现在基本很多Linux/macOS版本都已经默认自带zsh
或已经正式切换到zsh
。先不说zsh
在shell
语法上的改进与提升,单其在shell
交互中的优秀(如自动补全)及插件的丰富,就让人对其爱不释手。
说到插件,配置zsh
时,我们首先就会想到将其弄得漂漂亮亮的。
今天就给大家介绍一款zsh
主题插件 - powerlevel10k。
安装
既然是zsh
主题插件,自然支持各种zsh
插件管理软件,比如[Oh My Zsh](https://ohmyz.sh/)
。powerlevel10k
支持各种管理软件安装,可参考官方文档。如果你刚好在本地安装了其中一款管理软件,可参考官方文档进行安装。
这里我们选择手动安装,其实也是非常简单的。(个人不太喜欢插件管理软件,开源软件bug多,弄好之后不太可能再去改变,插件管理就没必要了。)
|
|
配置
powerlevel10k
的配置是非常简单的,基本已经实现自动化。只要将如下几行代码加入~/.zshrc
,然后再次打开终端就会自动打开引导配置界面。
|
|
不用担心你的英文不够好,整个引导配置过程都是图文并茂的,如下图所示。这种引导式配置界面在开源软件中真的很少看到。
按照提示选择自己的样式,运行完后会自动生成配置文件,不需要我们手动去修改,是不是很 Nice
。如果你想重新配置powerlevel10k
,只需要运行p10k configure
即可。
定制
这么多样式,总有一款是适合你的。但是如果没有呢,那就只有自己定制了。
比如,如下图所示,默认git
信息显示在路径后面,这样一来,当我们改变路径时,界面就会跳动的,这很不符合我的需求。
powerlevel10k
的配置虽然不需要我的手动修改,但并不代表不可以。通过查看powerlevel10k
的配置文件~/.p10k.zsh
,可以发现默认提示符的配置为:
|
|
看来修改起来很简单,只需要交换一下dir
和vcs
的顺序,直接在.zshrc
中,加载完.p10k.zsh
之后,添加一行:
|
|
再看看,是不是舒服多了。
不要直接修改.p10k.zsh
,因为每次执行p10k configure
都会重新生成该文件。
进阶
其实powerlevel10k
提供更高级的定制方法,搜索.p10k.zsh
,查看prompt_example
相关内容,发现可以自定义提示符元素的方法。
假如我们想在git
信息前面增加仓库名称,只需要定义一个函数:
|
|
然后修改POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
为:
|
|
现在提示符看起来就是这样子了:
这里就抛砖引玉的简单介绍一下,更多功能大家自己探索吧。下面是我个人定制的效果,是不是很帅?
瞬态提示符 (Transient prompt)
这个应该是powerlevel10k
的特色功能了,先让我们看个动图:
有了这个瞬态提示符,我们就不再受满屏提示符的影响了。是不是很绚?
不过嘛,这个对终端和zsh
的要求比较高,要求界面绘图性能要足够快。先来测一测:
|
|
测试完会看到Time per prompt
,如下图所示:
如果你能达到 10-15 ms 左右的性能,那可以试试了,否则的话提示符总是闪烁,得不偿失。
开启这个功能只需要在引导配置界面选择即可,这里就不多说了。
结束语
虽然,这只是zsh
的一个小主题,对提升生产力并没什么帮助。但powerlevel10k
这种类似零配置的做法在开源软件中的确是很难得的(上期我们说《好物推荐 - scrutiny》时就提过这个问题),从这就看得出来,现在开源界对用户体验的态度。这也是我为什么要写上一篇文章的原因。如果所有开发者都能够像powerlevel10k
一样注重用户体验,Linux 等开源软件的发展也许会更好一些。