我想杀掉所有以info开头的缓冲区,我输入了C-x-k info*<*>,但它显示“没有匹配项”。所以我知道我不能使用*来代表所有字符。正确的表达式应该是什么?任何帮助都将不胜感激。这是我的屏幕截图,请看一下。emacs buffer list window
M-x kill-matching-buffers
是一个标准命令,可以用来实现此功能。
如何自动回答y(kill-matching-buffers会询问是否要删除已修改的缓冲区)可能也会引起您的兴趣(尽管我实际上不建议一般情况下这样做)。
所以我知道我不能使用*代表所有字符。
.*
将匹配零个或多个非换行符字符,但在这里您不需要使用它,因为kill-matching-buffers
命令不需要在整个名称上进行匹配。^info
将匹配您(所述的)要求。
我鼓励您阅读C-hig (emacs) Regexps
,以了解Emacs中正则表达式的语法。
C-!
将基本命令的操作应用于每个当前的补全候选项。无论您使用何种模式来匹配补全候选项(正则表达式还是其他方式),无论这些匹配的候选项是什么,它们都会被执行相同的操作。在这种情况下,C-x k
是多命令icicle-kill-buffer
(当启用Icicle模式时),其操作是关闭一个候选缓冲区。C-!
将关闭所有这些缓冲区。 - Drew