回答:
次のことができます。
M-x ibuffer
* / diredモードでバッファをマークします。
D それらを削除します。
C-x C-bれibufferます。
t(dired-toggle-marks)を押してすべてをマークすることもできます(以前にマークされていなかった場合)。
dired-toggle-marksはdiredコマンドの名前です。を押すtとibuffer内のすべてのマークも切り替わりますが、通常、非ディレクトリバッファはdiredバッファよりも多いため、このコンテキストではトグルはあまり意味がありません。
すべてのdiredバッファーを強制終了する別の関数を追加する代わりに、のフィルターグループを利用してibuffer、さまざまな条件でバッファーをグループ化することをお勧めします。
フィルターグループを設定する例を次に示します。
(setq-default ibuffer-saved-filter-groups
`(("Default"
;; I create a group call Dired, which contains all buffer in dired-mode
("Dired" (mode . dired-mode))
("Temporary" (name . "\*.*\*"))
)))
次に、ウィンドウをC-x C-b開くとibuffer、次のようなものが表示されます。

カーソルを[ Dired ](M-p、M-n)に移動し、を押しdて削除としてマークします

を押しxて実行します。
キーを新しい関数にバインドする方法を考える必要がなく、バッファーがより適切に構成されているため、この方法が好きです。
ibufferコードを評価した後、最初に起動したときにフィルターグループが表示されませんでした。グループを取得するにはヒット/ R(にバインドibuffer-switch-to-saved-filter-groups)する必要がありました。
(ibuffer-switch-to-saved-filter-groups "Default")そうでない場合は、フィルタグループ名を変更する必要があり、ibufferフックにコード行を追加することができますDefault
あなたがするので、あなたは、多くのdiredバッファを持っていたかった全て一点でそれらを?IOW、それぞれを別々のバッファとして作成したいですか?
そうでない場合、解決策は簡単です。ディレクトリ名にヒットしてDiredで開くときに、既存のDiredバッファを再利用するようDiredに指示RETします。
その方法は次のとおりです。
(require 'dired+)
Diredに、Diredバッファーを再利用するように指示します。
(diredp-toggle-find-file-reuse-dir 1)
その効果はRET、Diredのディレクトリを押す(またはマウスをクリックする)ときにfind-alternate-file使用されるため、元のDiredバッファーが新しいバッファーに置き換えられる(削除される)ことです。
この動作は、DiredでC-M-R(別名C-M-S-r)を使用していつでも切り替えることができます。
以下も使用できますhelm-mini。
M-x helm-mini。*Di部分的な単語Dired、これ以上入力する必要はありません)。入力すると、バッファーは徐々に狭くなります。これで、Diredバッファのみが残ります。を押しM-aてすべてをマークします。TABてアクションメニューに切り替え、を押しKてアクションを選択しますKill buffer(s)。RETてアクションを実行します。良い点helm-miniは、通常のEmacsを置き換えることができることC-x bです。そのため、バッファの切り替え用と実際のバッファマネージャ用の2つのキーバインディングを使用する必要はありません。helm-miniオールインワンです。詳細については、私のhelm-miniガイドをご覧ください。
helm-miniまた、ファジーマッチバッファーを使用しC-SPCたり、またはM-a(M ark a llの略)でマークすることで複数のバッファーを開くことができます。@パターンの前に追加することにより、特定の文字列を含むバッファに絞り込むこともでき@testます。たとえば、文字列「test」を含むバッファのみを選択することを意味します。