2013-02-25 184 views
9

當使用vim的隱藏功能set cole=2時,vim會隱藏適當的文本,以便在cchar中配置任何內容,並使用隱藏組突出顯示它。Vim隱藏突出顯示

我的問題是,我用的是隱藏在功能的C/C++,以取代操作,如&&||等對Unicode⋀⋁等,我也用concel在HTML替換文本的東西,例如「& ccedil;」到「ç」。

所以我在〜/的.vim /後/語法/ c.vim

hi clear Conceal 

,並在〜/的.vim /後/語法/ html.vim

hi Conceal cterm=NONE ctermbg=NONE ctermfg=darkblue 

問題這個設置是全球性的。如果我打開一個c文件,然後打開一個html文件,當我回到c文件時,按照最後打開的緩衝區突出顯示隱藏組。

我的問題是:我可以設置隱藏組以用於不同於隱藏的內容嗎?如果不是,我怎樣才能使當前緩衝區(而不是全局)的特定高亮?

回答

7

你不行。那麼,您可以設置:autocmds來切換Conceal組的高亮顯示,具體取決於當前緩衝區,但對於其他類型的非活動可見緩衝區仍然是關閉的。一般來說,重點羣體是全球性的,而且不太可能發生變化。

爲了解決您的困境,我會選擇一個突出顯示Conceal的圖標,它對於C/C++的使用來說既不顯眼,又可以在視覺上不同以顯示被替換的HTML實體。對我而言,徹底清除突出顯示不是預期用途;它應該總是作爲提示,你看到的是而不是文中實際是什麼。

+0

哦,好吧,太糟糕了。不管怎樣,謝謝你。 – Akobold 2013-02-25 17:44:18