I'm moving to emacs.
I am running a zsh terminal in my emacs, and I set up my git editor as
You can configure
core.editor in git to something like
/usr/bin/emacsclient --alternate-editor /usr/bin/emacs (add -nw if you need it).
Then you just need to add to your emacs init file this:
(unless (server-running-p) (server-start)))
to start emacs server when you start emacs (unless you have another emacs running, something experienced emacs user don't usually do)
When you do a git commit or interactive rebase, a new buffer will open in your emacs. You made the changes and do
C-x # (or your keybinding to server-edit) and git will continue from there.
If emacs is not already running, the
--alternate-editor will take over.