git-checkout-here.vim
https://github.com/moznion/git-checkout-here.vim
何をやるプラグインかと言うと,カーソルの現在行が所属する部分 (後述) をgit checkout HEAD
するというプラグインです.
プログラムを書いていると,「ここの部分は残しておきたいけれど,ここの部分はHEADに戻したい」みたいな事がままあって,そういう時はgit checkout --patch HEAD
*1 したり,あるいは手で書き直したり(!)すれば良いわけですが,一回エディタを抜けてgitコマンド叩くのもアレだし,ましてや手で書きなおしたりするとミスを犯す可能性があるので,それだったらエディタ上で処理を完結させたい! というモチベーションに基いて書きました.
内部的にはやはりgit checkout --patch HEAD
を実行していて,上記の「カーソルの現在行が所属している部分」というのは,つまりgit checkout --patch HEAD
した時のパッチレベルのことです.
(従ってこのプラグインでは,git checkout --patch HEAD
よりも細かい粒度でcheckoutする事は不可能です)
(--patch
オプションは普通に使うとコマンドの処理はインタラクティブなモードになるんですが,echo -e "\n\n\y\y" | git checkout --patch
という風に標準入力で渡して使ってやると,非インタラクティブモードでコマンドを実行できるので便利ですね)
まあ,便利なのかどうかイマイチわからない……というか,まあ僕は便利だと思って使っているんですがどんな塩梅でしょうか.
それはそうと今改めてこのプラグインの説明文を読み返しましたがわかりにくいですね! 日本語難しい!