The financial support of an IBM Graduate Fellowship and the National Science Foundation under grants MCS74-07644-A03 and MCS78-07291 is gratefully acknowledged.
** Brackets `[' `]' surround optional parameters here.
* The file command will say ``[Not edited]'' if the current file is not considered edited.
** This makes it easy to deal alternately with two files and eliminates the need for retyping the name supplied on an edit command after a No write since last change diagnostic is received.
*** It is also possible to refer to A through Z; the upper case buffers are the same as the lower but commands append to named buffers rather than replacing if upper case names are used.
* As an example, the command substitute can be abbreviated `s' while the shortest available abbreviation for the set command is `se'.
** Counts are rounded down if necessary.
*** Examples would be option names in a set command i.e. ``set number'', a file name in an edit command, a regular expression in a substitute command, or a target address for a copy command, i.e. ``1,5 copy 25''.
** A `p' or `l' must be preceded by a blank or tab except in the single special case `dp'.
** The forms `.+3' `+3' and `+++' are all equivalent; if the current line is line 100 they all address line 103.
*** The forms \/ and \? scan using the last regular expression used in a scan; after a substitute // and ?? would scan using the substitute's regular expression.
** Null address specifications are permitted in a list of addresses, the default in this case is the current line `.'; thus `,100' is equivalent to `.,100'. It is an error to give a prefix address to a command which expects none.
** I.e., that it is not a binary file such as a directory, a block or character special file other than /dev/tty, a terminal, or a binary or executable file (as indicated by the first word).
*** If executed from within open or visual, the current line is initially the first line of the file.
* In the rare case that the current file is `[Not edited]' this is noted also; in this case you have to use the form w! to write to the file, since the editor is not sure that a write will not destroy a file unrelated to the current contents of the buffer.
* But no modifying commands may intervene between the delete or yank and the put, nor may lines be moved between files without using a named buffer.
** Ex will also issue a diagnostic if there are more files in the argument list.
*** Within open and visual the current line is set to the first line read rather than the last.
** The system saves a copy of the file you were editing only if you have made changes to the file.
*** If you have modified the current file before giving a tag command, you must write it out; giving another tag command, specifying no tag will reuse the previous tag.
* The editor writes to a file only if it is the current file and is edited, if the file does not exist, or if the file is actually a teletype, /dev/tty, /dev/null. Otherwise, you must give the variant form w! to force the write.
* Forms `z=' and `z\(ua' also exist; `z=' places the current line in the center, surrounds it with lines of `-' characters and leaves the current line at this line. The form `z\(ua' prints the window before `z-' would. The characters `+', `\(ua' and `-' may be repeated for cumulative effect. On some v2 editors, no type may be given.
** To discern what is true with nomagic it suffices to remember that the only special characters in this case will be `\(ua' at the beginning of a regular expression, `$' at the end of a regular expression, and `\'. With nomagic the characters `~' and `&' also lose their special meanings related to the replacement pattern of a substitute.
** When nested, parenthesized subexpressions are present, n is determined by counting occurrences of `\(' starting from the left.
* Bell ringing in open and visual on errors is not suppressed by setting noeb.
** Nomagic for edit.
** 2 for edit.