スキップしてメイン コンテンツに移動

投稿

ラベル(github)が付いた投稿を表示しています

git を操作したい時にちょっと便利かもしれない unite-source を書いています

こんばんは。この記事は、 Vim Advent Calendar 2012 の 50日目の記事です。 49日目は、 @uryt さんの vim.orgにアップロードされていないプラグインがあるかチェックするgit-unreleased-vimplugins作った でした。 本日は、長いこと自前で作成している、 unite を利用して 簡単な git 操作を行える unite-source 、 giti を紹介します。 vim-unite-giti https://github.com/kmnk/vim-unite-giti これは何? 初期構想としては、自分の自分による自分のための git 操作用 unite source です。 現在はドキュメントも書いたので、自分以外の方にも、お使いいただける物になっていると思います。 言わずと知れた unite のインターフェースを用いて、 git の色々な操作を実現するための plugin's plugin になります。 unite を使って git 操作をしたい気持ちになる方に、是非使ってみて頂きたいです。 普段の仕事でヘビーに使っているので、基本的な操作に関しては、この source で(多分)完結できるはずです。 何故作ったの? git の vim plugin と言えば、有名な vim-fugitive があります。 自分も、仕事で使うバージョン管理システムが svn から git に移行したタイミングで、最初は使おうとしていました。 ですが、長らく(こちらも自前の) vim-unite-svn で、バージョン管理システムを unite 経由で使うことに慣れきってしまっており、 差分をコミットするごとにフラストレーションが溜まり、限界を超えた頃、気づくと自前で作成していました。 何ができるの? (自分が仕事を使ってる分には不自由しない程度に)基本的な操作は大体出来ます。 source 名を羅列すると、以下のような物を用意してあります。 * giti/branch, giti/branch_all * giti/config * giti/log * giti/remote * giti/status それぞれ、簡単に説明してみます。 giti/branch, giti/branch_all git br...

git status と git branch ができる unite の source 書いた

書きました。 https://github.com/kmnk/vim-unite-giti すでに有りそうな気もするんですが、今のところ知らないのと、 http://kmnk.blogspot.com/2011/02/unitesvn-statussvn-diffsource.html で書くといって既に一年経っているのとで自分で書いてみました。 まだ仕事でがっつり使っていないので、バグや動作不全などあるかもしれません。 昔作った svn と違って何故か vim-unite-git じゃなくて giti なのは、日和っただけで深い意味は無いです。 インストール方法は割愛します。unite.vim 使っている方なら余裕なはずという想定で… 作ったsourceの名前は以下。 giti/status giti/branch 追記(02/29): READMEには追加しているんですが、sourceをいくつか追加しました。以後は README.markdown を参照してください。 giti giti/log giti/config  追記ここまで(02/29) それぞれ、独自 kind を定義していて、以下のactionを持っています。 giti/status add $ git add $FILES rm_cached $ git rm --cached -- $FILES reset $ git reset HEAD $FILES commit $ git commit $FILES amend ←動作が怪しい $ git commit --amend $FILES checkout $ git checkout -- $FILES diff $ git diff $FILES diff_cached $ git diff --cached $FILES git/branch run $ git checkout $BRANCH_NAME or git checkout -b $NEW_BRANCH_NAME delete $ git branch -d $BRANCH_NAME その他、以下の関数を用意しています。key map などして使えるかもしれないです。 giti#branch#delete_force(branch) $ git branch -D...

コマンド3発で割と最近のvim環境が構築できるパッケージを作ってみた

社内でuniteを布教しようとするも、vimscriptはインストールが面倒くさいと、なかなか広まらないので、makeコマンドを打てば勝手に環境を構築してくれるパッケージを作りました。 https://github.com/kmnk/vimrc-builder Shougoさん作の neobundle.vim を使わせて頂いて、もりもり僕が割と良く使う vim plugin をインストールして、とりあえず使えるようにします。 $ git clone git://github.com/kmnk/vimrc-builder.git $ cd vimrc-builder $ make mapleader を Space にしていて、unite 関連のkeymapは基本的に Leader × 2 を始動にしているので、大体はスペース2連の後何がしかを打つと unite の何かが動くようにしています。 https://github.com/kmnk/vimrc-builder/blob/master/vim/profiles/unite.vim これを基にして、社内環境に合わせてカスタマイズした物を社内リポジトリにアップしてみようかと目論んでいますが、使われるかなぁ。。 精神に余裕のあるときにデフォルトで入れているキーマップを書きます。