如何停止emacs dired模式打开这么多的缓冲区?

当我使用dired模式来浏览并find一个我想要在Emacs中打开的文件时, dired在每次使用Enterselect一个目录时查找文件时为每个访问的目录打开一个新的缓冲区,这意味着我可以结束很多我不想要的缓冲区:

 . * newer 0 Fundamental c:/work/stackoverflow/batch/mydir/newer % mydir 302 Dired by name c:/work/stackoverflow/batch/mydir/ % batch 616 Dired by name c:/work/stackoverflow/batch/ % stackoverflow 1017 Dired by name c:/work/stackoverflow/ % work 2545 Dired by name c:/work/ * *scratch* 190 Lisp Interaction % *Completions* 162 Completion List * *Messages* 2163 Fundamental 

有什么办法让dired重新使用单个缓冲区? 我尝试了Mx customize-group ,但是没有看到任何有希望的地方。

或者,有没有人有一个macrosclosures所有打开的dired缓冲区?

使用( dired-find-alternate-file )而不是Enter

另外,请参阅此页面:

http://www.emacswiki.org/emacs/DiredReuseDirectoryBuffer

当在dired中浏览而不是按Enter键查看一个目录时,使用i然后它将该目录添加到当前缓冲区。

我从来没有设法得到toggle-dired-find-file-reuse-dir来可靠地工作 – 我仍然打开了各种各样的dired缓冲区,我从来不知道如何。

最近我发现了似乎对我更好的直接单( http://www.emacswiki.org/cgi-bin/wiki/dired-single.el )。 如果你希望它保证一个单独的dired缓冲区,并且还有一个很好的命令dired-single-magic-buffer,如果你有一个缓冲区,它会把你带到打开的dired缓冲区,如果你没有的话打开一个缓冲区。

还有一些其他的select,如果它不是多重直接缓冲本身烦恼,尽pipe他们的方式污染你的缓冲区列表。 例如,elscreen.el有一个dired插件,可以将dired缓冲区保存在自己的选项卡中,当您列出缓冲区时,优秀的ibuffer模式允许您将dired缓冲区组合在一起。

希望有所帮助!

西蒙

Dired +可以让你做这个select,它可以让你随时打开/closures它。

另请参阅http://www.emacswiki.org/emacs/DiredReuseDirectoryBuffer

dired-x允许这样做 – 做Mx自定义组dired-x并设置“Dired查找子目录”