我已将我的终端(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值,而是以-eh-粗体显示ABC。
有人能向我解释一下为什么会发生这种情况,并提出解决办法吗?
您可以使用%F
的数字形式来访问8种标准颜色的明亮版本。这个for
-循环将列出每种基本颜色及其相应的明亮版本:
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=
color下的更多信息。