编写日志条目时防止GNU Emacs退出

问题描述 投票:0回答:1

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

不幸的是,如果我没有打开shell会话并保存了我的文件,但我正在编写一个精彩的,但也许并不完全精简的git日志消息(在*vc-log*缓冲区中),这不会阻止我退出一下子,无助,猛扑 - 因此失去了选秀权,这显然不会在我能找到的任何地方自动保存。

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

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

我考虑过的其他方法(看起来不太理想):

  • 以某种方式说服相关的Emacs退出钩子在退出之前总是提示,即使没有shell会话也没有修改过,文件支持的缓冲区
  • 使用一个新的Emacs会话,由(例如)git commit自动调用(没有-m选项并假设环境中有GIT_EDITOR=emacs),因此文件支持的COMMIT_EDITMSG缓冲区用于组成提交消息 - 这会阻止新的Emacs会话在没有提示的情况下退出并避免意外退出原始Emacs会话(通常“胖”,有许多缓冲区和其他上下文)
  • 使用git commit -m ...作为单行提交消息
  • 始终保持shell会话打开(在Emacs中),因此退出始终首先提示

有什么建议?

git svn emacs mercurial
1个回答
1
投票

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

允许您设置确认提示。

© www.soinside.com 2019 - 2024. All rights reserved.