ANSI RGBカラーコードを太字にする方法は?

ANSI RGBカラーコードを太字にする方法は?

私は色でプロンプトをカスタマイズする方法を学びました。赤いテキストを定義できることを知っています

\e[0;31m

RGBカラー(次の例では、R = 255、G = 95、B = 255)を次のように定義します。

\e[38;2;255;95;255m

最初のコマンドを太字にするには、0を1に変更します。

\e[1;31m

しかし、RGBコマンドを太字で表示するにはどうすればよいですか?

答え1

次の2つを組み合わせることができます。

printf %b == '\e[1m' '\e[38;2;255;95;255m' FOO '\e[m' == '\n'

最初は太字のプロパティを設定し、2番目は色を設定します。

ターミナルエミュレータが実際に太字をサポートしているか(それをエミュレートするためにカラー/リバースビデオを使用していないか、linux vtなどの特定のモードで無視するか)確認し、無効にした場合は有効にする必要があります。 X11 で動作するほとんどの端末エミュレータには追加の設定は必要ありません。

例えば。どういうわけか無効になっている場合はxterm設定が必要な場合があります*colorBDMode: false。イタリック体とアンダー.Xresourcesスコア文字も同じです。*colorITMode: false*colorBLMode: false

答え2

勇敢な文字に関連するビデオ属性で、通常、線はより厚いが明るい色(強度の変化)を使用して一部のデバイスでエミュレートされます。

RGB色の強さはすでに指定されているため、ほとんどの端末ではレベルをわずかに変更するなどの操作を実行しますが、他の端末では信頼できるものはありません。

関連情報