TLDR:ターミナルカラーの背後にある理論は何ですか?
LS_COLORSに固定された数値があります。
no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;33:*.cmd=00;33:*.exe=00;33:*.com=00;33:*.btm=00;33:*.bat=00;33:*.sh=00;33:*.csh=00;33:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:*.c=00;41:*.cpp=00;41:*.h=00;44:*.cu=00;43:*.cuh=00;43:ex=00;32
私はgnome-terminal、urxvt、yakuakeが同じファイル形式に対して大きく異なる色を表示する原因が何であるか疑問に思います。違いは非常に似ているもの(しかし明らかに違うもの)から非常に異なるもの(茶色と黄色)までさまざまです。
また、vimの色の表示方法にも違いがあり、3つの端末すべてで色が非常に異なって見えます。これはt_Co = 8(vimは8色サポート)とt_Co = 256(vimは256色サポート)の両方に当てはまります。
インターネット上で.XResourcesをスノーバーとして英語の色名でコピーすると、vimの同じカラースキームが非常に異なる色で表示されます。 (これはvimschemeの名前の使用と.Xresourcesの色のオーバーライドに起因すると思います)
誰かが端末の色がどのように機能するかについての理論を理解するのに役立ちますか?リンクはうまく機能します。特に寛大であると感じる人がいる場合は、vim環境内で常に標準環境を維持するためのヒントを提供できます。
yakuakeでは、私のカラーテーマは「Linuxテーマ」(標準テーマのようです)ですが、gnome端末にはテーマはありません。 「ユーザーシステムの色」オプションを選択すると、色がより深刻になり、出力自体が破損します(たとえば、バニラは各ls
ファイルを別の行に表示します)。 urxvtの場合、.XresourcesとYieldで定義された唯一の色関連フィールドは次xrdb -q
のとおりです。
Urxvt.background: #000000
Urxvt.foreground: #FFFFFF
さて、私が言うことを説明するためのいくつかのスクリーンショット(最初はyakuakeで、2番目はurxvtで)
確かに違いがすごいですね…
使用:http://www.vim.org/scripts/script.php?script_id=1349(最初はyakuake、2番目はurxvt)
ベストアンサー1
インデックスパレットには、解釈可能な実際のレンダリングがあります。実際のハードウェアにはさまざまな標準があります(特に茶色と濃い黄色、茶色がより便利で見やすくなります)。
これを見てください: https://en.wikipedia.org/wiki/Color_Graphics_Adapter
端末エミュレータでは、構成によって異なります。ほとんどのエミュレータには、echo $TERM
エミュレートするレガシーハードウェアの種類を表す定義済みモード()があります。色は最小の変化です。他の制御コード(カーソル位置を制御する目に見えない文字列、太字/反転ビデオ、点滅など)も異なるコードを持つことができます。端末タイプが正しく設定されていない場合(SSH経由など)、カーソルを押すと、このようなジャンクが時々表示されます。より洗練されたエミュレータのいくつかは、実際に古代の色標準に興味がなく、ユーザーが自分の色を定義できるようにします(Yakuakeが使用するKonsole - カラープロファイルがあります)。最新の端末エミュレータは実際にはこれ以上の色(256色)をサポートしていますが、もちろん端末で実行されているアプリケーションはこの機能(termcapなどを介してまたは$TERM
変数を読み取ること)を認識して正しい文字を出力する必要があります。コンビネーション。
あなたが本当に読みたいのはこれです。カラーマップもあります: https://en.wikipedia.org/wiki/ANSI_escape_code