neocomplcacheのsnippetsがとてもいい

neocomplcacheにsnipet機能があるのは知っていたのですが、
設定とかよくわかんなくて
いままで使ってなかったんですが、
lion環境構築中ということもあり
ちょっと試してみました。


感触としては定義も簡単で、かなり使えます。
めっちゃ便利なのに、使ってますっていうブログ記事が少ない気がします。
(他にいいのがあるんでしょうか)


vimに限らずsnippetは、重要だなぁ。

設定

参考URLでは、で設定していますが
tab使いたかったので下記を設定してみました。

imap <expr><TAB> neocomplcache#sources#snippets_complete#expandable() ? "\<Plug>(neocomplcache_snippets_expand)" : pumvisible() ? "\<C-n>" : "\<TAB>"

補足

自動で読み込まれるsnippetsの場所

下記。
neocomplcache/autoload/neocomplcache/sources/snippets_complete

定義例
snippet     des
abbr        describe do
    describe '${1}' do
        ${2}
    end

des 入力後 tabでdescribeのスニペット挿入で、引数を修正。
またtabを押すとblockの中を修正。
というイメージです。

describe '1回目のtabで移動&編集可' do
2回目のtabで移動&編集可
end

とりあえず設定したもの

主にrspec用。
textmateチックに使えます。

$ cat ~/.vim/snippets/ruby.snip
snippet     des
abbr        describe do
    describe '${1}' do
        ${2}
    end

snippet     con
abbr        context do
    context '${1}' do
        ${2}
    end

snippet     bef
abbr        before do
    before do
        ${1}
    end

snippet     it
abbr        it do
    it '${1}' do
        ${2}
    end

snippet     cla
abbr        class end
    class ${1:name}
      ${2}
    end