Puede personalizar la ubicación a través de backup-directory-alist
. Cada entrada en la lista dice dónde colocar las copias de seguridad de los archivos que coinciden con un patrón; Si la ubicación es nil
, la copia de seguridad estará en el mismo directorio que el original. El orden importa: se utiliza la primera coincidencia.
(setq backup-directory-alist '(("-autoloads\\.el\\'")
("." . "~/.emacs.d/backups")))
Si desea suprimir las copias de seguridad por completo en función del nombre o la ubicación del archivo, no parece haber un mecanismo incorporado para eso, pero es bastante fácil de agregar. La variable backup-enable-predicate
contiene el nombre de una función que determina si un archivo debe tener copias de seguridad. La configuración predeterminada normal-backup-enable-predicate
solo inhibe las copias de seguridad en los directorios que Emacs usa para archivos temporales. Puede agregar su propia función que verifica también el nombre del archivo.
(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)
Incluso si esta función regresa t
, otros mecanismos pueden deshabilitar las copias de seguridad.
Si desea desactivar las copias de seguridad en un modo principal específica, establecido make-backup-files
a nil
en el gancho de configuración del modo mayor (posiblemente basado en el nombre del archivo y otras características). No olvides hacer que la variable buffer-local.
Otra forma de deshabilitar las copias de seguridad para ciertos archivos es establecer backup-inhibited
. Esta variable sobrevive a un cambio de modo importante. Es así como VC deshabilita las copias de seguridad en archivos bajo control de versiones (a través de una entrada file-find-hook
). No olvides hacer que la variable buffer-local.