繁体   English   中英

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

[英]zsh prompt configuration for bold colour variants

我已经配置了我的终端(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 下

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM