Anda dapat menyesuaikan lokasi melalui backup-directory-alist
. Setiap entri dalam daftar mengatakan di mana harus meletakkan cadangan file yang cocok dengan suatu pola; jika lokasinya nil
, cadangan akan berada di direktori yang sama dengan aslinya. Urutan penting: pertandingan pertama digunakan.
(setq backup-directory-alist '(("-autoloads\\.el\\'")
("." . "~/.emacs.d/backups")))
Jika Anda ingin menekan cadangan sama sekali berdasarkan nama file atau lokasi, tampaknya tidak ada mekanisme bawaan untuk itu, tetapi cukup mudah untuk ditambahkan. Variabel backup-enable-predicate
berisi nama fungsi yang menentukan apakah file harus memiliki cadangan. Pengaturan default normal-backup-enable-predicate
hanya menghambat cadangan di direktori yang digunakan Emacs untuk file sementara. Anda dapat menambahkan fungsi Anda sendiri yang memeriksa nama file juga.
(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)
Bahkan jika fungsi ini kembali t
, mekanisme lain dapat menonaktifkan cadangan.
Jika Anda ingin menonaktifkan cadangan dalam mode utama tertentu, atur make-backup-files
ke nil
dalam kait pengaturan mode utama (mungkin berdasarkan nama file dan karakteristik lainnya). Jangan lupa untuk membuat variabel buffer-lokal.
Cara lain untuk menonaktifkan cadangan untuk file tertentu adalah dengan mengatur backup-inhibited
. Variabel ini bertahan dari perubahan mode utama. Begitulah cara VC menonaktifkan cadangan pada file di bawah kontrol versi (melalui entri di file-find-hook
). Jangan lupa untuk membuat variabel buffer-lokal.
Gilles 'SANGAT berhenti menjadi jahat'
sumber