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

在Emacs中使用一个命令查找多个文件,emacs,Emacs,我想知道Emacs与Vim的等价物:n,它打开了 根据一个glob有几个文件 假设我有这个目录: -rw-rw-r--1巴勃罗-巴勃罗31 Jun 25 00:59/home/pablo/tmp/prueba.php -rw-rw-r--1帕布罗·帕布罗2442 1913年5月9日/home/pablo/tmp/sin_soap.php -rw-rw-r--1 pablo pablo 726 Jun 25 15:20/home/pablo/tmp/verificar.php 我想打开所有这些文件

我想知道Emacs与Vim的等价物:n,它打开了 根据一个glob有几个文件

假设我有这个目录:

-rw-rw-r--1巴勃罗-巴勃罗31 Jun 25 00:59/home/pablo/tmp/prueba.php
-rw-rw-r--1帕布罗·帕布罗2442 1913年5月9日/home/pablo/tmp/sin_soap.php
-rw-rw-r--1 pablo pablo 726 Jun 25 15:20/home/pablo/tmp/verificar.php

我想打开所有这些文件。在Vim中,我可以键入

:n*php

这将为每个文件提供一个缓冲区;我不知道该怎么做 在Emacs中执行此操作(当它已经打开时,当然我可以执行Emacs) *php(在shell中)

我对一个可以通过m-x从任何缓冲区调用的函数很满意,但是 如果有一个命令我可以在dired模式下调用(比如,editall) 标记的文件或其他),这将是超越冷静


谢谢。

普通的
查找文件
命令C-xC-f将接受通配符并打开多个缓冲区。从文件中:

以交互方式,或者如果来自Lisp的调用中通配符为非nil, 展开通配符(如果有)并访问多个文件。你可以 通过将“查找文件通配符”设置为nil来抑制通配符扩展。
在您的示例中,您只需键入C-xC-f
*php
RET.

在dired中打开目录,或者使用find dired使用Unix find(即非
find file
)创建dired缓冲区,然后标记要打开的文件(使用
m
),然后按
f
。我不知道。多年来我一直希望能够做到这一点。这就是我使用ido查找文件所得到的结果。。。另外,我发现:如果您使用
ido find file
,您可以执行
C-x C-f~/path/to/somewhere/*.txt
,但不是按return,而是按
C-x C-f
以使用当前输入启动常规查找文件。在常规dired模式下,f通常是未绑定的。然而,我将它绑定到我在上面的评论中发布的问题中发现的defun。这需要dired-x。一个简单的(需要“dired-x”)就可以做到这一点。