Как рекурсивно удалить файлы резервных копий emacs? - PullRequest
4 голосов
/ 08 февраля 2012

В emacs, находясь в режиме Dired, я могу использовать команду ~, чтобы пометить все свои резервные копии emacs для удаления.Есть ли способ пометить их все рекурсивно, чтобы я мог удалить все свои резервные копии в текущем каталоге и всех подкаталогах?

Ответы [ 3 ]

2 голосов
/ 08 февраля 2012

Вы можете определить два типа 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)

Затем при вызове этой функции с помощью C-u C-x C-d будет рекурсивно отображаться Dired, а с помощью C-x C-d это будет выполняться как обычно.

После рекурсивного отображения Dired вы можете удалить резервные копии илиделать другие вещи тоже рекурсивно.

1 голос
/ 15 февраля 2012

Если вы используете * nix или cygwin , вы сможете сделать

find -name '*~' -exec rm {} \;
1 голос
/ 09 февраля 2012

Вы также можете использовать M-x find-name-dired с шаблоном файла *~ для отображения только файлов резервных копий в буфере с задержкой.

...