Konumu aracılığıyla özelleştirebilirsiniz backup-directory-alist
. Listedeki her giriş, bir kalıpla eşleşen dosyaların yedeklerinin nereye yerleştirileceğini belirtir; konum ise nil
, yedek orijinal ile aynı dizinde olacaktır. Sıra önemlidir: ilk eşleşme kullanılır.
(setq backup-directory-alist '(("-autoloads\\.el\\'")
("." . "~/.emacs.d/backups")))
Dosya adı veya konumu temelinde yedeklemeleri tamamen bastırmak istiyorsanız, bunun için yerleşik bir mekanizma yok gibi görünüyor, ancak eklemek için yeterince kolay. Değişken backup-enable-predicate
, dosyanın yedekleri olup olmadığını belirleyen bir işlevin adını içerir. Varsayılan ayar normal-backup-enable-predicate
yalnızca Emacs'ın geçici dosyalar için kullandığı dizinlerdeki yedeklemeleri engeller. Dosya adını da kontrol eden kendi işlevinizi ekleyebilirsiniz.
(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)
Bu işlev geri dönse bile t
, diğer mekanizmalar yedeklemeleri devre dışı bırakabilir.
Eğer belirlenen belirli bir majör modunda devre dışı yedeklemeler istiyorsanız make-backup-files
için nil
büyük modun kurulum çengel (muhtemelen dosya adı ve diğer özelliklerine göre). Değişken arabelleğini yerel yapmayı unutmayın.
Belirli dosyalar için yedeklemeleri devre dışı bırakmanın başka bir yolu da ayarlamaktır backup-inhibited
. Bu değişken büyük bir mod değişikliğinden kurtulur. VC, sürüm kontrolü altındaki dosyalarda (içindeki bir giriş aracılığıyla file-find-hook
) yedeklemeleri nasıl devre dışı bırakır . Değişken arabelleğini yerel yapmayı unutmayın.