特定の状況下で素早くエディタを立ち上げられるgit-jumpというツールを見つけたので紹介します。
git jumpには3つのモードがあります. git jumpの後ろにモードと必要な引数を渡すことで動作します。
1. diffモード
git diffで表示される最初のhunk(diffの塊)を編集します。
また、このdiffは通常のgit diffと同様のオプションなども使えます。
なのでgit jump diff --stagedやgit jump diff commit1 commit2なども使えます。
mergeモード
このモードはgit mergeしてコンフリクトを起こした際にのみ利用できます。
git jump mergeで最初のコンフリクトマーカーに飛びます。ただファイルを開くだけでなく、マーカに飛ぶので、すぐに編集できるところがこのツールの素晴らしい部分です。
コンフリクトを気合で解消する時もこれがあれば少しは楽になりますね!grepモード
通常のgrepと同じように検索条件を指定すると最初に引っかかった部分をエディタで開いてくれます。
git jump grep -i Hogehoge
git jump grep -E "^h.*e"
が有効です。
- インストール方法
- 自分のdotfilesにsubmodulesを使ってhttps://github.com/git/gitを追加する
- .zshrc(.bashrc)にexport PATH=$PATH:path/to/git/contrib/git-jumpを追加する