【问题标题】:How to do git commits in Emacs buffers如何在 Emacs 缓冲区中进行 git 提交
【发布时间】:2012-05-24 11:11:15
【问题描述】:

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

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

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

【问题讨论】:

  • 我一直只是使用 vc-git 来完成我的提交。也许你应该试试。

标签: git emacs eshell


【解决方案1】:

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

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

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

【讨论】:

  • 好的,这给了我要搜索的东西。我会玩一会儿。谢谢。
【解决方案2】:

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

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

这是我使用的设置:

(setq same-window-regexps (quote ("\*vc\-.+\*" "\*magit.+\*" "grep" "\*compilation\*\ (\|\)" "\*帮助\*\(\|\)" "\*Shell命令输出\*\(\|\)" "\*dictem.*")))

希望对您有所帮助。

达蒙

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 我非常喜欢这个答案。
    猜你喜欢
    • 2010-12-18
    • 1970-01-01
    • 1970-01-01
    • 2012-08-05
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 2011-08-10
    相关资源
    最近更新 更多