Ex changes \- Version 1.0 to 1.1
Changes to existing features
The command form consisting of a single `!' which yielded an interactive shell
has been added in its place.
mode have been changed slightly.
In the non-open, non-visual
you no longer return to command mode when you backtab at the left margin.
has been changed to be more like it is in command mode.
You no longer can backspace over the indent,
an erase via `@' does not kill the indent,
and backtabs will not work except over the supplied indent.
more consistent and also allows a consistent interpretation of
repeated multi-line textual inputs in
The processing of hangup signals is now different\fB...\fR
see the discussion of crash recovery below.
A number of changes have been made to
The ones which affect previously existing commands are:
The digit `0' is now an operation referring to the first column of the
character no longer drops you out of
characters still get you out of
so that it is still true that you can get to command mode
Scans via `/' and `?' are now cancelled by hitting a
instead of erasing them with `@' as before.
Failed searches no longer drop you out of
instead the scan delimiter, `/' or `?', is replaced with `F'
(for failed search), the terminal bell is rung,
typeahead is discarded, and the cursor is returned to its previous position.
The character \s-2CTRL\s0(Z) in text insert mode no longer has any effect.
The editor temporary file now has twice the capacity of before,
holding up to 256K characters.
Blanks and tabs are now compressed in the temporary allowing
much larger files to be edited if they are, e.g., card images.
The major additions in this version of the editor are
in the area of crash recovery and
We first give a general description of the changes, and then
give the specific commands and operations.
The editor has been changed so that the contents of the buffer file
may be used to recover the editing state after an
The buffer file is synchronized with the editing
progress when a change of twenty of more lines has accumulated in the
(or \s-2CTRL\s0(S) operation in
Thus if the editor or system crashes, you can use the
command of the editor to retrieve the file you were working on.
For example, if a crash occurred when you were editing the file
Another, more convenient, way of doing this is to specify the
option on the command line, i.e.:
The editor will look for the buffer you were editing either in the
directory where it was being kept, or in the directory
where such files are placed after a system crash.
After recovering the file you should check that it is indeed
ok before writing it over its previous contents.
If an error occurs during the recovery operation this means that
the buffer was not in a consistent state at the time of the
crash and that you will not be able to recover in this way.
command the saved buffer is discarded.
You should therefore write out the contents of the buffer
if you want to preserve them.
When a hangup occurs and the buffer has been modified since it was
will not unlink the editor buffer in the
command as above should continue the work where it left off.
``Quota Exceeded'' and ``No Space on Device''
has been added for use in emergencies.
If you are using the editor and get one of the messages
you may wish to save your file in a safe place and seek help.
command will save the file as though the editor had just
After preserving your file you should immediately seek help.
.IP "\fBcd \fIdirectory\fR"
.IP "\fBhelp \fItopic\fR"
It accepts single word arguments and looks in the directory
for files of the given name supplying information about the given
No files of information have been prepared as yet.
The current editor buffer is saved as though the editor had just crashed.
This command is for use only in emergencies when a
command has resulted in an error and you don't know how to save
you should seek help immediately.
.IP "( \fB.\fR )\|\fBput\fR"
The lines removed from the editing buffer by the last command which
had the ability to change the buffer are restored after the addressed line.
can be used, e.g., after a
command to retrieve the lines changed away when you decide that
you want both these and the lines you replaced them with.
.IP \fBrecover\fR \fIfile\fR
may be used to retrieve the contents of the editor buffer
after a system crash, editor crash, or a
also occurs implicitly when the
option is specified on the command line.
A file name should be given to
unless the file of the current name is to be recovered.
results in the removal of the saved buffer.
The recovered buffer contents should be checked for sensibility
It is not possible to recover from errors occurring during a
restores all numeric and Boolean valued options to their default settings.
command forks an interactive shell.
When this shell is terminated,
command causes the contents of the editor temporary file to be synchronized
to reflect the current state of editing.
commands are as useful as
for those who are worried about losing work due to an editor or system crash.
.IP "( \fB.\fR , \fB.\fR )\|\fByank \fIcount\fR"
causes the contents of the addressed lines to define the text to be
The addressed lines are not affected.
New open and visual mode features
The most important new features relate to memory \-
the editor remembers the previous command in each of several
categories and allows it to be repeated by a very short (one-character)
The remembered information includes:
Last single character scan.
The last of the targeting operations
are remembered as is the target character therewith.
This combination may be used again by the abbreviation `;'.
The last of the pattern scans with
is remembered and may be repeated with the operation
in open is no longer available
The last command which modified the buffer is remembered and
may be repeated by the command form
(This may be remembered easily by association with an ellipsis
The text of the last insertion (up to 128 characters) is remembered
and may be specified in future operations by a
null character, generated by a \s-2CTRL\s0(@).
If there is no previous inserted text, or if the previous inserted
text was longer than 128 characters, the bell is rung and the
operation completes inserting no text.
If the operation was a scan via `/' or `?' it aborts as though
it had been cancelled with a
The last deleted text which was part of a single line
Previously, deleted lines were remembered but not deleted parts of lines.
Note that some commands (such as those involving a
operation) will set both the deleted and inserted text.
operations have been generalized so that if the last deleted text
was part of a line, then that text will be put after or before
the current cursor position respectively by these operations.
There are two new operators yank
which take a target and pretend it was the previous inserted or deleted
operation is especially useful when you wish to scan for something on the screen \-
and then do a scan defaulting the search with a
There are a number of new motion sequences in
causes the line specified by the preceding count to become the current
If the line is on the screen, the screen is not redrawn.
if no count is given is the last line of the file.
is a single lower case letter cause the display to return to the specified
marked line, with the marked line in the center.
The previous context mark
may also be addressed here, and it is set by the searching operations
operations if a count is given.
Marks may be set while in
operation and following it by a single lower case letter
specifying the register to be marked.
Miscellaneous changes to open and visual
at the top level, not cancelling or ending a command,
now feeds back a bell to let you know where you are.
characters in a row to get out of
The operation \s-2CTRL\s0(S) does a
command while remaining in
The operation \s-2CTRL\s0(X) is now equivalent to
This is also usable as a input kill in text insert mode within
The operation \s-2CTRL\s0(W) is equivalent to
acting as an operation as it does while inserting text.
now addresses the first position of the line.
This was difficult to refer to previously.
replaces a specified number of lines
with the following input text up to an \s-2ESC\s0
like the combination of `\e\e' and an
A multicharacter replace operation
replaces the following characters one-for-one with the text input characters
in an ``overstrike'' fashion.
operation is terminated with an \s-2ESC\s0.
but to the last screen line.
option is now implemented.
prohibits interconsole messages during a
followed by a \s-2CTRL\s0(D),
except that subsequent text is aligned at the margin.