У меня изначально было три файла: makefile
, readme.txt
и hashtable.c
в моем каталоге, где я пишу свой код в emacs. Я заметил, что были созданы несколько новых файлов: #hashtable.c#
, #readme.txt#
, hashtable.c~
и makefile~
. Мне было интересно, что это за файлы. Являются ли эти важные, а если нет, то как я могу сказать emacs прекратить их делать? Мне также интересно, почему readme.txt
не получает файл тильды, а makefile
не получает острый файл.
Что такое # file # и file ~ и как я могу от них избавиться?
Ответ 1
Файл с ~
- это файл резервной копии, который автоматически создается при сохранении файла. #
readme.txt #
- это файл, который в настоящее время редактируется/используется (т.е. Версия автосохранения). Это обычно уходит (в отличие от файла ~
), когда вы обычно выходите из emacs (если он сбой или его убивают, файлы # могут оставаться на месте).
Вы можете найти эту страницу о emacs backup files, и этот вопрос SO: How я могу контролировать, как Emacs создает резервные файлы?
Вы можете запретить создание файлов резервных копий:
(setq make-backup-files nil)
Ответ 2
Для # файлов # вам нужно сделать rm "#file#"
с терминала, потому что rm #file#
не работает.
Для ~ файла вы можете просто цифра rm ~file
.
Ответ 3
Я рекомендую установку no-littering
. Он автоматически помещает файлы резервных копий (file~
) в ~/.emacs.d/var/backup/
. Он ничего не делает с автосохранениями (#file#
), но есть примечание о том, что эти файлы помещаются в указанный каталог в README:
(setq auto-save-file-name-transforms
'((".*" ,(no-littering-expand-var-file-name "auto-save/") t)))
Ни одна из этих вещей на самом деле не мешает Emacs создавать эти файлы, но я предполагаю, что большинство людей на самом деле хотят эти файлы (в случае сбоя), но не хотят, чтобы они были разбросаны по всей файловой системе.
Ответ 4
Может быть, вы могли бы попробовать:
find. -name \\#*\\# | xargs rm
Предупреждение: это удалит те файлы, совпадающие в подкаталогах.