Hatena::ブログ(Diary)

C++でゲームプログラミング

2014-08-20

[]neosnippet.vim のマーカーを常に表示させる

この間の Vimプラグイン読書会で話に出ていたので覚書。

さて、neosnippet.vim のマーカー(カーソルのジャンプ先)は syntax の conceal によって制御されています。

conceal を使用することでユーザ側が表示・非表示の制御を 'conceallevel' にて行うことができます。


" マーカー(conceal)を非表示にする
set conceallevel=3

[問題]

conceal が neosnippet.vim だけで使用されているのであれば問題ないのですが、他のプラグインでも使用されている場合に問題が出てきます。

例えば indetLine でも使用されており、このプラグインの性質上 conceal を非表示にして使用する必要があります。

そうすると neosnippet.vim のマーカーも非表示になってしまい、しばしば不便になります。


[解決]

常に表示させたいのであれば conceal を設定している syntax ごと無効にするのがよさそうです。


" 削除する適当なタイミングが思いつかなかったので…
autocmd InsertLeave * syntax clear neosnippetConcealExpandSnippets

これで conceal が設定されている neosnippet.vim の syntax が削除され常に表示されるようになります。