如何在Emacs缓冲区中执行git提交

时间:2012-05-16 20:25:58

标签: git emacs eshell

我工作的正常方法是为我正在处理的代码提供一个小的eshell缓冲区和一个更大的缓冲区。我使用eshell缓冲区进行编译和简单测试。

如果我想做git提交,当我以这种方式运行时,我总是会打开一个新的Emacs窗口。

如何才能让提交只在当前的Emacs会话中打开一个新缓冲区?

3 个答案:

答案 0 :(得分:8)

我的猜测是你的环境变量$ EDITOR被声明为emacs。由于您没有将Emacs作为守护程序运行,因此它会启动它的新实例。要解决此问题,您有两种选择:

  1. 配置您的$ EDITOR以使用Emacsclient

  2. 使用eggmagit,为Emacs使用Git前端。
    鸡蛋有一点手握,因为你可以看到快捷方式,但Magit更积极地开发。

答案 1 :(得分:2)

我喜欢所有编译和git / magit消息出现在触发消息的同一帧中的同一窗口中。

查看vars same-window-regexps和same-window-buffer-names,因为我认为这是你可能正在寻找的。

以下是我使用的设置:

(setq same-window-regexps(quote(“\ * vc \ - 。+ \ *”“\ * magit。+ \ *”“ grep ”“\ * compilation \ * \ (\ |< [0-9] +> \)“”\ *帮助\ * \(\ |< [0-9] +> \)“”\ * Shell命令输出\ * \(\ |< [0-9] +> \)“”\ * dictem。*“)))

希望这有帮助。

戴蒙

答案 2 :(得分:1)

如果你使用Emacs,使用git,但不使用magit,你就是香蕉。香蕉我说!