Bạn có thể tùy chỉnh vị trí thông qua backup-directory-alist
. Mỗi mục trong danh sách cho biết nơi đặt các bản sao lưu của các tệp khớp với một mẫu; nếu vị trí là nil
, bản sao lưu sẽ nằm trong cùng thư mục với bản gốc. Thứ tự quan trọng: trận đấu đầu tiên được sử dụng.
(setq backup-directory-alist '(("-autoloads\\.el\\'")
("." . "~/.emacs.d/backups")))
Nếu bạn muốn loại bỏ các bản sao lưu hoàn toàn trên cơ sở tên tệp hoặc vị trí, dường như không có một cơ chế tích hợp nào cho việc đó, nhưng nó đủ dễ để thêm vào. Biến backup-enable-predicate
chứa tên của hàm xác định xem một tệp có nên sao lưu hay không. Cài đặt mặc định normal-backup-enable-predicate
chỉ ngăn chặn các bản sao lưu trong các thư mục mà Emacs sử dụng cho các tệp tạm thời. Bạn có thể thêm chức năng của riêng bạn để kiểm tra tên tệp.
(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)
Ngay cả khi chức năng này trở lại t
, các cơ chế khác có thể vô hiệu hóa các bản sao lưu.
Nếu bạn muốn sao lưu vô hiệu hóa trong một chế độ chính cụ thể, thiết lập make-backup-files
để nil
trong móc thiết lập chế độ lớn của (có thể dựa vào tên tập tin và các đặc điểm khác). Đừng quên tạo bộ đệm biến cục bộ.
Một cách khác để vô hiệu hóa sao lưu cho một số tệp nhất định là đặt backup-inhibited
. Biến này tồn tại một sự thay đổi chế độ chính. Đó là cách VC vô hiệu hóa các bản sao lưu trên các tệp dưới sự kiểm soát phiên bản (thông qua một mục nhập file-find-hook
). Đừng quên tạo bộ đệm biến cục bộ.