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

その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

git-checkout-here.vimというプラグインを書いた

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という風に標準入力で渡して使ってやると,非インタラクティブモードでコマンドを実行できるので便利ですね)


まあ,便利なのかどうかイマイチわからない……というか,まあ僕は便利だと思って使っているんですがどんな塩梅でしょうか.


それはそうと今改めてこのプラグインの説明文を読み返しましたがわかりにくいですね! 日本語難しい!