Cancellazione automatica dei file di backup


9

Quando si modificano i file, vengono visualizzati alcuni foo.bar~ backup (file che terminano con una tilde ~). Come posso controllare le loro creazioni ed è possibile richiedere una cancellazione in blocco ricorsiva di tutti i file da una directory specifica e tutte le sue sottodirectory?


Ci sono davvero 2 domande qui; "Come posso controllare le loro creazioni" sembra un duplicato parziale di emacs.stackexchange.com/questions/33/…
shosti,

Risposte:


8

È possibile effettuare tutti i file di backup per andare in una directory

(setq backup-directory-alist `(("." . "~/.emacs.bak")))

e spegnilo completamente con

(setq make-backup-files nil)

anche se nessuno lo consiglierà.

Fare backup solo per alcuni progetti non è facile: dovrai cambiare quella variabile in vari hook.

Infine, chiedere l'eliminazione in blocco equivale esattamente a:

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

quindi potresti essere meglio di farlo nella shell.


potrebbe usare -delete invece di -exec, è molto più veloce perché non genera un nuovo processo.
Xah Lee,

4

diredsemplifica l'eliminazione di tutti i file di backup in una directory: da dired, basta digitare ~per contrassegnare i file di backup per l'eliminazione ed xeseguire l'eliminazione.


3

Da https://www.gnu.org/software/emacs/manual/html_node/emacs/Backup-Names.html#Backup-Names

È possibile personalizzare la variabile backup-directory-alist per specificare che è necessario eseguire il backup dei file corrispondenti a determinati modelli in directory specifiche. Questa variabile si applica sia ai backup singoli che a quelli numerati. Un uso tipico è aggiungere un elemento (".". Dir) per eseguire tutti i backup nella directory con nome assoluto dir; Emacs modifica i nomi dei file di backup per evitare conflitti tra file con gli stessi nomi originati in directory diverse. In alternativa, aggiungendo, (".". ". ~") Si eseguono backup nella sottodirectory invisibile. ~ Della directory del file originale. Emacs crea la directory, se necessario, per eseguire il backup.

Se si definisce la variabile make-backup-nome-file-nome-funzione su una funzione Lisp adatta, questo sostituisce il solito modo in cui Emacs costruisce i nomi dei file di backup.

È inoltre possibile impostare EMACS per mantenere i backup numerati e conservare solo un determinato numero di backup, sebbene ciò possa essere peggiore di un singolo backup per ciascun file. Vedi https://www.gnu.org/software/emacs/manual/html_node/emacs/Backup-Deletion.html

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.