In Emacs using ido-mode allows me to open a file from the minibuffer with C-xC-f. This method opens only one file at a time.
How do I open all the files in a directory or specify more than one file to open?
In Emacs using ido-mode allows me to open a file from the minibuffer with C-xC-f. This method opens only one file at a time.
How do I open all the files in a directory or specify more than one file to open?
You can just provide *
as the file name and press Enter; you'll be asked for a confirmation and if you press Enter a second time, all files in the directory will be opened.
Note that "opening all files in a directory" involves opening dired buffers for all of its subdirectories.
When not using ido-mode -- at the basic Emacs find-file prompt -- you can use the same *
to open all files in a directory. When you do use ido-mode to find files, you can always press C-f to drop back to the usual Emacs find-file prompt. (You can use ido to speed up getting to some directory you're interested in first and drop to the basic find-file in there.) That's one way of creating a new file with ido (the other being the C-j binding); also, it gives you another way of using the above mentioned *
trick.
find-file-wildcards
which needs to be set to a non-nil
value for wildcard expansion to work. See /usr/share/emacs/<version>/lisp/files.el.gz
(please adjust this path for your platform; or say C-h f find-file <RET>
, then press <RET>
again with point on files.el
), line 1314 (in my version), in the definition of the find-file
function. Let me know if this helps and I'll edit the answer to take it into account. –
Ganger (require 'ffap)
in my .emacs. When I remove (require 'ffap)
, I get the behavior you describe. –
Lassie ffap
should adjust its behaviour depending on the value of find-file-wildcards
-- no guarantees, but perhaps you might want to try it out with a (setq find-file-wildcards t)
in your ~/.emacs
. –
Ganger ido-mode
with default setting for find-file-wildcards
which is t
. Entering *.txt
after C-x
C-f
opens a file called *.txt
. –
Indented File-name groking is nowhere near as useful as more general pattern-matching.
In Icicles file-name completion, you can open any number of files matching any number of patterns, from the same minibuffer. Pattern-matching can be substring, regexp, fuzzy, or prefix, and you can combine patterns using intersection and complementing.
Just as in Ido, in Icicles your minibuffer input dynamically filters the file-name candidates. You can choose individual candidates or choose all that currently match (using C-!).
(You can of course use file-name groking also. As with Emacs file-name input generally, hitting RET on a wildcard (grok) pattern sends it to find-file
, which opens all matching files.)
© 2022 - 2024 — McMap. All rights reserved.
find
in the commandline as well. To open all Clojure files in emacs I do this:emacsclient `find . -type f -name "*.clj"`
– Tinny