ido-springboard is a hack for ido.el that has the following effect:
As you type to select a candidate, the default-directory of the minibuffer is
constantly being changed to match that of the first candidate (including
ido virtual buffers). So if you then decide to invoke a command, like M-! or
C-x C-f, it will execute in the directory of that file.
Further, executing a non-ido command like M-! will cause you to leave ido-mode
before invoking the command, so that when it's done you don't return to the
recursive minibuffer (as you would if you used M-! in the middle of an ido
Use case: I know I was editing the file foo.c in a project yesterday that
lives in some long directory name I don't have bookmarked. I just want to
"git pull" in that directory, nothing else. Since I'm using virtual buffers,
I know I can C-x b foo to get there, but it's a large file and I don't
actually need to see its contents right now.
With ido-springboard I can type C-x b foo M-! git pull RET, and away I go!
There is also springboard.el, which is a related concept but it's based on
helm. It lets you select a recent directory and then you can invoke a
command. I found ido-springboard.el to be quicker, though, since I'm more
used to using ido to bounce around files in different projects. And I
figured, since I'm already there at the ido prompt, why not allow myself the
ability to escape out of it for a quick command...