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

时间:2014-04-18 14:44:07

标签: emacs

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

5 个答案:

答案 0 :(得分:18)

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

答案 1 :(得分:17)

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

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

答案 2 :(得分:11)

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

答案 3 :(得分:9)

使用helm:

  1. 使用helm-mini打开头盔。在我的情况下,我把它映射到 C-2
  2. 滚动列表并使用 C-Space
  3. 标记要删除的列表
  4. 现在只需按 M-S-d / M-D
  5. 这将删除所有选定的缓冲区并关闭helm-mini

答案 4 :(得分:6)

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