Dav*_*ebb 41 emacs file-management dired
当我使用dired
模式浏览并找到我想在Emacs中dired
打开的文件时,每次我选择一个目录时Enter,为我查找文件时访问的每个目录打开一个新的缓冲区,这意味着我最终会得到很多缓冲区我不想要:
. * 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
Run Code Online (Sandbox Code Playgroud)
有没有办法dired
重复使用单个缓冲区?我尝试M-x customize-group
过小组,dired
但没有看到任何有希望的东西.
或者,是否有人有一个宏来关闭所有打开的dired
缓冲区?
sco*_*zer 53
使用a(dired-find-alternate-file
)而不是Enter
另请参阅此页面:
http://www.emacswiki.org/emacs/DiredReuseDirectoryBuffer
小智 7
我从来没有设法让toggle-dired-find-file-reuse-dir可靠地工作 - 我最终还是打开了各种各样的直接缓冲区,而且我也不确定如何.
最近我发现了dired-single(http://www.emacswiki.org/cgi-bin/wiki/dired-single.el),这对我来说似乎更好.如果你想要它保证单个dired缓冲区,并且还有一个很好的命令dired-single-magic-buffer,如果有的话,它会带你到open dired buffer,如果你没有,则打开一个.
还有其他一些替代方案,如果不是多个方向缓冲区本身就会烦恼,就像它们污染缓冲区列表的方式一样.例如,elscreen.el有一个dired插件,可以将dired缓冲区保存在自己的选项卡中,优秀的ibuffer模式允许您在列出缓冲区时将dired缓冲区组合在一起.
希望有所帮助!
西蒙
小智 7
在 Emacs 28 中,您只需(setf dired-kill-when-opening-new-dired-buffer t)
. 这适用于dired-find-file
( RET
) 或dired-up-directory
( ^
)。
来自 Xah Lee,网址:http://ergoemacs.org/emacs/emacs_dired_tips.html
;; Make dired open in the same window when using RET or ^
(put 'dired-find-alternate-file 'disabled nil) ; disables warning
(define-key dired-mode-map (kbd "RET") 'dired-find-alternate-file) ; was dired-advertised-find-file
(define-key dired-mode-map (kbd "^") (lambda () (interactive) (find-alternate-file ".."))) ; was dired-up-directory
Run Code Online (Sandbox Code Playgroud)