簡體   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