代码之家  ›  专栏  ›  技术社区  ›  jhchen

如何删除以emacs制作的~made结尾的所有文件

  •  38
  • jhchen  · 技术社区  · 15 年前

    每当我在Emacs上编辑文件时,似乎都会创建一个临时文件,该文件的名称相同,并附加了~符号。有人知道一种快速/简单的方法来删除工作目录中的所有这些文件吗?

    7 回复  |  直到 10 年前
        1
  •  83
  •   ShreevatsaR    15 年前

    虽然这里所有其他的答案都正确地解释了如何删除文件,但您应该了解发生了什么。以~结尾的文件是 备份 文件,由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备份目录列表 .

        2
  •  30
  •   Gareth Rees    14 年前
    find . -name '*~' -exec rm {} \;
    

    编辑: 呵呵...当它工作的时候,我贴出来想 rm *~ 会导致壳插值 ~ 进入用户的主目录。它没有,至少在这台机器上有bash版本——当然是ymmv。

    一些版本的 find 有一个 -delete 选项:

    find . -name '*~' -delete
    
        3
  •  9
  •   Michael Mrozek    15 年前

    你可以

    rm *\~
    

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

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

    other options you can fiddle with

        4
  •  6
  •   Dale Hagglund    15 年前

    从工作目录:

    $ 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的备份文件已经帮我保存了很多次。

        5
  •  5
  •   YOU    15 年前
    rm -rf *~ 
    
        6
  •  4
  •   Rémi    15 年前

    您可以在emacs中打开目录,用 ~ 然后用删除它们 x

        7
  •  3
  •   Sid Sarasvati    10 年前

    在EAMCS定向模式下:

    将此文件标记为删除。

    u删除此行的删除标志。

    删除将点移到上一行并删除该行上的删除标志。

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

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

    ~:标记要删除的所有备份文件(名称以“~”结尾的文件)

    &:用于删除具有特定名称的所有文件的标志,这些名称建议您可以轻松地重新创建文件

    . :标记要删除的多余数字备份文件。任何一个文件中最旧和最新的几个备份文件都是免税的;中间的文件则被标记。

    %d regexp ret:删除名称与正则表达式regexp匹配的所有文件的标志。