Tự động xóa các tập tin sao lưu


9

Khi chỉnh sửa tệp, một số foo.bar~ bản sao lưu xuất hiện (tệp kết thúc bằng dấu ngã ~). Làm cách nào tôi có thể kiểm soát sáng tạo của họ và có thể yêu cầu xóa hàng loạt đệ quy tất cả các tệp từ một thư mục cụ thể và tất cả các thư mục phụ không?


Thực sự có 2 câu hỏi ở đây; "Làm thế nào tôi có thể kiểm soát sự sáng tạo của họ" có vẻ như là một bản sao một phần của emacs.stackexchange.com/questions/33/ Ấn
shosti

Câu trả lời:


8

Bạn có thể tạo tất cả các tệp sao lưu để đi đến một thư mục với

(setq backup-directory-alist `(("." . "~/.emacs.bak")))

và tắt nó hoàn toàn với

(setq make-backup-files nil)

mặc dù không ai sẽ khuyên điều đó

Tạo bản sao lưu chỉ cho một số dự án là không dễ dàng: bạn sẽ phải lật biến đó trong các móc khác nhau.

Cuối cùng, yêu cầu xóa số lượng lớn chính xác tương đương với:

find . -name '*~' -exec rm {} \;

Vì vậy, bạn có thể tốt hơn để làm điều đó trong vỏ.


có thể sử dụng -delete thay vì -exec, nó nhanh hơn nhiều vì nó không sinh ra quy trình mới.
Xah Lee

4

diredgiúp bạn dễ dàng xóa tất cả các tệp sao lưu trong một thư mục - từ dired, chỉ cần gõ ~để đánh dấu các tệp sao lưu để xóa và xthực hiện xóa.


3

Từ https://www.gnu.org/software/emacs/manual/html_node/emacs/Backup-Names.html#Backup-Names

Bạn có thể tùy chỉnh biến sao lưu thư mục-thư mục để xác định rằng các tệp phù hợp với các mẫu nhất định sẽ được sao lưu trong các thư mục cụ thể. Biến này áp dụng cho cả sao lưu đơn và đánh số. Một cách sử dụng thông thường là thêm một phần tử (".". Dir) để tạo tất cả các bản sao lưu trong thư mục với tên dir tuyệt đối; Emacs sửa đổi tên tệp sao lưu để tránh xung đột giữa các tệp có cùng tên xuất phát trong các thư mục khác nhau. Ngoài ra, việc thêm, (".". ". ~") Sẽ tạo các bản sao lưu trong thư mục con vô hình. ~ Của thư mục của tệp gốc. Emacs tạo thư mục, nếu cần, để tạo bản sao lưu.

Nếu bạn xác định biến make-backup-file-name-function thành một hàm Lisp phù hợp, nó sẽ ghi đè lên cách thông thường Emacs xây dựng tên tệp sao lưu.

Bạn cũng có thể đặt EMACS để giữ các bản sao lưu được đánh số và chỉ giữ một số bản sao lưu nhất định, mặc dù điều này có thể tệ hơn chỉ là một bản sao lưu duy nhất cho mỗi tệp. Xem https://www.gnu.org/software/emacs/manual/html_node/emacs/Backup-Deletion.html

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.