在Dired中递归打开一些目录

时间:2010-08-23 13:03:19

标签: emacs dired

我想在Dired中显示一个目录,其中一些子目录以递归方式打开(就好像我为它们传递了“R”选项)。是否可以在Emacs中执行此操作?任何想法如何在Elisp中轻松实现?

在Windows资源管理器中,我会在文件夹窗口中按“*”以递归方式打开目录(当然只有子目录可见,而不是文件)。我想在Emacs中做同样的事情,但那些文件也是可见的。

2 个答案:

答案 0 :(得分:14)

使用dired-maybe-insert-subdir

前缀i命令(绑定到 dired-mode 中的C-u)为-R添加递归ls选项以递归方式插入目录。

C-u i .. R .. <RET>

答案 1 :(得分:0)

有点想法,这是我的解决方案,更清洁的输出和更简单的用法。放入你的.emacs。编辑过滤器(man find)以满足您的需求。

(defun find-dired-project (dir)
  (interactive "D")
  (find-dired dir "-not -path '*/.svn*' -not -path '*/.git*' -and -not -path '*.o' -and -type f"))
(global-set-key "\C-xd" 'find-dired-project)