Bagaimana saya mengatur Emacs sehingga semua cadangan ditempatkan ke dalam satu folder cadangan? misalnya/MyEmacsBackups
Bagaimana saya mengatur Emacs sehingga semua cadangan ditempatkan ke dalam satu folder cadangan? misalnya/MyEmacsBackups
Jawaban:
Lihat backup-directory-alist, yang memungkinkan Anda untuk mengatur lokasi cadangan dengan file regexp. Agar semuanya masuk ke satu direktori, coba sesuatu seperti:
(setq backup-directory-alist '(("." . "~/MyEmacsBackups")))
Untuk yang benar-benar paranoid (seperti saya), ada juga cadangan-setiap-penyimpanan , yang (seperti namanya) membuat cadangan file Anda setiap kali disimpan di lokasi yang nyaman. Ini memberikan lapisan perlindungan ekstra terhadap kontrol versi tradisional, misalnya untuk kasus-kasus ketika Anda secara tidak sengaja menghapus direktori kerja Anda tanpa memeriksa sesuatu.
Berikut ini adalah kode cepat dari saya .emacs. Itu tidak hanya menempatkan cadangan ke direktori tertentu, tetapi juga menyimpan otomatis, dan melakukan hal yang sama untuk file tramp sehingga tidak dimasukkan ke sistem remote.
;; Put backup files neatly away
(let ((backup-dir "~/tmp/emacs/backups")
(auto-saves-dir "~/tmp/emacs/auto-saves/"))
(dolist (dir (list backup-dir auto-saves-dir))
(when (not (file-directory-p dir))
(make-directory dir t)))
(setq backup-directory-alist `(("." . ,backup-dir))
auto-save-file-name-transforms `((".*" ,auto-saves-dir t))
auto-save-list-file-prefix (concat auto-saves-dir ".saves-")
tramp-backup-directory-alist `((".*" . ,backup-dir))
tramp-auto-save-directory auto-saves-dir))
(setq backup-by-copying t ; Don't delink hardlinks
delete-old-versions t ; Clean up the backups
version-control t ; Use version numbers on backups,
kept-new-versions 5 ; keep some new versions
kept-old-versions 2) ; and some old ones, too
;; put all backup files into ~/MyEmacsBackups
(setq backup-directory-alist '(("." . "~/MyEmacsBackups")))
(setq backup-by-copying t)