Como posso configurar o Emacs para que todos os backups sejam colocados em uma pasta de backup? por exemplo/MyEmacsBackups
Como posso configurar o Emacs para que todos os backups sejam colocados em uma pasta de backup? por exemplo/MyEmacsBackups
Respostas:
Confira backup-directory-alist
, que permite definir locais de backup por regexp de arquivo. Para que tudo vá para um diretório, tente algo como:
(setq backup-directory-alist '(("." . "~/MyEmacsBackups")))
Para os verdadeiramente paranóicos (como eu), também há backup-a-salvar , que (como o nome sugere) faz backup de seus arquivos sempre que eles são salvos em um local conveniente. Isso oferece uma camada extra de proteção sobre o controle de versão tradicional, por exemplo, nos casos em que você acidentalmente limpa seu diretório de trabalho sem fazer check-in.
A seguir está um código rápido do meu .emacs
. Ele não apenas coloca backups em um diretório específico, mas também salva automaticamente, e faz o mesmo com arquivos tramp, para que não sejam colocados no sistema remoto.
;; 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)