やってみました:
% EDITOR=emacsclient git add -e <files>
次に、実行中の emacs で diff-mode コマンドを使用して、パッチのハンクを対話的に編集しますか?
次に、パッチ内の特定の行でハンクを分割しdiff-split-hunk
たり、ハンクを完全に削除したりdiff-hunk-kill
できます (もちろん、これらのコマンドは、インタラクティブにすばやく使用できるように短いキー シーケンスにバインドされています)。パッチの編集が完了したら、 を使用C-x #
して保存し、emacsclient セッションを終了します (これにより、シェルに戻ることができます)。
(emacsclient に慣れていない場合は、既に実行中の emacs でファイルを開くことができるプログラムです。ただし、emacsclient が emacsclient の接続先サーバーを起動している場合に限ります。 を参照してくださいM-x describe-function server-start
)
emacsclient が git とやり取りする方法を少しカスタマイズしたい場合があることに注意してください。たとえば、次の回答を参照してください: Using ediff as git mergetoolおよびHow to set the exit status for emacsclient。