Zsh
覆蓋zsh提示的bg顏色
我正在使用
zsh
withprompt fade
,我沒有oh-my-zsh
安裝。我的終端背景是深藍色,不是黑色,但提示列印在黑色背景上。
如何覆蓋它以使提示使用與終端其餘部分相同的背景顏色?
FWIW,我已經
RPS1
設置.zshrc
並使用正確的背景顏色。RPS1='[%F{yellow}%?%f] '
zsh
除非您要求,否則不會更改背景或前景色。因此,如果您的提示背景不是預設顏色,那是因為您或您啟用的某些提示主題或第三方自定義擴展已將其配置為這樣做。
在快速擴展中,背景顏色用
%K{colour}
和%k
(與 相同%K{default}
)更改,但也可以通過嵌入硬編碼的轉義序列來更改,例如在大多數終端$'%{\e[40;37;1m%}foo%{\e[m%}'
上使用黑底白字。foo
還有一種突出
%S
模式(以停止),在大多數終端上都是使用反向影片(交換背景和前景色)完成的。%s
因此,如果您想保留預設背景顏色,則需要從
$PS1
(aka$PROMPT
) 變數的定義中刪除這些顏色。另請注意,如果
promptsubst
啟用了該選項並且您$PS1
包含諸如$(some command)
or之類的內容${some_variable}
,則這些內容將在提示展開時展開,因此您還需要注意其中的顏色變化序列。您表明您正在使用
fade
提示主題。預設情況下,該主題中的$PS1
變數是:%F{green}%B%K{green}█▓▒░%F{white}%K{green}%B%n@%m%b%F{green}%K{black}█▓▒░%F{white}%K{black}%B %D{%a %b %d} %D{%I:%M:%S%P} %}%F{green}%K{black}%B%~/%b%k%f
在哪裡看到
%K{black}
. 如果您查看prompt_fade_setup
function 或 run的定義prompt -h fade
,您會發現 color 不在它允許您自定義的內容中。所以如果你不喜歡黑色背景,你也可以
- 切換到不同的主題
- 根據該主題創建自己的提示主題(
info zsh "prompt themes"
有關詳細資訊,請參閱)。- 在你的
PS1=${PS1//\%K{black}/%k}
之後添加prompt fade``~/.zshrc
- 不要使用
prompt fade
,只需將該PS1
變數定義復製到您~/.zshrc
的%K{black}
替換為%k
.