gpt4 book ai didi

terminal - zsh 不更新 vcs_info

转载 作者:行者123 更新时间:2023-12-02 18:57:54 25 4
gpt4 key购买 nike

我只是尝试使用 vcs_info 显示我所在的 git 存储库的当前分支(如果可用)。我的 .zshrc 文件的相关部分如下:

autoload -Uz vcs_info
zstyle ':vcs_info:*' enable git
zstyle ':vcs_info:*' formats "%F{010}(%b)%f "

precmd() { vcs_info }
setopt prompt_subst

PROMPT="%F{226}%m:%n @ %F{214}%1d %F{226}\$%f ${vcs_info_msg_0_}"

我期望:

  1. 我加载终端并从 ~ (主目录)开始。 zsh 提示符应为

    主机名:用户名@用户$

  2. cd dev/repo 将我带入 git 存储库,zsh 提示符应显示

    主机名:用户名@repo $(master)

  3. cd .. 带我回到 dev,它不是 git 存储库,提示应为

    主机名:用户名@dev$

我的经历:

提示永远不会自动更改/更新;我必须运行 source ~/.zshrc 才能在更改目录时进行提示更新。

我尝试过的:

我尝试将 precmd() block 更新为如下:

precmd() {
vcs_info
echo "This has been executed"
}

而且我在每次提示之前都看到This has beenexeced,所以我知道 precmd block 已正确输入。 vcs_info 似乎无法正常工作。

也许我错过了一些东西;有人能指出问题可能是什么吗?谢谢!

最佳答案

几个月后,在不太关心的情况下偶然发现了这一点......提示必须使用单引号而不是双引号。

PROMPT='%F{226}%m:%n @ %F{214}%1d %F{226}\$%f ${vcs_info_msg_0_}'

关于terminal - zsh 不更新 vcs_info,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56449176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com