【发布时间】:2019-04-12 18:35:29
【问题描述】:
我已将我的终端(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。
有人可以向我解释一下,为什么会发生这种情况,并提出解决方法吗?
【问题讨论】:
-
感谢您指出链接。虽然它没有显示哪种颜色 name 可以用于我的问题,但它确实指出了使用合适的转义码的解决方法:例如,
print -P $'X\e[0;92mABC%fY'将显示 ABC 亮绿色 - 我不知道 ANSI 颜色代码的 90-97 范围。 -
%B 和 %b 在 zsh 中为我加粗
标签: command-prompt zsh mintty