我找到了一个片段来关闭所有干燥的缓冲区,我想在日出指挥官中使用它:
(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)
问题是,我无法使其同时适用于sr模式和dired模式。
如何检查“主要模式是sr-mode还是dired-mode”?
编辑:
只是语法错误。
应该
(when (or (equal major-mode 'dired-mode) (equal major-mode 'sr-mode))
必须承认它不是太直观。
最佳答案
规范的方法是(when (derived-mode-p 'sr-mode 'dired-mode) ...)
。
关于emacs - 检查主模式是否等于几个emacs之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16242391/