In Emacs Prelude, I cannot figure out how to create a new file when a file exists that "matches" the name of the file.
In the example screen capture, I am trying to create a file called spawn.exs
in a directory that already contains a file called spawn_basic.exs
. When I use C-xC-f to create a new file, emacs is matching spawn.exs
to spawn_basic.exs
and hitting Enter results in opening spawn_basic.exs
instead of creating spawn.exs
.
I've tried some workarounds (i.e. using touch
to create the file) but I'm looking for a simpler solution that would require only one command. If there is not a command to do this, is there a way to disable the file name matching feature in Prelude? I like most everything else about Prelude compared to vanilla Emacs so I would rather not switch back.
In Prelude,
C-x C-f
is bound tohelm-find-files
. It's usually great, but for this case I don't see a good workaround for bypassing its match (as you've described).However,
ido-find-file
has a similarly friendly completion system, yet offers a nice solution to bypass the completion. When you typespawn.exs
, open by pressingC-j
instead ofRET
. I think Helm should do this too (instead of treating them the same), so you might want to submit a feature request (to match Ido's "verbatim entry").Ido works well as a
find-file
replacement, and it's recommended over Helm for simple cases like this in Mastering Emacs. So you could remap it with: