Life goes on

何かJavaScriptとかVimとかMacとかに関係してそうな深淵から覗かれる者

neocomplcacheもVer5になってた!

Shougo/neocomplcache · GitHub

毎朝iTermを立ち上げる度にwgetneocomplcacheとvimshellをgithubから落してくるというのが日課の訳ですが、今日も日課をこなしてから、vimを立ち上げたらエラーの嵐でビビった。何ぞこれと思って良く見たらneocomがVer5になったので、関数名が全然違うものになっていたからでした。

github見てみても、導入したのが確かVer2.いくつの時だったんで、ディレクトリ構造とかも全然古いのが.vimの中に残っていたので、これを機に全部整理したらやっとこエラーが出なくなりました。

俺は面倒臭がりなので、いつもhelpにある.vimrcのサンプルをそのまま使わせて頂いていたんですが、snippetで補完しようとすると何だか変な挙動…。

例えば、htmlファイルで

</script>
←ここでstyleと入力して<C-l>
</head>

とすると、なぜか

</scriptstyle

</head>

とかになってしまう。何ぞこれ…。

困ったので色々調べていたのですが、やっと原因が。
:imap をすると(こないだ教えてもらったので、タイムリー!)
.vimrcには以下のように書いてあるんで、

" Plugin key-mappings.
imap <C-l>     <Plug>(neocomplcache_snippets_expand)
smap <C-l>     <Plug>(neocomplcache_snippets_expand)
inoremap <expr><C-g>     neocomplcache#undo_completion()
inoremap <expr><C-l>     neocomplcache#complete_common_string()

neocomplcache_snippets_expandがmapされてるはずなのに、なぜかneocomplcache#complete_common_string()がmapされてます。

なので、取り急ぎ、こっちをコメントアウトしたらちゃんとsnippetが動くようになりました。何かのpluginと干渉してるのかなあ。まあ、ちゃんと動くようになって良かったです。

使用感は以前より格段に速く動作するようになってる…気がします。もうちょっと使い込んでったらキャッシュがさらに良くなると思って使ってます。

もう、このpluginとzencoding.vimskk.vimとsurround.vimが無いと生きていけません。