2012-07-22 unite で vcs の操作を行えるソース書いた vim 導入 unite で vcs を扱えるソースというと kmnk さんの vim-unite-giti https://github.com/kmnk/vim-unite-giti vim-unite-svn https://github.com/kmnk/vim-unite-svn などが有名。 本題 上記のプラグインはすごく便利だったんだけど、diff が unified 形式だったりするのが個人的に合わなかったので新しく書いた。 vim-unite-vcs https://github.com/hrsh7th/vim-unite-vcs ※ 作成に際して、協力してもらってる人がいたりします。 特徴 git, svn を透過的に扱える(vcscommand 的な位置づけ) unite を使うことを想定しているが、vcs#... な関数を使うことで他のプラグインからも扱える 使い方 概要 何らかの vcs で管理されたファイルを開いた状態で、 ログを見る :Unite vcs/log 作業コピーの変更を一覧する :Unite vcs/status リポジトリのファイル一覧を見る :Unite vcs/file_rec などができます。 vcs/log ログの一覧が出力される 2つのログを選択して、diff を取ることができる 1つのログを選択して、作業コピーとの diff を取ることができる 特定のログで行われた変更を見ることができる(diff_prev) vcs/status ステータスの一覧が出力される 変更のあったファイル、管理されていないファイル、削除されたファイル、等 add, delete, commit, revert ができる vcs/file_rec リポジトリのファイル一覧が出力される ステータスも一緒に表示される。変更があるファイルだったら M など。 ファイルを選択して vcs/log を起動できる などです。 困り事 git がよくわからない 仕事では svn を使っているので、git を使っていて欲しい機能なんかがよくわからない。 そのため、git メインで使ってる方には違和感があるかもしれない。(意見があったらガンガン言ってください。) svn, git で違うコマンドをうまく扱えない svn と git だとコマンド名が違ったり、そもそも git にしかないコマンドがあったりして難しい。 これはある程度しょうがないこととして割り切ろうかと思っている。