回答:
次のことができます。
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」を含むバッファのみを選択することを意味します。