我工作的正常方法是为我正在处理的代码提供一个小的eshell缓冲区和一个更大的缓冲区。我使用eshell缓冲区进行编译和简单测试。
如果我想做git提交,当我以这种方式运行时,我总是会打开一个新的Emacs窗口。
如何才能让提交只在当前的Emacs会话中打开一个新缓冲区?
答案 0 :(得分:8)
我的猜测是你的环境变量$ EDITOR被声明为emacs。由于您没有将Emacs作为守护程序运行,因此它会启动它的新实例。要解决此问题,您有两种选择:
配置您的$ EDITOR以使用Emacsclient
使用egg或magit,为Emacs使用Git前端。
鸡蛋有一点手握,因为你可以看到快捷方式,但Magit更积极地开发。
答案 1 :(得分:2)
我喜欢所有编译和git / magit消息出现在触发消息的同一帧中的同一窗口中。
查看vars same-window-regexps和same-window-buffer-names,因为我认为这是你可能正在寻找的。 p>
以下是我使用的设置:
(setq same-window-regexps(quote(“\ * vc \ - 。+ \ *”“\ * magit。+ \ *”“ grep ”“\ * compilation \ * \ (\ |< [0-9] +> \)“”\ *帮助\ * \(\ |< [0-9] +> \)“”\ * Shell命令输出\ * \(\ |< [0-9] +> \)“”\ * dictem。*“)))
希望这有帮助。
戴蒙
答案 2 :(得分:1)
如果你使用Emacs,使用git,但不使用magit,你就是香蕉。香蕉我说!