Você pode personalizar o local backup-directory-alist
. Cada entrada na lista indica onde colocar os backups dos arquivos que correspondem a um padrão; se o local for nil
, o backup estará no mesmo diretório que o original. A ordem é importante: a primeira correspondência é usada.
(setq backup-directory-alist '(("-autoloads\\.el\\'")
("." . "~/.emacs.d/backups")))
Se você deseja suprimir completamente os backups com base no nome ou no local do arquivo, não parece haver um mecanismo interno para isso, mas é fácil adicionar isso. A variável backup-enable-predicate
contém o nome de uma função que determina se um arquivo deve ter backups. A configuração padrão normal-backup-enable-predicate
apenas inibe os backups nos diretórios que o Emacs usa para arquivos temporários. Você pode adicionar sua própria função que também verifica o nome do arquivo.
(defvar backup-inhibit-file-name-regexp "-autoloads\\.el\\'"
"Files whose full path matches this regular expression will not be backed up.")
(defun regexp-backup-enable-predicate (filename)
"Disable backups for files whose name matches `backup-inhibit-file-name-regexp'.
Also call `normal-backup-enable-predicate'."
(save-match-data
(and (not (string-match backup-inhibit-file-name-regexp filename))
(normal-backup-enable-predicate filename))))
(setq backup-enable-predicate 'regexp-backup-enable-predicate)
Mesmo se essa função retornar t
, outros mecanismos podem desativar os backups.
Se você quiser backups desativar em um modo principal específico, definir make-backup-files
a nil
no gancho de instalação a maior do modo (possivelmente com base no nome do arquivo e outras características). Não se esqueça de tornar a variável buffer-local.
Outra maneira de desativar os backups de certos arquivos é definir backup-inhibited
. Essa variável sobrevive a uma grande mudança de modo. É como o VC desativa os backups dos arquivos sob controle de versão (por meio de uma entrada em file-find-hook
). Não se esqueça de tornar a variável buffer-local.