Tôi tìm thấy một đoạn mã để đóng tất cả các bộ đệm dired, mà tôi muốn sử dụng trong chỉ huy mặt trời mọc:Kiểm tra xem chế độ chính là một bằng nhiều emacs
(defun er/kill-all-dired-buffers()
"Kill all dired buffers."
(interactive)
(save-excursion
(let((count 0))
(dolist(buffer (buffer-list))
(set-buffer buffer)
(when (equal major-mode 'sr-mode)
(or (equal major-mode 'dired-mode))
(setq count (1+ count))
(kill-buffer buffer)))
(message "Killed %i dired buffer(s)." count))))
(setq sr-quit-hook 'er/kill-all-dired-buffers)
Issue là, tôi không thể làm cho nó hoạt cả cho sr-mode và dired-mode cùng nhau. Làm cách nào để kiểm tra "nếu chế độ chính là chế độ sr OR OR-mode"?
CHỈNH SỬA: Chỉ lỗi cú pháp. Phải là
(when (or (equal major-mode 'dired-mode) (equal major-mode 'sr-mode))
Phải thừa nhận nó không quá trực quan.
vâng vâng, đó là những gì tôi đã mất tích. – CrimsonKing
Nó hoàn toàn trực quan. Mã ban đầu của bạn giống như viết 'if (foo) {|| quán ba; baz(); } 'trong C. – Sean
Điều đó cũng không trực quan. Không thuyết phục. Trực quan sẽ là nếu (foo || bar) {baz(); }. – CrimsonKing