我已将我的终端(Cygwin上的mintty)配置为将颜色绑定到某些名称,例如
# (Excerpt of .minttyrc)
Green=103,252,66
BoldGreen=53,228,11
BoldAsColour=yes这种配置的工作原理是,例如,在配置git或nano时,我可以访问这些颜色。但是,当我想配置zsh提示符时,只有非粗体变体才能工作。我想我用了错误的语法来指粗体颜色。示例:
print -P 'X%F{green}ABC%fY'这将在“我的”绿色中显示字母"ABC“,但是如果我执行任何一个
print -P 'X%F{bold green}ABC%fY'
print -P 'X%F{boldgreen}ABC%fY'
print -P 'X%F{bright green}ABC%fY'
print -P 'X%F{brightgreen}ABC%fY'整个字符串以正常的前景色显示,这可能意味着颜色名称无法识别。
我也试过
print -P 'X%B%F{green}ABC%f%bY'但这不使用BoldGreen值,而是以更大胆的字体显示ABC。
有人能向我解释,为什么会发生这种情况,并提出解决办法吗?
发布于 2020-12-07 18:58:20
您可以使用%F的数字形式来访问8种标准颜色的明亮版本。此for-loop将列出每种基色及其相应的明亮版本:
for c in {0..7}; do
b=$((c+8))
print -P - "%F{$c}$c%f -> %F{$b}$b%f"
done例如,%F{2}会给你基础绿色,而%F{10}会给你亮绿色。
更多信息,%F (%f)和fg=。
https://stackoverflow.com/questions/53221514
复制相似问题