在emacs中,如何在不单独打开每个缓冲区的情况下终止它们

gar*_*ois 32 emacs

我有很多(~30)缓冲区,其名称以相同的子字符串开头.有没有办法可以将正则表达式传递给kill buffer命令,这样我就可以一次性杀死所有这些命令?

gar*_*ois 20

我正在寻找的命令M-x kill-matching-buffers.

  • 你知道`ibuffer`以交互方式做吗?键入`%f`按文件名标记缓冲区,用'D`键删除它们. (11认同)

abo*_*abo 18

更具互动性和多功能性的方法是helm-buffers-list:

  1. 输入您要匹配的内容.
  2. M-m(helm-toggle-all-marks)选择所有匹配项.
  3. (可选)使用/ 来导航,使用C-SPC(helm-toggle-visible-marks)优化选择.C-nC-p
  4. TAB,从可用选项中选择"kill buffers".其他选项是query-replace/occurrence/grep/revert,以及其他一些选项.

  • 我更容易将`(global-set-key(kbd"MD")'helm-buffer-run-kill-buffers)`复制到我的init.el并在标记多个缓冲区后使用它.我的默认`tab`动作没有杀死缓冲区的选项. (3认同)
  • 对于spacemacs用户:按Tab键选择"kill buffers"按Cz,写"kill"并按RET (3认同)

Łuk*_*ner 12

  1. 运行Mx ibuffer(内置命令).
  2. 在要删除的缓冲区的每一行上按"d".
  3. 完成后按'x'进行更改.


Ped*_*Luz 10

使用头盔:

  1. 打开头盔使用helm-mini.在我的情况下,我把它映射到C-2
  2. 滚动列表并标记要删除的列表 C-Space
  3. 现在只需按M-S-d/M-D

这将删除所有选定的缓冲区并关闭helm-mini.


dbo*_*bow 7

C-x C-b列出所有缓冲区
k以标记要杀死的缓冲区(D出现在缓冲区旁边)
x以执行kill

  • 对我来说,我不得不使用 `d` 来标记要删除的缓冲区。 (2认同)