启用global-auto-revert-mode
是使用其他工具开发/调试的绝佳方式。对磁盘上的文件所做的更改将镜像回相应的emacs缓冲区中。
dired-auto-revert-buffer
使得dired缓冲区成为可能,但是如果启用了恢复dired缓冲区,则无法使用递归目录。它们需要很长时间才能重新加载。
如何为既没有插入(dired-auto-revert-buffer
)也没有,特别是递归插入的直接缓冲区启用dired-maybe-insert-subdir
?
答案 0 :(得分:3)
好问题。也许其他人会有更好的想法,但据我所知,你需要将dired-auto-revert-buffer
设置为一个函数(不是t
),只有在没有插入时才返回非零值子目录。
这应该可以解决问题:
(setq dired-auto-revert-buffer (lambda (_dir) (null (cdr dired-subdir-alist))))
但请记住,dired-auto-revert-buffer
仅在您“重新访问”现有的Dired缓冲区时才有效。例如,仅重新选择其窗口或使其缓冲电流是不够的。如果您使用C-x d
重新访问它,那么如果它没有插入子目录,它将自动恢复。
答案 1 :(得分:1)
您可以将dired-auto-revert-buffer
绑定到一个函数,该函数使用一个参数(目录名称)调用。如果此函数返回非nil,则还原dired缓冲区。