Comment puis-je configurer Emacs pour que toutes les sauvegardes soient placées dans un dossier de sauvegarde? par exemple/MyEmacsBackups
Comment puis-je configurer Emacs pour que toutes les sauvegardes soient placées dans un dossier de sauvegarde? par exemple/MyEmacsBackups
Réponses:
Découvrez backup-directory-alist
, qui vous permet de définir des emplacements de sauvegarde par regexp de fichier. Pour que tout aille dans un répertoire, essayez quelque chose comme:
(setq backup-directory-alist '(("." . "~/MyEmacsBackups")))
Pour les véritables paranoïaques (comme moi), il existe également une sauvegarde à chaque enregistrement , qui (comme son nom l'indique) sauvegarde vos fichiers chaque fois qu'ils sont enregistrés dans un emplacement pratique. Cela donne une couche de protection supplémentaire par rapport au contrôle de version traditionnel, par exemple dans les cas où vous effacez accidentellement votre répertoire de travail sans archiver quelque chose.
Ce qui suit est un code rapide de mon .emacs
. Il ne place pas seulement les sauvegardes dans un répertoire spécifique, mais enregistre également automatiquement, et fait de même pour les fichiers clochards afin qu'ils ne soient pas placés sur le système distant.
;; 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)