2016-07-28 17 views
0

私はvimのテーマで端子の色を標準化しようとしていますが、Vimが背景の色に応じてフォアグラウンドのテキストの色をどのように処理するかについて、Vim通常の背景フォアグラウンドのテキストの色を変更する

この非常に単純なvimテーマ考えてみましょう:それは(簡単な例として)非常にきれいではありませんが、それはこのようになります

if exists("syntax_on") 
    syntax reset 
endif 

set t_Co=256 

highlight Normal ctermfg=NONE ctermbg=234 cterm=NONE 
highlight PreProc ctermfg=197 ctermbg=NONE cterm=NONE 

を:私は、1行の設定を変更した場合

Normalctermbg=NONEこのように:

highlight Normal ctermfg=NONE ctermbg=NONE cterm=NONE 

私はこのようなものを得る:あなたが見ることができるように

、背景が明らかに(予想通り)に変更しますが、前景色の変化にも。

なぜこの動作を引き起こしvimでこのプロパティを変更していますか?フォアグラウンドカラーを変更せずに背景を削除するにはどうすればよいですか?

私は256ビットカラーが有効になっているOS Xのデフォルト端末を使用しています。

私は助けてくれてありがとう!

答えて

0

この動作は正常であり、予想され、:hi-normal-ctermで説明されています。

backgroundオプションの値は、さまざまなハイライトグループのデフォルトカラーを定義するために使用され、Normalハイライトグループを変更するたびにそのオプションが再定義されます。

あなたのカラースキームに次の行を追加し、backgroundの値を強制するには:

set background=dark 

か:

set background=light 

をまた、任意のvimのスクリプトでset t_Co=256のどこに配置する一切理由はありません。

+1

ところで、私は[使いやすいcolorschemeテンプレート](https://gist.github.com/romainl/5cd2f4ec222805f49eca)と書いています。試してみる。 – romainl

関連する問題