Fel*_*e84 13 git emacs emacsclient magit
我一直在使用Magit,并且在提交时,它曾经简单地拆分窗口并允许我在同一个emacs会话中提交,但我似乎已将此行为更改为以下内容:
现在,当我提交我的分阶段更改时,一个新的emacs客户端启动,需要一段时间才能加载,最后让我写下我的提交消息.然后我运行Cc Cc来提交.当我关闭此客户端时,提交会完成.
如何强制magit在同一个emacs会话中运行提交而不打开一个全新的客户端?

Ant*_*pos 16
这个bug在这里作为github问题被注意到(但没有解决):https://github.com/magit/magit/issues/862
我认为这里的问题是magit调用'emacsclient',默认情况下是/ usr/bin/emacsclient.它需要调用与emacs打包的emacsclient才能正常工作 - 其他emacsclients(来自自制软件,macports等)将不知道如何连接.通常我们大多数人在shell启动脚本中使用别名或环境变量来处理这个问题.但是,当您在shell外部运行emacs.app时,它将看不到这些.通过将此添加到我的init.el,我能够使git-commit-mode正常工作:
(set-variable 'magit-emacsclient-executable "/Applications/Emacs.app/Contents/MacOS/bin/emacsclient")
Run Code Online (Sandbox Code Playgroud)
我使用的是EmacsForMacOSX版本,24.3.这对我有用,希望它也适合你.