前言
上一期我们讲到ZShell修改提示符,但是今天看到别人的oh-my-zshell
有炫彩Git分支提示,这我肯定不能认输,但是又不想安装完整的oh-my-zshell
,所以在上一次的ZShell手动修改提示符的基础上作了改进,实现了展示Git分支的功能
添加函数
1 2 3
| function parse_git_branch() { git branch 2> /dev/null | sed -n -e 's/^\* \(.*\)/[\1]/p' }
|
设置动态刷新分支显示
- 踩坑:如果没加这句代码,那么提示符只会在启动时刷新一次,不会实现跳转目录更新Git分支信息
调用函数
- 通过
$(parse_git_branch)
调用Git分支信息检测函数
- 这里只做范例,请根据需求自己修改提示符的其他变量
- 踩坑:
setopt PROMPT_SUBST
必须需要配合单引号才能生效,双引号还是不会实现跳转目录更新Git分支信息
1
| export PROMPT='$(parse_git_branch) '
|
完成
1 2 3 4 5 6 7
| autoload -U colors && colors function parse_git_branch() { git branch 2> /dev/null | sed -n -e 's/^\* \(.*\)/[\1]/p' } setopt PROMPT_SUBST export PROMPT='[ %{$fg[cyan]%}%d%{$reset_color%} ] %{$fg[green]%}$(parse_git_branch)%{$reset_color%} $ '
|
参考文献
ICode9
Dovov编程网
Github
QAStack