ダメ人間オンライン

あまり信用しないほうがいい技術メモとか備忘録とかその他雑記

unite.vimのsourceをファイルに分けて作ろうとしたらハマった件

unite.vimのsourceを.vimrcにベタで書いていたりするんですがある程度汎用的に使えそうなのは別ファイルとして書きだしておこうとやってみました。

autoload/unite/sources/の下に*.vimという感じで置いておけば読み込んでくれるとのことだったのですが、結論から言うと.vimrcに書いてたものをそのまままるっとファイルに出してもエラーが出てうまく読んでくれなかった。

vim力が高まらなかったので中々なんでエラーになってるかわからなかったのですが、

Vim-users.jp » Hack #197: unite.vim の source を作成する

によるとautoload/unite/sources/下に置く場合はunite#define_sourceで定義するのではなく

function! unite#sources#hoge#define()
  return s:unite_source
endfunction

ってしないとダメみたい。ただこれでもうまくいかず結局unlet s:unite_sourceを消したらちゃんと動くようになった。

必要なくなったs:unite_sourceはunletしとくみたいな記述をよく目にしていたのですが、autoload/unite/sources/下に置く場合はunletせずに残しておかないといけないのかな。

vim力が高まらなくunite自体のソースを理解できていないので死ぬほどハマってしまったorz