Jak usunąć wszystkie pliki kończące się ~ made by Emacs
Ilekroć edytuję pliki w Emacsie, wydaje się, że tworzony jest tymczasowy plik o tej samej nazwie z dopiskiem~. Czy ktoś zna szybki/łatwy sposób na usunięcie wszystkich tych plików w katalogu roboczym?
7 answers
Podczas gdy wszystkie pozostałe odpowiedzi tutaj poprawnie wyjaśniają, jak usunąć Pliki, powinieneś zrozumieć, co się dzieje. Pliki kończące się ~ są plikami backup , tworzonymi automatycznie przez Emacsa. Czasami mogą być przydatne. Jeśli denerwują cię Te pliki i chcesz je usuwać za każdym razem, to albo
(1). zapobiega tworzeniu plików kopii zapasowych:
(setq make-backup-files nil)
Lub
(2). Niech zapisze pliki kopii zapasowej w innym katalogu, gdzie nie będą Ci przeszkadzać chyba, że ich poszukasz. Mam następujące rzeczy w moim .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
)
(tylko pierwsza linia jest kluczowa.) Aby zobaczyć dokumentację backup-directory-alist
, wpisz C-h V backup-directory-alist.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-21 06:06:21
find . -name '*~' -exec rm {} \;
EDIT: .. podczas gdy to działa, opublikowałem go myśląc, że rm *~
spowoduje interpolację powłoki ~
do katalogu domowego użytkownika. Nie ma, przynajmniej z wersją Basha na tej maszynie-YMMV, oczywiście.
Niektóre wersje find
mają opcję -delete
:
find . -name '*~' -delete
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-25 22:59:45
Możesz po prostu
rm *\~
Bardziej użyteczne, możesz zmienić katalog kopii zapasowych emacs tak, aby wszystkie te pliki były przechowywane we wspólnej lokalizacji, dodając to do twojego.emacs:
'(backup-directory-alist (quote (("." . "/common/backup/path"))))
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-21 04:51:47
Z katalogu roboczego:
$ rm *~
Zewsząd:
$ cd; find . -name '*~' | xargs rm -f
Z Emacsa, używając dired
.
C-x C-f . RET ~ x y e s RET
Możesz trwale wstrzymać tworzenie pliku kopii zapasowej, dodając następującą linię do~/.emacs
(setq make-backup-files nil)
Nie polecam tego ostatniego, Ponieważ pliki kopii zapasowych Emacsa zapisywały mnie wiele razy na przestrzeni lat.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-21 04:52:13
rm -rf *~
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-21 04:51:13
Możesz otworzyć katalog w Emacsie, oznaczyć wszystkie pliki kopii zapasowej ~
, a następnie usunąć je za pomocą x
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-21 05:50:11
W trybie eamcs dired:
D Oznacz ten plik do usunięcia.
U Usuń flagę delete w tej linii.
DEL Przesuń punkt do poprzedniego wiersza i usuń flagę delete w tym wierszu.
X Usuń pliki oznaczone do usunięcia.
#: Oznacz wszystkie automatycznie zapisywane pliki (pliki, których nazwy zaczynają się i kończą na `#') do usunięcia
~: Oznacz wszystkie pliki kopii zapasowej (pliki, których nazwy kończą się na'~') do usunięcia
&: Flaga do usunięcia wszystkich plików z pewnymi rodzajami nazw, nazwami, które sugerują, że można łatwo utworzyć pliki ponownie
. : Zaznacz nadmiar numerycznych plików kopii zapasowych do usunięcia. Najstarsze i najnowsze kilka plików kopii zapasowych dowolnego pliku są wyłączone; środkowe są oznaczone.
% d regexp RET: Flaga do usunięcia wszystkich plików, których nazwy pasują do wyrażenia regularnego regexp.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-05 19:05:02