正如标题所说,我将我的提示配置为显示我的git信息。问题是它没有出现,除非我重新加载我的zshrc。
precmd () {
if [[ -z $(git rev-parse --git-dir > /dev/null 2>&1) ]] {
git_dir=$(git rev-parse --show-toplevel)
git_split=("${(@s./.)git_dir}")
git_root=$git_split[-1]
} else {
git_root=''
}
if [[ -z $(git ls-files --other --exclude-standard 2> /dev/null) ]] {
zstyle ':vcs_info:*' formats ' [%F{white}%b ${git_root} %c%u%F{green}]'
} else {
zstyle ':vcs_info:*' formats ' [%F{white}%b ${git_root} %c%u%F{red}●%F{white}]'
}
vcs_info
}
我发现这导致了这个问题:
if [[ -z $(git rev-parse --git-dir > /dev/null 2>&1) ]] {
git_dir=$(git rev-parse --show-toplevel)
git_split=("${(@s./.)git_dir}")
git_root=$git_split[-1]
} else {
git_root=''
}
但为什么呢?我怎么解决这个问题?我真的想在我的提示中提供这些信息。它显示了我在里面的回购,这在我多次跳转目录时非常有用。我的提示应如下所示:
jonathan at k-nine ~ [master jonathan ●] 10:24 pm
->
当它没有加载时,它看起来像这样:
jonathan at k-nine ~ 10:26 pm
->
为什么?