如何删除以Emacs制作的所有以〜为结尾的文件

时间:2010-04-21 04:48:40

标签: emacs backup

每当我在emacs上编辑文件时,似乎都会创建一个临时文件,其名称与〜相同。有没有人知道删除工作目录中所有这些文件的快捷方式?

7 个答案:

答案 0 :(得分:86)

虽然这里的所有其他答案都正确地解释了如何删除文件,但您应该了解发生了什么。那些以〜结尾的文件是备份文件,由Emacs自动创建。它们有时很有用。如果您对这些文件感到烦恼并希望每次都删除它们,那么您可以

(1)。阻止创建备份文件:

(setq make-backup-files nil)

(2)。它将备份文件保存在其他目录中,除非您去寻找它们,否则它们不会打扰您。我的.emacs中有以下内容:

(setq backup-directory-alist '(("." . "~/.emacs.d/backup"))
  backup-by-copying t    ; Don't delink hardlinks
  version-control t      ; Use version numbers on backups
  delete-old-versions t  ; Automatically delete excess backups
  kept-new-versions 20   ; how many of the newest versions to keep
  kept-old-versions 5    ; and how many of the old
  )

(只有第一行至关重要。)要查看有关backup-directory-alist的文档,请键入 C-h v backup-directory-alist

答案 1 :(得分:30)

find . -name '*~' -exec rm {} \;

编辑:嗯...虽然这有效,我发布它认为rm *~会导致shell将~插入到用户的主目录中。它至少与这台机器上的bash版本无关 - 当然是YMMV。

find的某些版本有-delete选项:

find . -name '*~' -delete

答案 2 :(得分:9)

你可以

rm *\~

更有用的是,您可以更改emacs备份目录,以便将所有这些文件存储在公共位置,方法是将其添加到.emacs中:

'(backup-directory-alist (quote (("." . "/common/backup/path"))))

other options you can fiddle with

答案 3 :(得分:6)

从工作目录:

$ rm *~

来自世界各地:

$ cd; find . -name '*~' | xargs rm -f

在emacs中,使用dired

C-x C-f . RET ~ x y e s RET

您可以通过在〜/ .emacs

中添加以下行来永久禁止创建备份文件
(setq make-backup-files nil)

我不推荐这最后一个,因为emacs的备份文件多年来为我节省了很多次。

答案 4 :(得分:5)

rm -rf *~ 

答案 5 :(得分:4)

您可以在emacs中打开目录,使用~标记所有备份文件,然后使用x删除它们

答案 6 :(得分:3)

在eamcs dired模式中:

d标记此文件以进行删除。

u删除此行上的删除标记。

DEL将点移动到上一行并删除该行上的删除标记。

x删除标记为删除的文件。

#:标记所有自动保存文件(名称以“#'”开头和结尾的文件)进行删除

〜:标记所有备份文件(名称以“〜'”结尾的文件)进行删除

&安培; :标记删除具有某些名称的所有文件,建议您可以轻松再次创建文件的名称

。 :标记多余的数字备份文件以进行删除。任何一个文件中最旧和最新的几个备份文件都是免除的;中间人被标记。

%d regexp RET:标记用于删除名称与正则表达式regexp匹配的所有文件。