I have C-x C-f bound to helm-find-files. Mostly this works really well, but if I hit TAB when there are no completions for an item (most often because I've fumble-fingered the directory or filename that I want completed) Helm unhelpfully creates a buffer with that mangled name.

Anyway to prevent that?

  • Helm must have some way of specifying whether reading a file or buffer name is lax or strict. If it uses (or you use) completing-read or read-file-name, they explicitly accept an argument for this purpose (called REQUIRE-MATCH for completing-read and MUSTMATCH for read-file-name).
    – Drew
    Jan 6 '19 at 21:06
  • ATM this is not possible without modifying helm-find-file-or-marked. In particular, see the (find-file (substitute-in-file-name candidate)) line.
    – jagrg
    Jun 7 '19 at 0:11

Default behavior for TAB in Helm is to show a list of actions.
C-j is for completion.
If there are no completions, C-j creates a buffer(not a file until you save it).
Pressing C-j again - kills that buffer.


A user asked about that previous behavior of TAB, completion in earlier versions:

  • Thank you. I had a customization that rebound Tab to 'helm-execute-persistent-action (making it the same as C-j). I still find the behavior that it creates a buffer a little awkward, but knowing that Tab/C-j a second time will kill it is probably good enough.
    – Norm
    Feb 14 '19 at 8:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.