在emacs中自动关闭所有临时缓冲区

时间:2012-08-11 09:34:55

标签: emacs buffer

如何关闭自动包含*的临时缓冲区。对于例如需要关闭消息完成缓冲区。使用后手动杀死所有这些缓冲区很痛苦。

有没有办法关闭emacs创建的临时缓冲区(不是我们)?

4 个答案:

答案 0 :(得分:5)

你真的需要关闭那些缓冲区吗?如果你使用类似iswitchb的proper buffer switching method,那么你不必关心临时或其他缓冲区,因为你可以直接进入你想要的任何缓冲区。

答案 1 :(得分:3)

我建议您使用idoiswitchb来避免被临时缓冲区困扰。这些缓冲区的存在是使用emacs的自然结果,所以不要试图向上游游泳!

另一方面,如果您对不断增加的开放缓冲区列表感到恼火,可以使用midnight.el在一段时间后自动关闭非活动缓冲区,或者使用ibuffer来轻松地选择和关闭不需要的缓冲区。

就个人而言,我将缓冲区打开了很长时间,我偶尔使用ibuffer整理它们,我依靠ido来快速切换缓冲区。在Emacs 24中,您可以将ido-use-virtual-buffers设置为t,然后ido将允许您切换到已关闭的文件,并根据需要重新打开它们。

答案 2 :(得分:2)

正如“用户”所说,最好使用智能缓冲切换包,例如iswitchbidoiswitchb的{​​{1}}和iswitchb-buffer-ignoreido变量允许我们使用正则表达式指定要忽略的缓冲区。

但是,如果你真的想要 kill 那些缓冲区,那么这样的程序会对你有所帮助:

ido-ignore-buffers

答案 3 :(得分:2)

为了避免使用这些缓冲区,您可以定义键绑定以循环使用«用户缓冲区»和«无用缓冲区»:

http://ergoemacs.org/emacs/effective_emacs.html,«切换下一个/上一个用户缓冲区»

部分

但是一些有用的缓冲区以*开头,如shell,编译缓冲区,ielm等。