In various situations, ne
needs to ask you to choose one string
from several (where “several” can mean a lot).
For this kind of event, the requester is issued. The requester
displays the strings in as many columns as possible and lets you move
with the cursor from one string to another. The strings can fill many
screens, which are handled as consecutive pages. Most navigation keys
work exactly as in normal editing. This is true even of custom key
bindings. Thus, for instance, you can page up and down through the
list with Control-P and Control-N (in the standard keyboard
configuration).
A special feature is bound to printing characters: the requester progressively advances to entries that match the characters you type without regard to case. You can use Backspace to incrementally undo your matched characters. This progressive matching works in two modes which you can switch between on the fly with either the Insert or Delete key. In the default mode, the cursor indicating your current selection simply advances to the next matching entry (if there is one). In the other mode, all entries which don’t match the characters you’ve entered are removed from the list so you only see the matching entries. The Backspace key incrementally returns them to your list as your match becomes less specific. You can switch between the two modes as often as you wish while searching for your desired entry. This lets you quickly navigate large lists to get to the entries you really want.
One example of a requester is the list of commands appearing when you use
the Help
command. Another is the list of document words matching
a prefix given to the AutoComplete
command. A third example is
the file requester that ne
issues whenever a file operation is
going to take place. In this case, pressing Return while on a
directory name will enter that directory and refresh the requester with
that directory’s entries. Note also that, should the requester take too long to
appear, you can interrupt the directory scanning with
Control-\. However, the listing will likely be incomplete.
Yet another example of a requester is the list of documents you
currently have open. This requester is displayed when you use the
Select...
entry from the Documents
menu, or invoke the
SelectDoc
command with the f4 key. Documents with unsaved
changes will be bold (if your terminal supports bold) and marked with
an asterisk.
These documents are generally listed in the order they
were opened. However, in this requester you can reorder these documents
by using the keys bound to the NextDoc
and PrevDoc
commands, usually f2 and f3. Any document reordering and
selection will only take effect if you exit the requester with the
Return key.
You can also save named documents and close unmodified documents without
leaving the SelectDoc
requester by using the key bound to the
Save
and CloseDoc
commands respectively, usually
Control-S and Control-Q. You can’t close the last
document this way because it would cause ne
to exit.
Regardless of the type of requester, you can confirm your selection
with Return just as with the input line (see The Input Line), or
you can escape the requester without making a selection with f1
or the Escape key (or whatever has been bound to the
Escape
command).
Moreover, if you are selecting a file name through the requester there is a third possibility: by escaping with the Tab key, the file or directory name that the cursor is currently on will be copied to the input line. This allows you to choose an existing name with Tab and modify the name on the input line before hitting Return.
Note that there are two items that always appear at the top of a file requester: ./ and ../. The first one represents the current directory and can be used to force a reread of the directory. The second one represents the parent directory and can be used to move up by one directory level.
The path to file names and directories selected through the requester
will be relative to the current directory, i.e. the directory you were
in when you invoked ne
. The exception is when you’ve entered a
path on the command line that starts with a /, then hit Tab
to invoke the requester. In that case the path eventually returned by the
requester will be an absolute path. (Note that you can change the
current document’s name from relative to absolute or absolute to
relative with the NameConvert
command either on the command line
or from the Extras
menu.)
All requesters present their selections by default in “row major order,”
which means the second string is on the same row as the first but to
its right, at the top of the second column, and so on across each row
before filling in the next row down. If you prefer your lists displayed in
“column major order”—the first, second, and third strings are in
the same column and each column is filled before starting on the next
column to the right—then use the RequestOrder
command to
switch that preference. The setting can be stored in your default
preferences the next time you save them. See Preferences Commands.