Tạo chương trình nghị sự hôm nay trong Org-Mode ( C-c a a
) sẽ mở các tệp trong org-agenda-files
. Tôi không muốn Emacs mở những bộ đệm thêm này.
Có một cách dễ dàng để nói với Emacs không mở các bộ đệm này? (hoặc giống nhau, để tự động đóng chúng nếu chúng không mở trước khi gọi chương trình nghị sự?).
CẬP NHẬT:
Đây là phiên bản nhỏ gọn hơn của giải pháp được cung cấp bởi @lawlist:
(require 'dash)
(defun my-org-keep-quiet (orig-fun &rest args)
(let ((buffers-pre (-filter #'get-file-buffer (org-agenda-files))))
(apply orig-fun args)
(let* ((buffers-post (-filter #'get-file-buffer (org-agenda-files)))
(buffers-new (-difference buffers-post buffers-pre)))
(mapcar (lambda (file) (kill-buffer (get-file-buffer file))) buffers-new))))
(advice-add 'org-agenda-list :around #'my-org-keep-quiet)
(advice-add 'org-search-view :around #'my-org-keep-quiet)
(advice-add 'org-tags-view :around #'my-org-keep-quiet)
Đáng tiếc, điều này vẫn chưa hoàn hảo, vì bây giờ nhấp vào một sự kiện trong chương trình nghị sự không mở tệp org tương ứng.