Emacs ido-mode and creating new files in directories, it keeps changing the directory while I'm typing
Asked Answered
G

3

38

When using ido-mode in emacs, it tends to get in my way when I'm trying to create a new file inside a directory, using: C-x C-f ( start typing a new filename, which doesn't yet exist ) RET

Ordinarily this should create a new file, but when I have ido mode, I have to type the new filename really quickly, otherwise ido-mode decides to move me into a directory that has a file with a matching name, causing me to open that file, instead of creating a new file.

Does anybody know how to force ido-mode to avoid looking in directories other than the one you're currently in?

Gillard answered 20/9, 2011 at 2:52 Comment(0)
B
38

You can disable the merging (the "looking in other directories" in ido vulgo) with

(setq ido-auto-merge-work-directories-length -1)

but you can also undo the merge with C-z in ido.

Boomer answered 20/9, 2011 at 13:19 Comment(4)
Right you are :) I would not have guessed the purpose from the name of that function. Works perfectly.Gillard
Thanks, I wasn't clear what the heck "merge" meant in the ido context until I found this answer.Raye
C-z gets me what I need (I was having the exact same problem); thanks! This way I can keep the behavior (it's convenient, sometimes), but still have a way to get out of it when it's not what I want (most of the time).Colyer
"it's convenient, sometimes" you can also disable it and trigger the merge using M-s if that is what you would prefer (I do).Repine
G
27

Doing this really helps. Basically use ido-mode up until you get to the correct directory, then hit C-f again to get out of ido-mode as you type the new filename.

C-x C-f navigate to directory C-f enter new filename RET.

Gillard answered 20/9, 2011 at 5:42 Comment(1)
I have a feeling this should have more up-votes than the other answer. thxSaccharine
E
4

Use C-j to tell ido to input what you have typed rather than the first completion. This is also mentioned on emacswiki.

Eugeniusz answered 20/9, 2011 at 3:11 Comment(2)
This only works if you've finished typing the filename before it switches directory. If I've stalled halfway through typing a filename, it switches directory, then when I carry on typing, it's just matching files in some other part of my home directory.Gillard
Hmm, actually, just double typing <kbd>C-x</kbd> <kbd>C-f</kbd> <kbd>C-f</kbd> if my plan is to create a new file seems to help, since that jumps out of ido mode. It's not perfect, but it's better than it changing directory.Gillard

© 2022 - 2024 — McMap. All rights reserved.