31

我最初有三个文件:makefilereadme.txthashtable.c在我的目录中,我正在用 emacs 编写代码。我注意到一些新文件:#hashtable.c##readme.txt#hashtable.c~makefile~ 已创建。我想知道这些文件是什么。这些重要吗?如果不重要,我如何告诉emacs停止制作它们?我也很好奇为什么readme.txt没有得到波浪号文件并且makefile没有得到一个清晰的文件。

4

4 回答 4

33

带有 的~文件是保存文件时自动创建的备份文件。#readme.txt是当前正在编辑/正在使用的#文件(即自动保存版本)。当您正常退出 emacs 时,这通常会消失(与~文件不同)(如果它崩溃或被杀死,#文件可能会保留)。

您可能会发现有关emacs 备份文件的页面,以及这个 SO 问题:我如何控制 Emacs 制作备份文件的方式?

您可以使用以下方法阻止创建备份文件:

(setq make-backup-files nil)
于 2012-08-20T03:03:10.423 回答
5

我建议安装no-littering. 它会自动将备份文件 ( file~) 放入~/.emacs.d/var/backup/. 它对自动保存 ( ) 没有任何作用#file#,但有一条关于将这些文件放在 README 中的指定目录中的说明:

(setq auto-save-file-name-transforms
      `((".*" ,(no-littering-expand-var-file-name "auto-save/") t)))

这些东西实际上都没有阻止 Emacs 创建这些文件,但我假设大多数人确实想要这些文件(以防崩溃),但不希望它们散布在文件系统中。

于 2018-09-12T22:51:42.930 回答
1

对于#files#,您必须rm "#file#"从终端执行,因为rm #file#它不起作用。对于 ~file 你可以简单地 digit rm ~file

于 2017-08-15T06:44:19.147 回答
0

也许你可以尝试:

find . -name \\#*\\# | xargs rm

警告:这将删除那些在子目录中匹配的文件。

于 2019-05-15T08:59:17.810 回答