ブログ書くぞと意気込んでブログを初めてからしばらくして、ブログ書くぞ!と意気込んだ記事を書いてから書かずに早4日が経過。やっと書く。
初めてのvim pluginというわけで、vital.vimの便利機能を使ってみようと思ってvital.vimを組み込むことにチャレンジしてみた。
vitalって?
https://github.com/vim-jp/vital.vim
こやつ。
vim pluginを作るのを便利にするためにvim pluginに組み込むvim plugin。
こいつを使いたかったが、組み込み方(専門用語で「vitalizeする」方法)がわからなくて10分ほど苦戦したのでメモる。
githubの説明見て困る
そもそもvitalizeの説明がなかった。仕方ないのでぐぐる。
古い記事に引っかかる
http://d.hatena.ne.jp/thinca/20110310/1299768323
これを読んで、とりあえずgit clone
して、ruby vitalizer.rb
しようと思ったが、vitalizer.rbとかない!
困った。
(ちゃんとググっていればこの記事が見つかりました。→vital.vim 近況)
vimのことはvimに聞く
困ったら大体のことはhelpに書いてあるのを思い出したので、とりあえずhelpを見直す。
すると、:Vitalizeというコマンドがあるじゃないですか。これでやるらしい。
とはいえvital.vimがなきゃvitalizeできない。というわけで入れる。
NeoBundle 'vital.vim'
を.vimrcに書き足して、NeoBundleInstall
する。
と、エラーが出る!
Error generating helptags: Vim(helptags):E670: Mix of help file encodings within a language:.vim/bundle//.neobundle/doc/changes-v0.3.ja.txt
なんぞや。このへん(↓)見るとmacvim特有の問題かもしれない。今vimをmvim -vにaliasしているからな・・・。
仕方ないので~/.vim/bundleでgit cloneし直す。
これでhelpはないけどとりあえず使える。
let's Vitalize!!
これでやっと:Vitalizeできる!!
vimを開いて、:Vitalize /path/to/plugin
するだけ!
これでディレクトリにautoloadディレクトリが作られ、そこにvitalディレクトリやvital.vimが作られる。素晴らしい。
使う
使うときは変数にvitalを格納してやるみたいですね。
s:Vとかに入れてやりましょう。
let s:V = vital#of('plugin name')
plugin nameは、Vitalizeしたpluginが入ってるディレクトリの名前みたいです。
いよいよvitalが使えると思ってsourceで開発中のプラグインを読み込んでみると、エラー!
Error detected while processing function vital#of: line 4: E605: Exception not caught: vital: version file not found: testtest
なんぞや。
しかし、ふと気付く。autoloadに入っているからって勝手に読み込まれやしないだろう。runtimepathに入ってないんじゃないかと。
適当なディレクトリで開発していたからruntimepathに入っていなくて読み込まれていなったのが問題だった。
runtimepathが通ったところに後で移すとして、とりあえず試すならsetl runtimepath+=.
でいけるはず。
試してみる。
いけた!
というわけでまとめ。