WHY
配置的主题默认显示是针对于当前用户目录的全路径,导致目录层级较深时,目录名称显示过长带来命令输入的不便。
HOW
查看当前使用的shell
echo $SHELL
返回结果:/bin/zsh ,说明使用的是zsh命令解释器
查看当前zsh当前使用的主题
vi ~/.zshrc
返回结果如下,说明使用 oh-my-zsh 中的 agnoster主题
# Path to your oh-my-zsh installation.
export ZSH="/Users/wanghaokun/.oh-my-zsh"
....
ZSH_THEME="agnoster"
修改主题配置
cd ~/.oh-my-zsh/themes vi agnoster.zsh-theme
分析主题code
注:不同主题编码思路可能不同,需要根据实际code分析
下面代码,说明根据变量 prompt_dir 来显示的路径名称
重点来了,修改$CURRENT_FG后的定义
具体shell status含义
可参考:
https://man.archlinux.org/man/zshmisc.1#EXPANSION_OF_PROMPT_SEQUENCES
https://www.jianshu.com/p/9e62d8c93a92
这里我配置 %2d ,代表 显示最近两层目录的名称
WHAT
重新打开命令行界面,才可生效