如何在正常退出时自动删除auto-save文件?

为了安全我在emacs中没有关闭auto-save产生的文件(即形如 #init.el# 的文件)。

平时正常保存之后,emacs会自动删除这个文件。但是如果我直接kill-buffer或者C-x C-c退出,emacs会询问我是否保存,如果我选择了no,那么这个文件就不会被删除。

那么有办法在这种情况下自动删除这个文件吗?

查了delete-auto-save-files这个变量看到这个

Documentation

Non-nil means delete auto-save file when a buffer is saved or killed.

Note that the auto-save file will not be deleted if the buffer is killed when it has unsaved changes.

推荐老王的auto-save,省去很多烦恼

emacs自带了一个 auto-save-visited-mode

这个功能和 undotree 有重复,尤其是考虑到 undotree 支持跨 session 恢复,按说是可以完全替代了。可惜 emacs 下的 undotree 插件有 bug,出错几率挺高。

一个可选的方案是:把 autosave 的临时文件统一放到一个文件夹里,眼不见心不烦。