ido: Interactive Substring Matching
2.1 Interactive Substring Matching
==================================
As you type in a substring, the list of buffers or files currently
matching the substring are displayed as you type. The list is ordered
so that the most recent buffers or files visited come at the start of
the list.
The buffer or file at the start of the list will be the one visited
when you press <RET>. By typing more of the substring, the list is
narrowed down so that gradually the buffer or file you want will be at
the top of the list. Alternatively, you can use ‘C-s’ and ‘C-r’ (or the
right and left arrow keys) to rotate buffer or file names in the list
until the one you want is at the top of the list.
Completion is also available so that you can see what is common to
all of the matching buffers or files as you type.
For example, if there are two buffers called ‘123456’ and ‘123’, with
‘123456’ the most recent, when using ‘ido-switch-buffer’, you first of
all get presented with the list of all the buffers
Buffer: {123456 | 123}
If you then press ‘2’:
Buffer: 2[3]{123456 | 123}
The list in {...} are the matching buffers, most recent first
(buffers visible in the current frame are put at the end of the list by
default). At any time you can select the item at the head of the list
by pressing <RET>. You can also put the first element at the end of the
list by pressing ‘C-s’ or ‘<right>’, or bring the last element to the
head of the list by pressing ‘C-r’ or ‘<left>’.
The item in [...] indicates what can be added to your input by
pressing <TAB> (‘ido-complete’). In this case, you will get "3" added
to your input.
So, press <TAB>:
Buffer: 23{123456 | 123}
At this point, you still have two matching buffers. If you want the
first buffer in the list, you can simply press <RET>. If you want the
second in the list, you can press ‘C-s’ to move it to the top of the
list and then press <RET> to select it.
However, if you type ‘4’, you’ll only have one match left:
Buffer: 234[123456]
Since there is only one matching buffer left, it is given in [] and
it is shown in the ‘ido-only-match’ face (ForestGreen). You can now
press <TAB> or <RET> to go to that buffer.
If you want to create a new buffer named ‘234’, you can press ‘C-j’
(‘ido-select-text’) instead of <TAB> or <RET>.
If instead, you type ‘a’:
Buffer: 234a [No match]
There are no matching buffers. If you press <RET> or <TAB>, you can
be prompted to create a new buffer called ‘234a’.
Of course, where this function comes in really useful is when you can
specify the buffer using only a few keystrokes. In the above example,
the quickest way to get to the ‘123456’ file would be just to type ‘4’
and then <RET> (assuming there isn’t any newer buffer with ‘4’ in its
name).
Likewise, if you use ‘C-x C-f’ (‘ido-find-file’), the list of files
and directories in the current directory is provided in the same fashion
as the buffers above. The files and directories are normally sorted in
alphabetical order, but the most recently visited directory is placed
first to speed up navigating to directories that you have visited
recently.
In addition to scrolling through the list using ‘<right>’ and
‘<left>’, you can use ‘<up>’ and ‘<down>’ to quickly scroll the list to
the next or previous subdirectory.
To go down into a subdirectory, and continue the file selection on
the files in that directory, simply move the directory to the head of
the list and hit <RET>.
To go up to the parent directory, delete any partial file name
already specified (e.g., using <DEL>) and hit <DEL>.
To go to the root directory (on the current drive), enter two
slashes. On MS-DOS or Windows, to select the root of another drive,
enter ‘X:/’ where ‘X’ is the drive letter. To go to the home directory,
enter ‘~/’. To enter Dired for this directory, use ‘C-d’.
You can also visit files on other hosts using the ange-ftp notations
‘/host:’ and ‘/user@host:’.
You can type ‘M-p’ and ‘M-n’ to change to previous/next directories
from the history, ‘M-s’ to search for a file matching your input, and
‘M-k’ to remove the current directory from the history.
If for some reason you cannot specify the proper file using
‘ido-find-file’, you can press ‘C-f’ to enter the normal ‘find-file’.
You can also press ‘C-b’ to drop into ‘ido-switch-buffer’.