ptn777
ptn777

Reputation: 238

find several files with one command in Emacs

I would like to know Emacs' equivalent of Vim's :n, which opens several files according to a glob.

Say I have this directory:

-rw-rw-r-- 1 pablo pablo 31 Jun 25 00:59 /home/pablo/tmp/prueba.php
-rw-rw-r-- 1 pablo pablo 2442 May 9 1913 /home/pablo/tmp/sin_soap.php
-rw-rw-r-- 1 pablo pablo 726 Jun 25 15:20 /home/pablo/tmp/verificar.php

And I want to open all those files. In Vim, I can type

:n *php

and that will give me one buffer for every file; I don't know how to do that in Emacs (when it's already open, of course I can do 'emacs *php' in a shell).

I'm happy with a function that I can call from any buffer via M-x, but if there's a command that I can call in dired-mode (say, edit all marked files or something), that would be beyond cool.

Thanks.

Upvotes: 7

Views: 1271

Answers (2)

Sean
Sean

Reputation: 29790

The ordinary find-file command, C-xC-f, will accept wildcards and open multiple buffers. From the documentation:

Interactively, or if wildcards is non-nil in a call from Lisp, expand wildcards (if any) and visit multiple files. You can suppress wildcard expansion by setting `find-file-wildcards' to nil.

In your example you'd just type C-xC-f*phpRET.

Upvotes: 14

Joel J. Adamson
Joel J. Adamson

Reputation: 723

Open the directory in dired, or use find-dired to create a dired buffer using Unix find (i.e. not find-file), then mark the files you want (with m) to open and press F.

Upvotes: 0

Related Questions