8

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

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

我如何才能在当前 Emacs 会话中简单地打开一个新缓冲区?

4

3 回答 3

8

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

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

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

于 2012-05-16T20:35:31.980 回答
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.*")))

希望这会有所帮助。

达蒙

于 2013-01-10T23:43:00.160 回答
0

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

于 2012-05-17T07:44:46.263 回答