這是我的 .zshrc 檔案。vcs_info 適用于單引號提示,但不適用于雙引號提示。
autoload -Uz vcs_info
zstyle ':vcs_info:*' enable git svn
zstyle ':vcs_info:git*' formats "- (%b) "
precmd() {
vcs_info
}
setopt prompt_subst
# prompt='%2/ ${vcs_info_msg_0_}> '
prompt="%2/ ${vcs_info_msg_0_}> "
但這不起作用。
uj5u.com熱心網友回復:
在雙引號內,引數擴展立即展開,因此您硬編碼了${vcs_info_msg_0_} 定義提示字串時的值,而不是顯示提示時的值。
您的選擇包括
繼續使用單引號
逃避
$:prompt="%2/ \${vcs_info_msg_0_}> "將
prompt自身設定在內部precmd,以便prompt在每次更新 VCS 資訊后重新定義。precmd () { vcs_info prompt="%2/ ${vcs_info_msg_0_}> " }
uj5u.com熱心網友回復:
您只需要更改語法即可在雙引號提示中使用 vcs_info
prompt="%2/"'${vcs_info_msg_0_}>'
或者這里是另一個例子(鸚鵡作業系統提示)
prompt="%F{red}┌[%f%F{green}$USER%f%F{yellow}?%f%F{cyan}%m%f%F{red}]─[%B%F{magenta}%~%f%F{red}]%f%F{201}"'${vcs_info_msg_0_}'"%f"$'\n'"%F{red}└?%f%F{yellow}$%f"
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/418627.html
標籤:
