vim-unite-vcs を vim-versions に改名した

導入

以前、vim-unite-vcs という vim plugin を作った。 このプラグインは何ができるのかというと、

  • unite.vim のインターフェースを利用する
  • git/svn の status を閲覧できる
    • status に大して revert とかリポジトリとの diff とかを出せる
    • コミットもできるよ!
  • git/svn の log を閲覧できる
    • 特定の log と、ワーキングツリーの diff とかを出せる

というもの。ただ何点か問題があって、

  • コードが汚い(というか汎用性が少なかった)ので修正しづらくなってきていた
  • 既にある有名なプラグインと名前がバッティングしていた(致命傷)

という感じ。 これを改善して新しくリリースしたのが vim-versions というプラグイン。

本題

使ってほしい!ということで、vim-versions の使い方を紹介する。

vim-vcs とも共存できるようになったので、とりあえず使ってみてください!

マッピング

以前は unite.vim のマッピングを直接書いてもらっていたが、今回から変更された。

nnoremap <Leader>uvs :<C-u>UniteVersions status:!
nnoremap <Leader>uvl :<C-u>UniteVersions log:%

上記のように書いておくと、ステータスとログがみれる。

アクション

unite.vim におけるアクションも変更された。

  • svn

    • status

      • add
      • delete
      • commit
      • revert
      • resolved
      • diff
    • log

      • changeset
      • diff
      • diff_prev
    • changeset

      • diff
      • diff_prev
  • git

    • status

      • add
      • rm
      • rm_cached
      • rm_force
      • checkout
      • reset
      • reset_soft
      • reset_hard
      • commit
      • diff
    • log

      • changeset
      • diff
      • diff_prev
      • reset
      • reset_soft
      • reset_hard
    • changeset

      • diff
      • diff_prev

という感じ。 git に関しては reflog も出せるようにしたい。

終わりに

とりあえず作って出すというのが自分のやり方なので、まだまだ甘い点もある。 でも、vimvcs との連携はもっともっと便利になっていくべきだと考えているし、 自分にとってもこれからずっと使っていくプラグインになると思うので、がんばって改良していきたい。

要望があればぜひ!

追記

とある人のとある場所での発言によって糞マッピング書いてしまってるのに気づいた。。。 修正!