在 Emacs 中,如何在目录和所有子目录中搜索文件名?

在 Emacs 中,如何在目录和所有子目录中搜索文件名?

在 Emacs 中,如何在目录和所有子目录中搜索文件名?

答案1

您可以使用M-x find-name-dired。它将要求一个目录和一个通配符模式,因此您可以输入类似的内容*thing*,并将名称中带有“thing”的所有文件列在 dired 缓冲区中。

更多内容请见:http://emacswiki.org/emacs/RecursiveGrep(附带一个可以让你跳过写出星星的片段)。

答案2

在 dired 中,你可以移动到第一行,然后按下C-u l并添加R转变。然后您可以在缓冲区中搜索文件名,或者使用基于正则表达式标记文件% m

在 Linux 或带有 Cygwin 实用程序的 Windows 上,或者带有 GNU find 的其他类 unix 系统上,一种快速而肮脏的破解方法是M-x grep-find,并编辑命令行以仅包含find具有适当格式的部分:

find -type f -name '*.foo' -printf '%p:0:\n'

在任何具有可用 unix 工具的系统上,您都可以使用 运行该find命令M-! find。在输出缓冲区中,您可以使用M-x ffap访问所选文件。您还可以设置 dired-x因此C-u C-x C-f可以用来代替M-x ffap

答案3

现在,可以使用函数来实现这一点directory-files-recursively

答案4

您可以打开:*/foo.bar在当前目录的直接子目录中查找名为 foo.bar 的任何文件,或者**/foo.bar在当前目录的子目录中递归查找名为 foo.bar 的任何文件。

相关内容