Điều này không trả lời câu hỏi của bạn như được đặt ra, vì vậy hãy bỏ qua hoặc downvote.
Tôi nghi ngờ rằng bạn thực sự muốn Emacs lưu tất cả các bộ đệm vào đĩa, bao gồm tất cả các bộ đệm nội bộ, thông thường vô hình. Tại sao bạn sẽ muốn điều đó?
Nó không phải là về không gian đĩa. Đó là về tiếng ồn. Bạn có thực sự muốn đào nội dung ra khỏi một thư mục nơi các tệp quan trọng của bạn có thể được trộn lẫn với những thứ đó không? Hay bạn muốn câu cá cho ngọc trai thỉnh thoảng trong một thư mục tạm thời (mục đích của nó là để giảm tiếng ồn)?
Các bộ đệm có tên như *...*
(không bắt đầu bằng char không gian) thường chỉ xuất ra (ví dụ *info*
:) hoặc cho tương tác tạm thời (ví dụ *scratch*
). Đối với những bộ đệm như vậy, đề nghị của tôi sẽ là để lại mọi thứ như hiện tại. Bạn luôn có thể lưu bất kỳ bộ đệm như vậy theo yêu cầu, sử dụng C-x C-w
, nếu bạn thực sự cần.
Điều khiến tôi nghi ngờ là trường hợp sử dụng thực sự của bạn: " bộ đệm để ghi chú, v.v. ". Câu trả lời ở đây là sử dụng C-x C-f
thay vì C-x b
. IOW, vâng, ghé thăm chúng như bộ đệm tập tin. Nếu bạn không bao giờ lưu bộ đệm thì không có tệp nào được tạo - ngoại trừ tệp tự động lưu , đây có thể là thứ bạn muốn và cần.
Khi bạn truy cập bộ đệm dưới dạng bộ đệm tệp, bạn sẽ tự động kiểm soát chế độ chính nào được sử dụng theo mặc định (sử dụng auto-mode-alist
). Điều này cũng quan trọng đối với việc ghi chú cũng như đối với mã lập trình.
Cụ thể, tôi sẽ đề nghị rằng nếu bạn sử dụng *scratch*
cho tương tác Lisp tạm thời, bạn có thể xem xét lại. Nhiều người dùng (bao gồm cả tôi) đã thấy rằng nó giúp sử dụng thay thế C-x C-f foo.el
(hoặc bất kỳ *.el
tên tệp nào khác ). Một lý do là bạn nhận được các tệp tự động miễn phí (và các tệp sao lưu, nếu bạn lưu bộ đệm). Một lý do khác là bạn có chế độ Emacs-Lisp thay vì chế độ tương tác Lisp. Lý do thứ ba là có, bạn có thể muốn lưu công việc "tạm thời" của mình. Và như bạn nói, dung lượng đĩa rất rẻ.
Điều gì về # 4 mâu thuẫn với những gì tôi đã nói trong # 1? Bạn không muốn trộn các tập tin nguệch ngoạc tạm thời với các tập tin quan trọng và bạn không muốn đưa viên ngọc thỉnh thoảng ra khỏi thư mục của các tập tin tạm thời. Câu trả lời ở đây là tùy thuộc vào bạn để sắp xếp mọi thứ sao cho hiệu ứng này được giảm thiểu. Làm việc với các tệp cào như vậy trong một thư mục cụ thể có thể giúp ích, như có thể sử dụng quy ước đặt tên (đặc biệt là tiền tố) giúp bạn phân biệt các tệp đó.
Một điều khác có thể giúp: Chỉ đạo . Bạn có thể sử dụng ~
và #
đánh dấu các tập tin sao lưu và tự động xóa để xóa (sau đó x
xóa chúng). Và nếu bạn sử dụng quy ước đặt tên cho các tệp có lẽ là tạm thời, thì bạn có thể sử dụng %
hoặc tương tự để đánh dấu tất cả chúng để xóa. Bạn thậm chí có thể thực hiện một chức năng định kỳ để dọn sạch các tệp như vậy. Và bạn có thể dễ dàng đổi tên bất kỳ thứ gì bạn thực sự muốn giữ lâu hơn.
Vì vậy, lời khuyên của tôi là có lẽ nên xem xét lại cách bạn tương tác với các bộ đệm ghi chú tạm thời như vậy. Xem xét sử dụng bộ đệm tập tin, được tự động lưu. Tóm lại, sử dụng C-x C-f foobarbaz.txt RET
( .el
hoặc bất cứ điều gì) thay vì C-x b foobarbaz RET
.
save-some-buffers
có một tùy chọn cho các bộ đệm không truy cập tệp - có lẽ bạn có thể kết hôn với bộ hẹn giờ và chức năng tùy chỉnh,save-some-buffers
chấp nhận làm đối số - xem chuỗi doc. Có lẽ đã có một cái gì đó thực hiện điều này - ví dụ: Google,"save-some-buffers" auto save
v.v .; và, xem chức năngauto-save-mode
trongsimple.el
một số ý tưởng. Hồi ức của tôi là tự động lưu bộ đệm được tăng cường có thể đã làm một cái gì đó như thế này: github.com/kentaro/auto-save-buffers-enhified/blob/master/iêu