Подтвердить что ты не робот

Как удалить все файлы, заканчивающиеся на ~, сделанные Emacs

Всякий раз, когда я редактирую файлы на emacs, кажется, что временный файл создается с тем же именем с ~ добавленным к нему. Кто-нибудь знает быстрый/простой способ удалить все эти файлы в рабочем каталоге?

4b9b3361

Ответ 1

В то время как все остальные ответы здесь правильно объясняют, как удалить файлы, вы должны понимать, что происходит. Те файлы, которые заканчиваются на ~, - это файлы резервных копий, автоматически созданные 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.

Ответ 2

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

EDIT: Huh... пока это работает, я разместил его, думая, что rm *~ заставит оболочку интерполировать ~ в домашний каталог пользователя. Это не означает, по крайней мере, версию bash на этой машине - YMMV, конечно.

В некоторых версиях find есть опция -delete:

find . -name '*~' -delete

Ответ 3

Вы можете просто

rm *\~

Более полезно, вы можете изменить каталог резервных копий emacs, чтобы все эти файлы были сохранены в общем месте, добавив это в ваш .emacs:

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

Есть другие варианты, с которыми вы можете играть

Ответ 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 *~ 

Ответ 6

Вы можете открыть каталог в emacs, пометить весь файл резервной копии с помощью ~, а затем удалить их с помощью x

Ответ 7

В режиме eamcs dired:

d Отметить этот файл для удаления.

u Удалите флаг удаления в этой строке.

DEL Переместите точку на предыдущую строку и удалите флаг удаления в этой строке.

x Удалите файлы, помеченные для удаления.

#: Отметить все файлы автосохранения (файлы, имена которых начинаются и заканчиваются символом `# ') для удаления

~: Отметить все файлы резервных копий (файлы, имена которых заканчиваются символом `~ ') для удаления

&: Флаг для удаления всех файлов с определенными типами имен, имена, которые предполагают, что вы могли бы легко создавать файлы снова

.: Флаг избыточных числовых файлов резервного копирования для удаления. Самые старые и новейшие резервные файлы любого файла освобождаются; средние отмечены.

% d regexp RET: флаг для удаления всех файлов, имена которых соответствуют регулярному выражению regexp.