zshの色を理解する

zshの色を理解する

存在するこのスレッド、Yodaは次の色を使用してソリューションを提案します。zsh

#load colors
autoload colors && colors
for COLOR in RED GREEN YELLOW BLUE MAGENTA CYAN BLACK WHITE; do
    eval $COLOR='%{$fg_no_bold[${(L)COLOR}]%}'  #wrap colours between %{ %} to avoid weird gaps in autocomplete
    eval BOLD_$COLOR='%{$fg_bold[${(L)COLOR}]%}'
done
eval RESET='$reset_color'

私が間違っている場合は訂正してください。しかし、正しく理解したら、autoload colors && colors色を名前で呼び出すことができ、残りのスクリプトは色を${ $}

これにより、次の質問について考えることができました。

  1. を呼び出してどの色が読み込まれたかを知る方法はありますかautoload colors && colors
  2. 私の端末がどの色をサポートしているのか、どうすればわかりますか?

ベストアンサー1

このcolors機能は、色名に似た属性(太字、下線など)を連想配列に書き込みますcolor。この配列は、名前を00normal42bg-green、...などの数字である端末属性文字列に関連付けます。

echo ${(o)color}

配列がどのように構成されているかを理解するには、関数のソースコード、またはwhich colorsを見てくださいless $^fpath/colors(N)

この関数は、8つの標準色のcolors名前とエスケープ文字列(関連配列fgと)のみを定義します。bgあなたの端末にはより多くの情報があるかもしれません。バラよりこの回答利用可能な色をナビゲートする方法を学びます。

おすすめ記事