11

vim の hide 機能を使用する場合set cole=2、vim は cchar で構成されているものに適切なテキストを隠し、Conceal グループを使用して強調表示します。

私の問題は、c/c++ の隠し機能を使用して などの操作&& ||を Unicode ⋀ ⋁ などに置き換え、また html で concel を使用して「ç」などのテキスト エンティティを置き換えることです。「ç」に。

だから私は〜/ .vim/after/syntax/c.vimにあります

hi clear Conceal

そして ~/.vim/after/syntax/html.vim で

hi Conceal cterm=NONE ctermbg=NONE ctermfg=darkblue

問題は、この設定がグローバルであることです。ac ファイルを開いてから html ファイルを開くと、c ファイルに戻ると、最後に開いたバッファーに従って Conceal グループが強調表示されます。

私の質問は: Conceal グループを Conceal とは異なるものに使用するように設定できますか? そうでない場合、現在のバッファに固有のハイライトを作成するにはどうすればよいですか (グローバルではありません) ?

4

1 に答える 1

9

できません。:autocmdsさて、現在のバッファに応じてグループの強調表示を切り替えるように設定できConcealますが、他のタイプの非アクティブな可視バッファではオフのままです。一般に、ハイライト グループはグローバルであり、それが変わる可能性はほとんどありません。

あなたのジレンマを解決するためConcealに、C/C++ を使用するのに十分控えめでありながら、置換された HTML エンティティを表示するために視覚的に区別できる強調表示を 1 つ選択します。私にとって、Conceal強調表示を完全にクリアすることは意図された用途ではありません。目に見えるものは実際にテキストにあるものではないことを常に思い出させるものでなければなりません。

于 2013-02-25T17:31:34.267 に答える