如何删除以';开头和结尾的临时文件#';关闭时由Emacs创建?

如何删除以';开头和结尾的临时文件#';关闭时由Emacs创建?,emacs,backup,kill-process,Emacs,Backup,Kill Process,当Emacs在存在修改过的缓冲区的情况下关闭时,它会在其父目录中为每个修改过的缓冲区(刮擦除外)创建一个格式为“#file_name#”的文件,以便进行恢复 当下次打开Emacs时使用recover file命令时,将恢复先前修改的文件缓冲区。即使如此,文件名也不会自动删除 如果在关闭前手动杀死所有缓冲区,则不会发生这种情况。这有点乏味,因为您必须使用命令kill some buffer或kill matching buffer,并对每个提示逐一说“yes” 有没有更简单的方法来克服这个问题?最

当Emacs在存在修改过的缓冲区的情况下关闭时,它会在其父目录中为每个修改过的缓冲区(刮擦除外)创建一个格式为“#file_name#”的文件,以便进行恢复

当下次打开Emacs时使用recover file命令时,将恢复先前修改的文件缓冲区。即使如此,文件名也不会自动删除

如果在关闭前手动杀死所有缓冲区,则不会发生这种情况。这有点乏味,因为您必须使用命令kill some buffer或kill matching buffer,并对每个提示逐一说“yes”

有没有更简单的方法来克服这个问题?最好能为以下一个或多个问题提供解决方案

  • 关闭时防止Emacs为修改的缓冲区创建恢复文件

  • 一个简单的命令,在不提示保存的情况下强制杀死所有缓冲区

  • 将恢复文件重新路由到其他位置(如~/.emacs.d/)的设置


(版本:Ubuntu-12.04/OS-X-10.9上的Emacs-24)

通过在
init.el
文件中添加以下行,您将禁用自动保存功能,不再生成这些文件

(setq auto-save-default nil)
但是您可能需要这些文件,这样您就可以使用我从上面借用的代码

这将导致所有备份文件都将转到操作系统上的临时文件夹。查看emacswiki链接,了解有关此功能的更多操作

更多关于这个


这些文件称为“自动保存”文件。在Emacs手册中查找相应的文档:
C-h i
后接
m Emacs RET
后接
i自动保存模式RET
。已解决!正是我需要的。它甚至解决了我的另一个问题,那就是到处都是“~”文件。只需进行一次编辑以匹配我的问题:将临时文件目录替换为“~/.emacs.d/backup/”。
(setq backup-directory-alist
      `((".*" . ,temporary-file-directory)))
(setq auto-save-file-name-transforms
      `((".*" ,temporary-file-directory t)))