Всякий раз, когда я редактирую файлы на emacs, кажется, что временный файл создается с тем же именем с ~ добавленным к нему. Кто-нибудь знает быстрый/простой способ удалить все эти файлы в рабочем каталоге?
Как удалить все файлы, заканчивающиеся на ~, сделанные Emacs
Ответ 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.