用于粗体颜色变体的zsh提示配置



我已将我的终端(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下的更多信息。

相关内容

  • 没有找到相关文章