【问题标题】:Emacs inside Emacs: how to exit inner emacs without exiting main oneEmacs 中的 Emacs:如何在不退出 main 的情况下退出内部 emacs
【发布时间】:2016-10-18 08:04:24
【问题描述】:

我正在迁移到 emacs。 我在我的 emacs 中运行一个 zsh 终端,我将我的 git 编辑器设置为emacs -nw。

所以现在我正在我的 emacs 终端上进行 rebase,并且 emacs 编辑器会显示我的提交内容。 我的问题是如何在此终端中实际保存 + 退出 emacs? 就像做 C-x C-c 退出主 emacs(关闭/杀死)一切

我正在慢慢转向 emacs,我不打算使用 magit,所以不要将其视为解决方案。

【问题讨论】:

  • 想要慢慢来并没有错,但是 magit 既不是时间投资,也不是微不足道的学习价值。如果你最终做了更高级的 git 事情(变基等),结果证明是“高级的”只是因为默认 UI 太糟糕了,你会想要一个更好的界面。所以慢慢来,但我的建议是最终实现它,这是值得的。

标签: git emacs


【解决方案1】:

您可以在 git 中将 core.editor 配置为 /usr/bin/emacsclient --alternate-editor /usr/bin/emacs 之类的内容(如果需要,请添加 -nw)。

然后你只需要在你的 emacs 初始化文件中添加这个:

(unless (server-running-p) (server-start)))

在您启动 emacs 时启动 emacs 服务器(除非您正在运行另一个 emacs,否则有经验的 emacs 用户通常不会这样做)

当您执行 git commit 或交互式 rebase 时,将在您的 emacs 中打开一个新缓冲区。您进行了更改并执行C-x #(或您的服务器编辑键绑定),git 将从那里继续。

如果 emacs 尚未运行,--alternate-editor 将接管。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-21
    • 1970-01-01
    • 2011-04-16
    • 2014-02-07
    • 2012-02-22
    • 1970-01-01
    相关资源
    最近更新 更多