我最初在我的目录中有三个文件:makefile
,readme.txt
和hashtable.c
,我在emacs中编写代码。我注意到已创建了一些新文件:#hashtable.c#
,#readme.txt#
,hashtable.c~
和makefile~
。我想知道这些文件是什么。这些是否重要,如果没有,我如何告诉emacs停止制作它们?我也很好奇为什么readme.txt
没有得到波浪文件而makefile
没有得到一个清晰的文件。
答案 0 :(得分:23)
包含~
的文件是保存文件时自动创建的备份文件。 #
readme.txt #
是当前正在编辑/使用的文件(即自动保存版本)。当你正常退出emacs时,它通常会消失(与~
文件不同)(如果它崩溃或被杀死,#文件可能会留在那里)。
您可能会发现有关emacs backup files感兴趣的此页面,以及此问题:How do I control how Emacs makes backup files?
您可以使用以下方法阻止创建备份文件:
(setq make-backup-files nil)
答案 1 :(得分:2)
对于#files#,您必须从终端rm "#file#"
进行操作,因为rm #file#
无法正常工作。
对于~file,您只需数字rm ~file
。
答案 2 :(得分:1)
我建议安装no-littering
。它将自动将备份文件(file~
)放入~/.emacs.d/var/backup/
中。它对自动保存(#file#
并没有任何作用,但是有一些关于将这些文件放在自述文件中指定目录中的说明:
(setq auto-save-file-name-transforms
`((".*" ,(no-littering-expand-var-file-name "auto-save/") t)))
这一切都不会阻止Emacs创建这些文件,但是我假设大多数人实际上都想要这些文件(以防万一发生崩溃),但又不希望它们散布在整个文件系统中。
答案 3 :(得分:0)
也许您可以尝试:
find . -name \\#*\\# | xargs rm
警告:这将删除子目录中匹配的那些文件。