Vimperatorのプラグインをアップデートするいくつかの方法
git/svnでCodeReposのリポジトリを持ってきて、必要なものだけシンボリックリンクを貼る
VimperatorのプラグインをCodereposからアップデートするPerlスクリプト - Humanityのブコメでid:sendさんに教えてもらった。
自分はgithubで管理してるので、シンボリックリンクとして記録されたくない。
その場合はコピーする時にシンボリックリンクを解決するか
シンボリックリンクをやめてハードリンクにする。
git/svnでCodeReposのリポジトリを持ってきて、pluginLoader.jsを使う
シンボリックリンクが使えない環境とか使いたくない場合では便利そう。
自分はLinuxとWindows(cygwin)を両方使うのでこれを使うかもしれない。
git/svnでCodeReposのリポジトリを持ってきて、runtimepathに加える
詳しくは:help 'runtimepath'に書いてあるけど
set runtimepath+=~/.myvimperator
のようにすれば~/.vimperatorに加えて~/.myvimperatorも読み込まれる。
pluginManager.jsでアップデートする
以下を.vimperatorrcに書いておくと自動的にアップデートされる。
autocmd VimperatorEnter .* pluginmanager update
...はず。
中には「unknown version」とか出てるものもあるので実際はアップデートされてるのかはよく分からない。
ずっとこれを使っていたんだけど、ちょっと前のバージョンではこれが動かなくなっていて困っていた。
でもまぁ最新では普通に動いてました。ちゃんとアップデートはするべき、というかそのためのエントリだけど。
glvpを使う
glvpとは何か。それはGet Latest Vimperator Pluginの略である。
昨晩pluginLoader.jsの存在を知らずに、あるいはpluginManager.jsが既に正常に動いてることを知らずに
タカをくくって書き始めたものの、gitで管理もせずに書き始めたせいか色々ハマった。
あと無駄にコアじゃないモジュールを使わないように作ってたり。*1
$ ./glvp
でプラグインのアップデートができます。-vオプションなんかつけるとさらに詳細なメッセージが見られます。
$ ./glvp -h
でヘルプが見られるので参考にしてください。
追記:
あとそういえば前こんなのを書いて、このコードパクれば余裕だろと思ってたのもあります。
実際前のコードとやること変わりません。
.vimeratorディレクトリを指定せずに済むので微妙に快適になったという程度。
多分やりそうにないTODO
- ~/.glvp/以下にHTMLをキャッシュして、指定時間内はキャッシュを参照する
- ~/.glvp/revision/以下にそれぞれのプラグインのリビジョンを保存して古かったらアップデート
詳しくはコードに書いてある。
Windowsとかだったら~/.glvpは現在のフォルダでいいのかな。
それとも%APPDATA%?いまいち勝手が分からない。
というか
これだけ方法あるのになんで気づかなかったのか、正直分からない。