我想在 Dired 中显示一个目录,其中一些子目录以递归方式打开(好像我为它们传递了“R”选项)。是否可以在 Emacs 中执行此操作?任何想法如何在 Elisp 中轻松实现这一点?
在 Windows 资源管理器中,我会在文件夹窗口中按“*”以递归方式打开一个目录(当然只有子目录可见,而不是文件)。我想在 Emacs 中做同样的事情,但这些文件也是可见的。
前缀dired-maybe-insert-subdir
命令(绑定到i
dired -mode)C-u
添加递归-R
选项以递归ls
地插入目录。
C-u i
...... R
_<RET>
玩了一下这个想法,这是我的解决方案,更清晰的输出和更简单的用法。放入您的 .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)