【问题标题】:How to remove all files ending with ~ made by Emacs如何删除 Emacs 制作的所有以 ~ 结尾的文件
【发布时间】:2010-04-21 04:48:39
【问题描述】:

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

【问题讨论】:

  • 如果您使用 git,为什么不将它们添加到您的 .gitignore 文件中?我认为您也可以在其他 VCS 中进行类似操作。

标签: emacs backup


【解决方案1】:

虽然此处所有其他答案都正确解释了如何删除文件,但您应该了解发生了什么。那些以 ~ 结尾的文件是 backup 文件,由 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。

【讨论】:

  • 上述命令应该如何输入? shell 和 Meta-x 似乎都不适合我......
  • @OcastaEshu:这应该放在你的.emacs 配置文件中。 (在 Unix 上,它在你的主目录中;我不确定文件在 Windows 上的位置。)或者(并且非永久),你可以将它放在任何空缓冲区中并执行 M-x eval-buffer,或者键入 M-x eval-expression 并输入/粘贴上述内容。
  • 您也可以通过 M-x -> customize-group -> backup 进行所有这些更改
  • 有没有办法将~/.emacs/backup 扩展为~/.emacs/cwd/backup 之类的东西,也就是说,通过包含备份文件的来源目录来分隔备份文件?
  • @Don:我确定有办法,但为什么呢?您几乎不必去查看目录,为什么还要麻烦呢?名称中已经包含完整路径,因此来自同一目录的文件会保持在一起。
【解决方案2】:
find . -name '*~' -exec rm {} \;

编辑: 嗯......虽然这可行,但我发布它时认为rm *~ 会导致外壳将~ 插入到用户的主目录中。它没有,至少在这台机器上的 bash 版本 - 当然是 YMMV。

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

find . -name '*~' -delete

【讨论】:

  • 第二个在我的山狮 Mac 上运行良好。谢谢。
  • 如何在子目录中递归实现
  • @vijayst 这就是这个命令的实际作用......它遍历从当前工作目录开始的子目录,.
【解决方案3】:

你可以

rm *\~

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

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

有other options you can fiddle with

【讨论】:

    【解决方案4】:

    从工作目录:

    $ 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】:
      rm -rf *~ 
      

      【讨论】:

      • 这不处理子目录
      • 您可以在 Emacs 中通过键入 M- 来调用上述命令!首先。
      【解决方案6】:

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

      【讨论】:

        【解决方案7】:

        在 eamcs 目录模式下:

        d 将此文件标记为删除。

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

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

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

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

        ~ : 标记所有备份文件(名称以 `~' 结尾的文件)以供删除

        & : 删除具有特定名称的所有文件的标志,这些名称表明您可以轻松地再次创建文件

        。 :标记多余的数字备份文件以进行删除。任何一个文件的最旧和最新的少数备份文件除外;中间的被标记了。

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

        【讨论】:

        • 使用创建这些文件的软件删除这些文件是有意义的。我不喜欢rm 方法,这很容易出错。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-11-24
        • 1970-01-01
        • 2011-05-03
        • 2020-08-31
        • 2022-12-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多