如何递归删除emacs备份文件?

5 emacs elisp

在emacs中,在Dired模式下,我可以使用〜命令将所有emacs备份标记为删除。有没有一种方法可以将它们全部递归标记,以便可以删除当前目录和所有子目录中的所有备份?

Ole*_*liv 2

您可以定义两种类型的 dired:平面和递归。例如:

(defun op-i:dired (rec)
  "customized dired: will display directory recursively when called with an argument"
  (interactive "P")
  (let ((dir (car (find-file-read-args "Dired: " nil))) 
        (opts (if rec (read-string "options: " "-lhAR") "-lhA")))
    (if (file-directory-p dir) (dired dir opts))))

(define-key (current-global-map) (kbd "C-x C-d") 'op-i:dired)
Run Code Online (Sandbox Code Playgroud)

然后用 with 调用这个函数C-u C-x C-d将递归地显示 dired,并且 withC-x C-d将照常进行。

递归显示 dired 后,您也可以递归删除备份或执行其他操作。