今天在知乎上发现一款zsh的主题,感觉比较好看,推荐给大家。
可能很多人都用过 ys
这款主题,显示的信息很全也很清爽。但是对于我来说,不太喜欢它的一点就是前面的 # user @ hostname in
部分,感觉这部分完全没有显示的必要,同时如果进入的目录比较深的话,还会导致显示的提示信息很长。所以我就一直没有选择这款主题。
偶然看到一个名为 astro
的zsh主题 iplaces/astro-zsh-theme: Astro Theme for Oh My ZSH,是基于 ys
修改而来的。没想到也遇到了和我有同样想法的同学(ps: 只不过人家已经把想法变成了现实,而我却…)
因为加上用户名和 machine 信息之后很容易在文件路径较长时候产生换行,而且用户名和 machine 信息在我们使用 iTerm 的时候基本上用处很小所以我直接把他们省略掉了,看着清爽。
主要的部分就是文件路径、git 状态、git hash 和时间
Astro
主题的安装方法也很简单,直接按照给出的命令操作即可。
我之前一直使用的是 spaceship
这款主题。
要想修改zsh的主题设置,只需要将 ~/.zshrc
文件中的 ZSH_THEME="spaceship"
部分,改成相应主题的名字即可。
但当我将其改成 ZSH_THEME="astro"
之后,却发现 source ~/.zshrc
无法切换到新的主题,显示的还是之前的 spaceship
的主题样式:
spaceship theme
:
1 | Leafney.github.io on hexo [⇡] is 📦 v0.0.0 |
然后我去 zsh
的 github 中查询是否有相关的 issues。发现其中一种方法是将:
1 | plugins=( |
改成在一行的方式:
1 | plugins=(git zsh-autosuggestions) |
不过这个方法在测试后无效。
然后我又将其尝试更改成其他的主题样式,如默认的 robbyrussell
,结果发现还是 spaceship
的主题样式。那么到这里,基本上可以确定是 spaceship
这个主题的问题了,可能是当初我在配置 spaceship
主题时有什么全局设置,导致它每次 source
时都会覆盖更改的主题。
随后,我去 spaceship
主题的官方网站 Home · Spaceship ZSH 查找是否有相关的全局设置。发现了下面的一段:
1 | # Set Spaceship ZSH as a prompt |
当我把 ~/.zshrc
中这部分注释掉之后再次 source
,发现新的主题可以正常使用了:
astro theme
:
1 | # ~/Project/Leafney.github.io [hexo ● (0673186)] [11:53:36] |
更换成其他的主题,也一样可以正常切换:robbyrussell theme
:
1 | ➜ Leafney.github.io git:(hexo) hexo s -g |
至于上面这段关于 prompt
的配置,“咱也不知道为啥,咱也不敢问”。