ne
has a number of flags that specify alternative
behaviors, the most prototypical example being the insert flag,
which specifies whether the text you type is inserted into the existing text
or replaces it. You can toggle this flag with the ‘Insert’ menu
item of the ‘Prefs’ menu, or with the Insert key of your
keyboard. (Toggle means to change the value of a flag from true to
false, or from false to true; see Insert.)
Another important flag is the free form flag, which specifies
whether the cursor can be moved beyond the right end of each line of
text or only to existing text (a la vi
). Programmers usually
prefer non free form editing; text writers seem to prefer free form. See
FreeForm for some elaboration. The free form flag can be set with
the ‘Free Form’ menu item of the ‘Prefs’ menu.
At this point, we suggest you explore by trial and error the other
flags of the ‘Prefs’ menu, or try the Flags
command (see Flags),
which explains all the flags and the commands that operate on
them. We prefer spending a few words discussing automatic
preferences or autoprefs, and default preferences or defprefs.
Having many flags ensures a high degree of flexibility, but it can turn
editing into a nightmare if you have to turn on and off dozens of flags
for each different kind of file you edit. ne
’s solution is to
load your default preferences whenever ne
is run before loading
any file, then additionally set your stated preferences automatically
for each file type as files are loaded. A file’s type is determined
by the extension of its file name, that is, the last group of letters
after the last dot. For instance, the extension of ne.texinfo is
‘texinfo’, the extension of source.c is ‘c’, and the
extension of my.txt is ‘txt’.
Thus, when you select the ‘Save Def Prefs’ menu item or use the
SaveDefPrefs
command, a special preferences file named
.default#ap is saved. In addition to other preferences, this file also
includes a small set of preferences which are global to ne
rather than
specific to particular document types. These preferences are: FastGUI
,
RequestOrder
, StatusBar
and VerboseMacros
;
see FastGUI, See RequestOrder, See StatusBar, and
See VerboseMacros. These extra preferences are not saved by the
SaveAutoPrefs
command.
By contrast, whenever you select the ‘Save AutoPrefs’ menu item, ne
saves
the flags of your current document to be used when
you load other files with the same extension.
These autoprefs are saved in a file in your ~/.ne
directory. This file has the same name as the extension of the current
document with ‘#ap’ appended to it. It contains all the commands
necessary to recreate your current document’s flag settings. Whenever
you open a file with this file name extension, ne
will
automagically recreate your preferred flag settings for that file type.
(There is a flag that inhibits the process; see AutoPrefs.)
Similar to preference flags, the current syntax definition is specific to the current
document type, so it also is saved in autoprefs files by the
SaveAutoPrefs
command or ‘Save AutoPrefs’ menu; it is not
saved in the .default#ap file.
Note that a preferences file—whether .default#ap or an AutoPrefs file— is just a macro (as described in the following section). Thus, it can be edited manually if necessary.
Some files have no extension, but the file type can be discerned by simple
examination. Consider for example a file named example which contains XML.
You may reasonably expect it to be treated as an .xml file rather than
a generic file. For the purposes of applying automatic preferences and
syntax definitions, ne
provides a mechanism for overriding a wrong or
missing extension with a virtual extension based on a document’s
contents. You do this by creating a ~/.ne/.extensions file which is
fully described in the Virtual Extensions section.