0

每当我不小心手指变胖时C-x C-c(或Cmd-Q在 Mac 上),GNU Emacs 会立即退出,除非 shell 打开或由文件支持的缓冲区被修改——在这种情况下,它会提示如何继续。

不幸的是,如果我没有打开任何 shell 会话并保存了我的文件,但是我正在编写一个出色但可能并不完全简洁的 git log 消息(在*vc-log*缓冲区中),那不会阻止我退出一个掉了下来,没有及时,猛扑——因此丢失了那个草稿,显然它没有在我能找到的任何地方自动保存。

解决这个问题的最佳方法是什么?我认为最好是*vc-log*,以及任何其他提供不受传统文件(例如提交/签入消息或电子邮件)支持的“即时”组合的此类缓冲区,但仍由“待定草案”支持“ 文件。这不仅有助于避免意外退出 Emacs,而且允许在 Emacs(或计算机本身)崩溃时恢复这样的草稿。

如果这是一种合理的方法,应该如何实施?

我考虑过的其他方法(似乎不太理想):

  • 以某种方式说服相关的 Emacs 退出挂钩在退出之前始终提示,即使没有 shell 会话也没有修改的、文件支持的缓冲区
  • 使用一个新的 Emacs 会话,由 (eg) 自动调用(git commit没有选项并且在环境中-m假设),因此文件支持的缓冲区用于编写提交消息——这可以防止新的 Emacs 会话在没有提示避免意外退出原始 Emacs 会话(通常“更胖”,有许多缓冲区和其他上下文)GIT_EDITOR=emacsCOMMIT_EDITMSG
  • 用于git commit -m ...单行提交消息
  • 始终保持 shell 会话打开(在 Emacs 中),所以退出总是首先提示

有什么建议吗?

4

1 回答 1

1

M-x customize-option RET confirm-kill-emacs RET

允许您设置确认提示。

于 2018-09-02T08:38:25.187 回答