在Emacs中使用一个命令查找多个文件

7
我想知道Emacs中与Vim的:n相当的命令,它根据通配符打开多个文件。假设我有以下目录:/home/pablo/tmp/prueba.php、/home/pablo/tmp/sin_soap.php和/home/pablo/tmp/verificar.php。我想要打开所有这些文件。在Vim中,我可以输入:n *php,这将为每个文件提供一个缓冲区;但我不知道如何在Emacs中实现同样的效果(当它们已经打开时,当然我可以在shell中执行“emacs *php”)。我希望有一个函数,可以通过M-x从任何缓冲区调用,但如果有一个可以在dired-mode中调用的命令(比如,编辑所有标记的文件或其他什么),那就太棒了。谢谢。
2个回答

14

find-file 是一个常规命令,可以使用 C-xC-f 快捷键打开多个文件。根据文档的说明:

如果在交互式操作中或者在 Lisp 调用中传入了 wildcards 参数,则会扩展通配符(如果有的话)并访问多个文件。你可以通过将 `find-file-wildcards' 设置为 nil 来禁止通配符扩展。

例如,在您的示例中,只需输入 C-xC-f*phpRET 即可。


1
哥们儿,我真的不知道。我想做这件事已经好几年了。 - zwol
这就是我使用ido-find-file的后果... 另外,我找到了这个:https://dev59.com/R3NA5IYBdhLWcg3wC5Xh - ptn777
如果您使用ido-find-file,则可以执行C-x C-f ~/path/to/somewhere/*.txt,但是不要按回车键,而是按C-x C-f以使用当前输入启动常规的查找文件。 - dbr

0

在dired中打开目录,或使用find-dired使用Unix find(即不是find-file)创建一个dired缓冲区,然后标记您想要打开的文件(使用m),最后按下F


F键在普通的dired-mode中通常是未绑定的。然而,我将其绑定到我在上面评论中发布的问题中找到的defun函数。 - ptn777
这需要dired-x。只需简单的(require 'dired-x)即可。 - Joel J. Adamson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接