Vimがカラースキームなしで端末からANSIカラーを出力することは可能ですか?


7

多くの端末エミュレータでは、色を定義できます。

ここに画像の説明を入力してください

同じテーマをVimのカラースキームで近似(および複製)するのではなく、すでに定義した色(「赤」、「緑」、「黄色」のANSIエスケープコードを出力するように端末Vimに指示する方法があります。 「、「マゼンタ」など)?

そうでない場合、なぜそうではないのですか?

回答:


7

端末エミュレータが256色のサポートを要求し$ echo $TERMておらず(を含まない文字列を出力する必要がある256color)、それについてVimにうそをついていない(または:echo &t_Co出力する8必要がある16)場合、Vimは、定義した「ANSI」色を尊重する必要があります端末エミュレータ。

組み込みのカラースキームはすべて、デフォルトで名前または番号のいずれかで「ANSI」カラーを使用しますが、多くのサードパーティのカラースキームは、GUIや256色のターミナルエミュレータ用に特別に設計されています。これらのcolorchemesは、一般的に8/16色の設定ではまったく(または非常に貧弱に)機能しません。

したがって、「完璧な」組み合わせを見つけるには、組み込みのカラースキームとサードパーティのカラースキームを実験する必要があります。

以下の手がかりを探して、カラースキームが設定で機能するかどうかを確認できます。

ctermfg=red    use of names means it works in 8/16 color terminals
ctermfg=7      use of numbers below 16 means it works in 8/16 color terminals
ctermfg=123    use of numbers between 16 and 255 means it works in 256 color terminals
guifg=...      means it works in GUI Vim
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.