我想杀死以info开头的所有缓冲区,我输入 C-x-k info *< *> ,它显示“不匹配”。
所以我知道我不能用*代表所有角色。
它应该是什么样的正确表达?
任何帮助都会感激不尽
这是我的截图。请看看。
emacs buffer list window
答案 0 :(得分:3)
M-x kill-matching-buffers
是一个标准命令。
How do I answer y automatically (kill-matching-buffers asks if I should kill a modified buffer)?也可能有意义(虽然我实际上并不是推荐这样做)。
所以我知道我不能用*代表所有角色。
.*
将匹配零个或多个非换行符,但您不需要在此处使用它,因为kill-matching-buffers
命令不需要匹配整个名字。 ^info
符合您(规定的)要求。
我建议您阅读 Ch i g (emacs) Regexps
以了解Emacs中正则表达式的语法。
答案 1 :(得分:0)
您的缓冲区的名称为*info*
和*info*<N>
,N
= 3..16。
C-x k *info TAB TAB
显示您要杀死的缓冲区的所有匹配项。但C-x k
允许您一次只删除一个。
如果您使用库Icicles,那么C-x k
就是multi-command,这意味着它可以单独或一起杀死多个缓冲区。 (而Icicles允许你使用正则表达式进行模式匹配。但你不需要这里。)
在这种情况下,您只需执行C-x k *info TAB C-!
即可终止所有*info
个缓冲区。
C-!
applies the action to all objects符合您当前的输入模式。