9

サンライズ コマンダーで使用したいすべての dired バッファーを閉じるためのスニペットを見つけました。

(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-mode と dired-mode の両方を同時に動作させることができないことです。「メジャーモードが sr-mode か dired-mode か」を確認するにはどうすればよいですか?


編集: 単なる構文エラーです。する必要があります

(when (or (equal major-mode 'dired-mode) (equal major-mode 'sr-mode))

あまりにも直感的ではないことを認めなければなりません。

4

3 に答える 3