neocomplcacheでスニペット補完

かな〜り更新が滞っている。。。
そろそろ書きたいなぁ〜と思いつつ日々が過ぎていました・・・。
最近は、MacVim一本でExtJSのコーディングしたりRailsの勉強したりしていますが、
やっとvimにも馴れてきたかな。と実感している今日この頃です。

前の日記で、neocomplcacheのスニペット補完よりsnipMateの方が使いやすかったと書きましたが、そのときに作者様より、「neocomplcacheではプレースホルダの中にプレースホルダが定義できる」とコメントを頂いたので、neocomplcacheでスニペット補完を試しました。

vimrcの設定

まずvimrcの設定で、スニペット展開のキーマッピングとスニペットファイルの配置場所を定義します。

“g:NeoComplCache_SnippetsDir”ではスニペットファイルの配置場所を指定し、自分で定義したスニペットファイルはこのフォルダに置いています。また、”g:NeoComplCache_SnippetsDir”を定義している場合、標準のものよりこちらのスニペットファイルを優先するそうです。詳しくはヘルプに載っていたのでそちらを参照下さい。

キーマッピングの設定では、”neocomplcache#plugin#snippets_complete#expandable()”と”neocomplcache_snippets_expand”を使ってsnipMateの様にTABキーでスニペットが展開できるようにしています。

便利なコマンド

NeoComplCacheEditSnippets

スニペットファイルを編集するときに使うコマンドです。引数にファイルタイプを指定すると、それに対応するスニペットファイルが表示されます。指定しない場合は、編集中のファイルのファイルタイプに対応するスニペットファイルが表示されます。

このコマンドの便利なところは、編集したスニペットファイルが再ロードされるので、変更した定義がすぐ反映されるところです。
私は、NeoComplCacheEditSnippetsと打つのが面倒だったので、”Nes”で開くようにしました。

NeoComplCachePrintSnippets

編集中のファイルタイプで使用できるスニペットのキーワードが表示できます。キーワードはneocomplcacheが自動的に補完リストを表示してくれますが、自分の意図しないスニペットが展開されたときはこのコマンドを使って変な定義がされていないか確認しています。

所感

snipMateよりneocomplcacheの方が、簡単にスニペットの編集ができますし、snipMateでできなかったプレースホルダの中へのプレースホルダの定義もできたりと使いやすいです。
ってことで、今はneocomplcache一本で満足です。