読者です 読者をやめる 読者になる 読者になる

愛と勇気と缶ビール

ふしぎとぼくらはなにをしたらよいか

Vimのplugin管理ツールつくった

Vim Perl Linux

いつかやろうやろう、と思いつつ、.vim以下の整理がなかなかできていなかった。なので、整理しようと思ったんだけど、どうせこういったパッケージ的なものを整理するなら何らかのパッケージマネージャで一元的にinstall/remove/upgradeしたいと思うのが人情。

Vimのplugin管理ツールといえば少し前からVimanaというツールがあって、これはとても便利なツールなのだけれど、ソースの中に固定値で"3000"とか書かれていてそれをvim.orgの検索のパラメータにしているために新しめのplugin(current_func_info.vimとか)が検索してもひっかからないとか微妙に使いにくいところがあった。

そこで、せっかくgithubにvim.orgのplugin群もミラーされたことだし、githubをリモートリポジトリとしてsearch/installしちまえばめんどくさいファイル群のパースとかしなくていいんじゃね?最新のpluginを追うのもgit pullすればいいし超楽じゃね?と思って作った。

http://github.com/zentooo/Viyond

Viyondとかいう変な名前のツールには以下のような機能がある。

  • viyond search - githubのAPIを使って、vimのplugin(正確にはgithubによってrepositoryの主言語が"VimL"と判断されているもの)を検索。検索した結果から、数字を指定してインストール(ここだけArchのyaourt風)
  • viyond upgrade - pluginのスムーズなupgrade(中身はgit pull + ファイルコピー)
  • viyond list 現在インストールしている全pluginのリスティング
  • viyond remove hoge - 指定したpluginのアンインストール
  • viyond files hoge - 指定したpluginにまつわるファイルたちの表示
  • viyond desc hoge - 指定したpluginの情報表示

などなど。読めば分かると思うがgitに思い切り依存しているので、gitコマンドにpathが通ったシステムでないと動かない。

逆に、できないことは

  • github以外からのvim pluginのインストール
  • pathogen + git submodule による管理との共存
  • 名前を指定したinstall(githubでは、リポジトリの名前でリポジトリが一意に定まらない)
  • *nix系OS以外の環境で動かす(多分)

などなど。


自分にとって使いやすい範囲で、実装が面倒でなく、かつ必要だと思われる機能しかのせていない。結果として、githubから検索してインストールして管理する、という一つのことだけをするツールになった。あまりフレキシブルな機能はないとりあえずの実装。そのうち、joltがこれら全てのツールを置き換える全能の存在として君臨してくれるに違いない。


検索してるとこ

インストールしたpluginをlistしてるとこ


使用は自己責任でどうぞ。