summaryrefslogtreecommitdiff
path: root/src/vi/ex-070224/ex.1
diff options
context:
space:
mode:
Diffstat (limited to 'src/vi/ex-070224/ex.1')
-rw-r--r--src/vi/ex-070224/ex.12045
1 files changed, 0 insertions, 2045 deletions
diff --git a/src/vi/ex-070224/ex.1 b/src/vi/ex-070224/ex.1
deleted file mode 100644
index 9e0115c..0000000
--- a/src/vi/ex-070224/ex.1
+++ /dev/null
@@ -1,2045 +0,0 @@
-.\"
-.\" This code contains changes by
-.\" Gunnar Ritter, Freiburg i. Br., Germany, 2002. All rights reserved.
-.\"
-.\" Conditions 1, 2, and 4 and the no-warranty notice below apply
-.\" to these changes.
-.\"
-.\"
-.\" Copyright (c) 1980, 1993
-.\" The Regents of the University of California. All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by the University of
-.\" California, Berkeley and its contributors.
-.\" 4. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\"
-.\" Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" Redistributions of source code and documentation must retain the
-.\" above copyright notice, this list of conditions and the following
-.\" disclaimer.
-.\" Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed or owned by Caldera
-.\" International, Inc.
-.\" Neither the name of Caldera International, Inc. nor the names of
-.\" other contributors may be used to endorse or promote products
-.\" derived from this software without specific prior written permission.
-.\"
-.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
-.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
-.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE
-.\" LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
-.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-.\"
-.\" from ex.1 6.4.1 (2.11BSD) 1996/10/21
-.\"
-.\" Sccsid @(#)ex.1 1.44 (gritter) 12/1/04
-.\"
-.ie \n(.g==1 \{\
-.ds lq \(lq
-.ds rq \(rq
-.\}
-.el \{\
-.ds lq ``
-.ds rq ''
-.\}
-.TH EX 1 "12/1/04" "Ancient Unix Ports" "User Commands"
-.SH NAME
-ex, edit \- text editor
-.SH SYNOPSIS
-.HP
-.ad l
-\fBex\fR [\fB\-c\fI\ command\fR|\fB+\fIcommand\fR]
-[\fB\-r\fR\ [\fIfilename\fR]] [\fB\-s\fR|\fB\-\fR]
-[\fB\-t\fI\ tagstring\fR] [\fB\-w\fI\ size\fR]
-[\fB\-lLRvV\fR] [\fIfile\fR ...]
-.HP
-.ad l
-\fBedit\fR [\fB\-c\fI\ command\fR|\fB+\fIcommand\fR]
-[\fB\-r\fR\ [\fIfilename\fR]] [\fB\-s\fR|\fB\-\fR]
-[\fB\-t\fI\ tagstring\fR] [\fB\-w\fI\ size\fR]
-[\fB\-lLRvV\fR] [\fIfile\fR ...]
-.br
-.ad b
-.SH DESCRIPTION
-.I Ex
-is the root of a family of editors:
-.I edit,
-.I ex
-and
-.I vi.
-.I Ex
-is a superset of
-.I ed,
-with the most notable extension being a display editing facility.
-Display based editing on
-.SM CRT
-terminals is the focus of
-.IR vi .
-.PP
-For those who have not used
-.I ed,
-or for casual users, the editor
-.I edit
-may be convenient.
-It avoids some of the complexities of
-.I ex
-used mostly by systems programmers and persons very familiar with
-.I ed.
-.PP
-The following options are accepted:
-.TP
-\fB\-c\fP\fI\ command\fP or \fB+\fP\fIcommand\fP
-Execute
-.I command
-when editing begins.
-.TP
-.B \-l
-Start in a special mode useful for the
-.I Lisp
-programming language.
-.TP
-\fB\-r\fI\ [filename]\fR or \fB\-L\fR
-When no argument is supplied with this option,
-all files to be recovered are listed
-and the editor exits immediately.
-If a
-.I filename
-is specified,
-the corresponding temporary file is opened in recovery mode.
-.TP
-.B \-R
-Files are opened read-only when this option is given.
-.TP
-.BR \-s \ or\ \-
-Script mode;
-all feedback for interactive editing is disabled.
-.SM EXINIT
-and
-.I .exrc
-files are not processed.
-.TP
-.BI \-t \ tagstring
-Read the
-.I tags
-file,
-then choose the file and position specified by
-.I tagstring
-for editing.
-.TP
-.B \-v
-Start in visual mode even if called as
-.IR ex .
-.TP
-.B \-V
-Echo command input to standard error,
-unless it originates from a terminal.
-.TP
-.BI \-w \ size
-Specify the size of the editing window for visual mode.
-.\" from ex.rm 8.1 (Berkeley) 6/8/93
-.SS "File manipulation"
-.I Ex
-is normally editing the contents of a single file,
-whose name is recorded in the
-.I current
-file name.
-.I Ex
-performs all editing actions in a buffer
-(actually a temporary file)
-into which the text of the file is initially read.
-Changes made to the buffer have no effect on the file being
-edited unless and until the buffer contents are written out to the
-file with a
-.I write
-command.
-After the buffer contents are written,
-the previous contents of the written file are no longer accessible.
-When a file is edited,
-its name becomes the current file name,
-and its contents are read into the buffer.
-.PP
-The current file is almost always considered to be
-.I edited.
-This means that the contents of the buffer are logically
-connected with the current file name,
-so that writing the current buffer contents onto that file,
-even if it exists,
-is a reasonable action.
-If the current file is not
-.I edited
-then
-.I ex
-will not normally write on it if it already exists.
-.PP
-For saving blocks of text while editing, and especially when editing
-more than one file,
-.I ex
-has a group of named buffers.
-These are similar to the normal buffer, except that only a limited number
-of operations are available on them.
-The buffers have names
-.I a
-through
-.I z.
-.SS "Exceptional Conditions"
-.PP
-When errors occur
-.I ex
-(optionally) rings the terminal bell and, in any case, prints an error
-diagnostic. If the primary input is from a file, editor processing
-will terminate. If an interrupt signal is received,
-.I ex
-prints \*(lqInterrupt\*(rq and returns to its command level. If the primary
-input is a file, then
-.I ex
-will exit when this occurs.
-.PP
-If a hangup signal is received and the buffer has been modified since
-it was last written out, or if the system crashes, either the editor
-(in the first case) or the system (after it reboots in the second) will
-attempt to preserve the buffer. The next time the user logs in he should be
-able to recover the work he was doing, losing at most a few lines of
-changes from the last point before the hangup or editor crash. To
-recover a file one can use the
-.B \-r
-option. If one was editing the file
-.I resume,
-then he should change
-to the directory where he were when the crash occurred, giving the command
-.RS
-.sp
-\fBex \-r\fP\fI resume\fP
-.sp
-.RE
-After checking that the retrieved file is indeed ok, he can
-.I write
-it over the previous contents of that file.
-.PP
-The user will normally get mail from the system telling him when a file has
-been saved after a crash. The command
-.RS
-.sp
-\fBex\fP \-\fBr\fP
-.sp
-.RE
-will print a list of the files which have been saved for the user.
-.\"(In the case of a hangup,
-.\"the file will not appear in the list,
-.\"although it can be recovered.)
-.SS "Editing modes"
-.PP
-.I Ex
-has five distinct modes. The primary mode is
-.I command
-mode. Commands are entered in command mode when a `:' prompt is
-present, and are executed each time a complete line is sent. In
-.I "text input"
-mode
-.I ex
-gathers input lines and places them in the file. The
-.I append,
-.I insert,
-and
-.I change
-commands use text input mode.
-No prompt is printed when in text input mode.
-This mode is left by typing a `.' alone at the beginning of a line, and
-.I command
-mode resumes.
-.PP
-The last three modes are
-.I open
-and
-.I visual
-modes, entered by the commands of the same name, and, within open and
-visual modes
-.I "text insertion"
-mode.
-.I Open
-and
-.I visual
-modes allow local editing operations to be performed on the text in the
-file. The
-.I open
-command displays one line at a time on any terminal while
-.I visual
-works on
-.SM CRT
-terminals with random positioning cursors, using the
-screen as a (single) window for file editing changes.
-These modes are described (only) in
-.I "An Introduction to Display Editing with Vi."
-.SS "Command structure"
-.PP
-Most command names are English words,
-and initial prefixes of the words are acceptable abbreviations.
-The ambiguity of abbreviations is resolved in favor of the more commonly
-used commands.
-.PP
-Most commands accept prefix addresses specifying the lines in the file
-upon which they are to have effect.
-The forms of these addresses will be discussed below.
-A number of commands also may take a trailing
-.I count
-specifying the number of lines to be involved in the command.
-Thus the command \*(lq10p\*(rq will print the tenth line in the buffer while
-\*(lqdelete 5\*(rq will delete five lines from the buffer,
-starting with the current line.
-.PP
-Some commands take other information or parameters,
-this information always being given after the command name.
-.PP
-A number of commands have two distinct variants.
-The variant form of the command is invoked by placing an
-`!' immediately after the command name.
-Some of the default variants may be controlled by options;
-in this case, the `!' serves to toggle the default.
-.PP
-The characters `#', `p' and `l' may be placed after many commands
-(A `p' or `l' must be preceded by a blank or tab
-except in the single special case `dp').
-In this case, the command abbreviated by these characters
-is executed after the command completes.
-Since
-.I ex
-normally prints the new current line after each change, `p' is rarely necessary.
-Any number of `+' or `\-' characters may also be given with these flags.
-If they appear, the specified offset is applied to the current line
-value before the printing command is executed.
-.PP
-It is possible to give editor commands which are ignored.
-This is useful when making complex editor scripts
-for which comments are desired.
-The comment character is the double quote: ".
-Any command line beginning with " is ignored.
-Comments beginning with " may also be placed at the ends
-of commands, except in cases where they could be confused as part
-of text (shell escapes and the substitute and map commands).
-.PP
-More than one command may be placed on a line by separating each pair
-of commands by a `|' character.
-However the
-.I global
-commands,
-comments,
-and the shell escape `!'
-must be the last command on a line, as they are not terminated by a `|'.
-.SS "Command addressing"
-.IP \fB.\fR 20
-The current line.
-Most commands leave the current line as the last line which they affect.
-The default address for most commands is the current line,
-thus `\fB.\fR' is rarely used alone as an address.
-.IP \fIn\fR 20
-The \fIn\fRth line in the editor's buffer, lines being numbered
-sequentially from 1.
-.IP \fB$\fR 20
-The last line in the buffer.
-.IP \fB%\fR 20
-An abbreviation for \*(lq1,$\*(rq, the entire buffer.
-.IP \fI+n\fR\ \fI\-n\fR 20
-An offset relative to the current buffer line.
-The forms `.+3' `+3' and `+++' are all equivalent;
-if the current line is line 100 they all address line 103.
-.IP \fB/\fIpat\fR\fB/\fR\ \fB?\fIpat\fR\fB?\fR 20
-Scan forward and backward respectively for a line containing \fIpat\fR, a
-regular expression (as defined below). The scans normally wrap around the end
-of the buffer.
-If all that is desired is to print the next line containing \fIpat\fR, then
-the trailing \fB/\fR or \fB?\fR may be omitted.
-If \fIpat\fP is omitted or explicitly empty, then the last
-regular expression specified is located.
-The forms \fB\e/\fP and \fB\e?\fP scan
-using the last regular expression used in a scan; after a substitute
-\fB//\fP and \fB??\fP would scan using the substitute's regular expression.
-.IP \fB\(aa\(aa\fP\ \fB\(aa\fP\fIx\fP 20
-Before each non-relative motion of the current line `\fB.\fP',
-the previous current line is marked with a tag, subsequently referred to as
-`\(aa\(aa'.
-This makes it easy to refer or return to this previous context.
-Marks may also be established by the
-.I mark
-command, using single lower case letters
-.I x
-and the marked lines referred to as
-`\(aa\fIx\fR'.
-.PP
-Addresses to commands consist of a series of addressing primitives,
-separated by `,' or `;'.
-Such address lists are evaluated left-to-right.
-When addresses are separated by `;' the current line `\fB.\fR'
-is set to the value of the previous addressing expression
-before the next address is interpreted.
-If more addresses are given than the command requires,
-then all but the last one or two are ignored.
-If the command takes two addresses, the first addressed line must
-precede the second in the buffer.
-.PP
-Null address specifications are permitted in a list of addresses,
-the default in this case is the current line `.';
-thus `,100' is equivalent to `\fB.\fR,100'.
-It is an error to give a prefix address to a command which expects none.
-.SS "Command descriptions"
-.PP
-The following form is a prototype for all
-.I ex
-commands:
-.RS
-.sp
-\fIaddress\fR \fBcommand\fR \fI! parameters count flags\fR
-.sp
-.RE
-All parts are optional; the degenerate case is the empty command which prints
-the next line in the file. For sanity with use from within
-.I visual
-mode,
-.I ex
-ignores a \*(lq:\*(rq preceding any command.
-.PP
-In the following command descriptions, the
-default addresses are shown in parentheses,
-which are
-.I not,
-however,
-part of the command.
-.TP
-\fBabbreviate\fR \fIword rhs\fP abbr: \fBab\fP
-Add the named abbreviation to the current list.
-When in input mode in visual, if
-.I word
-is typed as a complete word, it will be changed to
-.I rhs .
-.LP
-( \fB.\fR ) \fBappend\fR abbr: \fBa\fR
-.br
-\fItext\fR
-.br
-\&\fB.\fR
-.RS
-Reads the input text and places it after the specified line.
-After the command, `\fB.\fR'
-addresses the last line input or the
-specified line if no lines were input.
-If address `0' is given,
-text is placed at the beginning of the buffer.
-.RE
-.LP
-\fBa!\fR
-.br
-\fItext\fR
-.br
-\&\fB.\fR
-.RS
-The variant flag to
-.I append
-toggles the setting for the
-.I autoindent
-option during the input of
-.I text.
-.RE
-.TP
-\fBargs\fR
-The members of the argument list are printed, with the current argument
-delimited by `[' and `]'.
-.TP
-\fBcd\fR \fIdirectory\fR
-The
-.I cd
-command is a synonym for
-.I chdir.
-.LP
-( \fB.\fP , \fB.\fP ) \fBchange\fP \fIcount\fP abbr: \fBc\fP
-.br
-\fItext\fP
-.br
-\&\fB.\fP
-.RS
-Replaces the specified lines with the input \fItext\fP.
-The current line becomes the last line input;
-if no lines were input it is left as for a
-\fIdelete\fP.
-.RE
-.LP
-\fBc!\fP
-.br
-\fItext\fP
-.br
-\&\fB.\fP
-.RS
-The variant toggles
-.I autoindent
-during the
-.I change.
-.RE
-.TP
-\fBchdir\fR \fIdirectory\fR
-The specified \fIdirectory\fR becomes the current directory.
-If no directory is specified, the current value of the
-.I home
-option is used as the target directory.
-After a
-.I chdir
-the current file is not considered to have been
-edited so that write restrictions on pre-existing files apply.
-.TP
-( \fB.\fP , \fB.\fP )\|\fBcopy\fP \fIaddr\fP \fIflags\fP abbr: \fBco\fP
-A \fIcopy\fP
-of the specified lines is placed after
-.I addr,
-which may be `0'.
-The current line
-`\fB.\fR'
-addresses the last line of the copy.
-The command
-.I t
-is a synonym for
-.I copy.
-.TP
-( \fB.\fR , \fB.\fR )\|\fBdelete\fR \fIbuffer\fR \fIcount\fR \fIflags\fR abbr: \fBd\fR
-Removes the specified lines from the buffer.
-The line after the last line deleted becomes the current line;
-if the lines deleted were originally at the end,
-the new last line becomes the current line.
-If a named
-.I buffer
-is specified by giving a letter,
-then the specified lines are saved in that buffer,
-or appended to it if an upper case letter is used.
-.LP
-\fBedit\fR \fIfile\fR abbr: \fBe\fR
-.br
-\fBex\fR \fIfile\fR
-.RS
-Used to begin an editing session on a new file.
-The editor
-first checks to see if the buffer has been modified since the last
-.I write
-command was issued.
-If it has been,
-a warning is issued and the
-command is aborted.
-The
-command otherwise deletes the entire contents of the editor buffer,
-makes the named file the current file and prints the new filename.
-After insuring that this file is sensible
-(i.e., that it is not a binary file such as a directory,
-a block or character special file other than
-.I /dev/tty,
-a terminal,
-or a binary or executable file),
-the editor reads the file into its buffer.
-.PP
-If the read of the file completes without error,
-the number of lines and characters read is typed.
-Any null characters in the file are discarded.
-If none of these errors occurred, the file is considered
-.I edited.
-If the last line of the input file is missing the trailing
-newline character, it will be supplied and a complaint will be issued.
-This command leaves the current line `\fB.\fR' at the last line read.
-If executed from within
-.I open
-or
-.I visual,
-the current line is initially the first line of the file.
-.RE
-.TP
-\fBe!\fR \fIfile\fR
-The variant form suppresses the complaint about modifications having
-been made and not written from the editor buffer, thus
-discarding all changes which have been made before editing the new file.
-.TP
-\fBe\fR \fB+\fIn\fR \fIfile\fR
-Causes the editor to begin at line
-.I n
-rather than at the last line;
-\fIn\fR may also be an editor command containing no spaces,
-e.g.: \*(lq+/pat\*(rq.
-.TP
-\fBfile\fR abbr: \fBf\fR
-Prints the current file name,
-whether it has been `[Modified]' since the last
-.I write
-command,
-whether it is
-.I "read only" ,
-the current line,
-the number of lines in the buffer,
-and the percentage of the way through the buffer of the current line.
-In the rare case that the current file is `[Not edited]' this is
-noted also; in this case one has to use the form \fBw!\fR to write to
-the file, since the editor is not sure that a \fBwrite\fR will not
-destroy a file unrelated to the current contents of the buffer.
-.TP
-\fBfile\fR \fIfile\fR
-The current file name is changed to
-.I file
-which is considered
-`[Not edited]'.
-.TP
-( 1 , $ ) \fBglobal\fR /\fIpat\|\fR/ \fIcmds\fR abbr: \fBg\fR
-First marks each line among those specified which matches
-the given regular expression.
-Then the given command list is executed with `\fB.\fR' initially
-set to each marked line.
-.IP
-The command list consists of the remaining commands on the current
-input line and may continue to multiple lines by ending all but the
-last such line with a `\e'.
-If
-.I cmds
-(and possibly the trailing \fB/\fR delimiter) is omitted, each line matching
-.I pat
-is printed.
-.I Append,
-.I insert,
-and
-.I change
-commands and associated input are permitted;
-the `\fB.\fR' terminating input may be omitted if it would be on the
-last line of the command list.
-.I Open
-and
-.I visual
-commands are permitted in the command list and take input from the terminal.
-.IP
-The
-.I global
-command itself may not appear in
-.I cmds.
-The
-.I undo
-command is also not permitted there,
-as
-.I undo
-instead can be used to reverse the entire
-.I global
-command.
-The options
-.I autoprint
-and
-.I autoindent
-are inhibited during a
-.I global,
-(and possibly the trailing \fB/\fR delimiter) and the value of the
-.I report
-option is temporarily infinite,
-in deference to a \fIreport\fR for the entire global.
-Finally, the context mark `\'\'' is set to the value of
-`.' before the global command begins and is not changed during a global
-command,
-except perhaps by an
-.I open
-or
-.I visual
-within the
-.I global.
-.TP
-\fBg!\fR \fB/\fIpat\fB/\fR \fIcmds\fR abbr: \fBv\fR
-The variant form of \fIglobal\fR runs \fIcmds\fR at each line not matching
-\fIpat\fR.
-.LP
-( \fB.\fR )\|\fBinsert\fR abbr: \fBi\fR
-.br
-\fItext\fR
-.br
-\&\fB.\fR
-.RS
-Places the given text before the specified line.
-The current line is left at the last line input;
-if there were none input it is left at the line before the addressed line.
-This command differs from
-.I append
-only in the placement of text.
-.RE
-.LP
-\fBi!\fR
-.br
-\fItext\fR
-.br
-\&\fB.\fR
-.RS
-The variant toggles
-.I autoindent
-during the
-.I insert.
-.RE
-.TP
-( \fB.\fR , \fB.\fR+1 ) \fBjoin\fR \fIcount\fR \fIflags\fR abbr: \fBj\fR
-Places the text from a specified range of lines
-together on one line.
-White space is adjusted at each junction to provide at least
-one blank character, two if there was a `\fB.\fR' at the end of the line,
-or none if the first following character is a `)'.
-If there is already white space at the end of the line,
-then the white space at the start of the next line will be discarded.
-.TP
-\fBj!\fR
-The variant causes a simpler
-.I join
-with no white space processing; the characters in the lines are simply
-concatenated.
-.TP
-( \fB.\fR ) \fBk\fR \fIx\fR
-The
-.I k
-command is a synonym for
-.I mark.
-It does not require a blank or tab before the following letter.
-.TP
-( \fB.\fR , \fB.\fR ) \fBlist\fR \fIcount\fR \fIflags\fR
-Prints the specified lines in a more unambiguous way:
-tabs are printed as `^I'
-and the end of each line is marked with a trailing `$'.
-The current line is left at the last line printed.
-.TP
-\fBmap\fR[\fB!\fR] \fIlhs\fR \fIrhs\fR
-The
-.I map
-command is used to define macros for use in
-.I visual
-command mode.
-.I Lhs
-should be a single character, or the sequence \*(lq#n\*(rq, for n a digit,
-referring to function key \fIn\fR. When this character or function key
-is typed in
-.I visual
-mode, it will be as though the corresponding \fIrhs\fR had been typed.
-On terminals without function keys, the user can type \*(lq#n\*(rq.
-If the `\fB!\fP' character follows the command name,
-the mapping is interpreted in input mode.
-See section 6.9 of the \*(lqIntroduction to Display Editing with Vi\*(rq
-for more details.
-.TP
-( \fB.\fR ) \fBmark\fR \fIx\fR
-Gives the specified line mark
-.I x,
-a single lower case letter.
-The
-.I x
-must be preceded by a blank or a tab.
-The addressing form `\'x' then addresses this line.
-The current line is not affected by this command.
-.TP
-( \fB.\fR , \fB.\fR ) \fBmove\fR \fIaddr\fR abbr: \fBm\fR
-The
-.I move
-command repositions the specified lines to be after
-.I addr .
-The first of the moved lines becomes the current line.
-.TP
-\fBnext\fR abbr: \fBn\fR
-The next file from the command line argument list is edited.
-.TP
-\fBn!\fR
-The variant suppresses warnings about the modifications to the buffer not
-having been written out, discarding (irretrievably) any changes which may
-have been made.
-.LP
-\fBn\fR \fIfilelist\fR
-.br
-\fBn\fR \fB+\fIcommand\fR \fIfilelist\fR
-.RS
-The specified
-.I filelist
-is expanded and the resulting list replaces the
-current argument list;
-the first file in the new list is then edited.
-If
-.I command
-is given (it must contain no spaces), then it is executed after editing the first such file.
-.RE
-.TP
-( \fB.\fR , \fB.\fR ) \fBnumber\fR \fIcount\fR \fIflags\fR abbr: \fB#\fR or \fBnu\fR
-Prints each specified line preceded by its buffer line
-number.
-The current line is left at the last line printed.
-.LP
-( \fB.\fR ) \fBopen\fR \fIflags\fR abbr: \fBo\fR
-.br
-( \fB.\fR ) \fBopen\fR /\fIpat\|\fR/ \fIflags\fR
-.RS
-Enters intraline editing \fIopen\fR mode at each addressed line.
-If
-.I pat
-is given,
-then the cursor will be placed initially at the beginning of the
-string matched by the pattern.
-To exit this mode use Q.
-See
-.I "An Introduction to Display Editing with Vi"
-for more details.
-.RE
-.TP
-\fBpreserve\fR
-The current editor buffer is saved as though the system had just crashed.
-This command is for use only in emergencies when a
-.I write
-command has resulted in an error.
-.TP
-( \fB.\fR , \fB.\fR )\|\fBprint\fR \fIcount\fR abbr: \fBp\fR or \fBP\fR
-Prints the specified lines
-with non-printing characters printed as control characters `^\fIx\fR\|';
-delete (octal 177) is represented as `^?'.
-The current line is left at the last line printed.
-.TP
-( \fB.\fR )\|\fBput\fR \fIbuffer\fR abbr: \fBpu\fR
-Puts back
-previously
-.I deleted
-or
-.I yanked
-lines.
-Normally used with
-.I delete
-to effect movement of lines,
-or with
-.I yank
-to effect duplication of lines.
-If no
-.I buffer
-is specified, then the last
-.I deleted
-or
-.I yanked
-text is restored.
-But no modifying commands may intervene between the
-.I delete
-or
-.I yank
-and the
-.I put,
-nor may lines be moved between files without using a named buffer.
-By using a named buffer, text may be restored that was saved there at any
-previous time.
-.TP
-\fBquit\fR abbr: \fBq\fR
-Causes
-.I ex
-to terminate.
-No automatic write of the editor buffer to a file is performed.
-However,
-.I ex
-issues a warning message if the file has changed
-since the last
-.I write
-command was issued, and does not
-.I quit.
-\fIEx\fR
-will also issue a diagnostic if there are more files in the argument
-list.
-.FE
-Normally, the user will wish to save his changes, and he
-should give a \fIwrite\fR command;
-if he wishes to discard them, he should the \fBq!\fR command variant.
-.TP
-\fBq!\fR
-Quits from the editor, discarding changes to the buffer without complaint.
-.TP
-( \fB.\fR ) \fBread\fR \fIfile\fR abbr: \fBr\fR
-Places a copy of the text of the given file in the
-editing buffer after the specified line.
-If no
-.I file
-is given the current file name is used.
-The current file name is not changed unless there is none in which
-case
-.I file
-becomes the current name.
-The sensibility restrictions for the
-.I edit
-command apply here also.
-If the file buffer is empty and there is no current name then
-.I ex
-treats this as an
-.I edit
-command.
-.IP
-Address `0' is legal for this command and causes the file to be read at
-the beginning of the buffer.
-Statistics are given as for the
-.I edit
-command when the
-.I read
-successfully terminates.
-After a
-.I read
-the current line is the last line read.
-Within
-.I open
-and
-.I visual
-the current line is set to the first line read rather than the last.
-.TP
-( \fB.\fR ) \fBread\fR \fB!\fR\fIcommand\fR
-Reads the output of the command
-.I command
-into the buffer after the specified line.
-This is not a variant form of the command, rather a read
-specifying a
-.I command
-rather than a
-.I filename;
-a blank or tab before the \fB!\fR is mandatory.
-.TP
-\fBrecover \fIfile\fR
-Recovers
-.I file
-from the system save area.
-Used after a accidental hangup of the phone
-or a system crash or
-.I preserve
-command.
-Except when
-.I preserve
-is used, the user will be notified by mail when a file is saved.
-.TP
-\fBrewind\fR abbr: \fBrew\fR
-The argument list is rewound, and the first file in the list is edited.
-.TP
-\fBrew!\fR
-Rewinds the argument list discarding any changes made to the current buffer.
-.TP
-\fBset\fR \fIparameter\fR
-With no arguments, prints those options whose values have been
-changed from their defaults;
-with parameter
-.I all
-it prints all of the option values.
-.IP
-Giving an option name followed by a `?'
-causes the current value of that option to be printed.
-The `?' is unnecessary unless the option is Boolean valued.
-Boolean options are given values either by the form
-`set \fIoption\fR' to turn them on or
-`set no\fIoption\fR' to turn them off;
-string and numeric options are assigned via the form
-`set \fIoption\fR=value'.
-.IP
-More than one parameter may be given to
-.I set \|;
-they are interpreted left-to-right.
-.IP
-A list of options can be found below.
-.TP
-\fBshell\fR abbr: \fBsh\fR
-A new shell is created.
-When it terminates, editing resumes.
-.TP
-\fBsource\fR \fIfile\fR abbr: \fBso\fR
-Reads and executes commands from the specified file.
-.I Source
-commands may be nested.
-.LP
-.ad l
-(\ \fB.\fR\ ,\ \fB.\fR\ )\ \fBsubstitute\fR\ /\fIpat\fR\|/\fIrepl\fR\|/\ \fIoptions\fR\ \fIcount\fR\ \fIflags\fR
-.RS
-abbr: \fBs\fR
-.br
-.ad b
-On each specified line, the first instance of pattern
-.I pat
-is replaced by replacement pattern
-.I repl.
-If the
-.I global
-indicator option character `g'
-appears, then all instances are substituted;
-if the
-.I confirm
-indication character `c' appears,
-then before each substitution the line to be substituted
-is typed with the string to be substituted marked
-with `^' characters.
-By typing an `y' one can cause the substitution to be performed,
-any other input causes no change to take place.
-After a
-.I substitute
-the current line is the last line substituted.
-.PP
-Lines may be split by substituting
-new-line characters into them.
-The newline in
-.I repl
-must be escaped by preceding it with a `\e'.
-Other metacharacters available in
-.I pat
-and
-.I repl
-are described below.
-.RE
-.TP
-.B stop
-Suspends the editor, returning control to the top level shell.
-If
-.I autowrite
-is set and there are unsaved changes,
-a write is done first unless the form
-.B stop !
-is used.
-This commands is only available where supported by the teletype driver,
-shell and operating system.
-.TP
-( \fB.\fR , \fB.\fR ) \fBsubstitute\fR \fIoptions\fR \fIcount\fR \fIflags\fR abbr: \fBs\fR
-If
-.I pat
-and
-.I repl
-are omitted, then the last substitution is repeated.
-This is a synonym for the
-.B &
-command.
-.TP
-( \fB.\fR , \fB.\fR ) \fBt\fR \fIaddr\fR \fIflags\fR
-The
-.I t
-command is a synonym for
-.I copy .
-.TP
-\fBta\fR \fItag\fR
-The focus of editing switches to the location of
-.I tag,
-switching to a different line in the current file where it is defined,
-or if necessary to another file.
-.IP
-The tags file is normally created by a program such as
-.I ctags,
-and consists of a number of lines with three fields separated by blanks
-or tabs. The first field gives the name of the tag,
-the second the name of the file where the tag resides, and the third
-gives an addressing form which can be used by the editor to find the tag;
-this field is usually a contextual scan using `/\fIpat\fR/' to be immune
-to minor changes in the file. Such scans are always performed as if
-.I nomagic
-was set.
-.IP
-The tag names in the tags file must be sorted alphabetically.
-.TP
-\fBunabbreviate\fR \fIword\fP abbr: \fBuna\fP
-Delete
-.I word
-from the list of abbreviations.
-.TP
-\fBundo\fR abbr: \fBu\fR
-Reverses the changes made in the buffer by the last
-buffer editing command.
-Note that
-.I global
-commands are considered a single command for the purpose of
-.I undo
-(as are
-.I open
-and
-.I visual.)
-Also, the commands
-.I write
-and
-.I edit
-which interact with the
-file system cannot be undone.
-.I Undo
-is its own inverse.
-.IP
-.I Undo
-always marks the previous value of the current line `\fB.\fR'
-as `\'\''.
-After an
-.I undo
-the current line is the first line restored
-or the line before the first line deleted if no lines were restored.
-For commands with more global effect
-such as
-.I global
-and
-.I visual
-the current line regains it's pre-command value after an
-.I undo.
-.TP
-\fBunmap\fR[\fB!\fR] \fIlhs\fR
-The macro expansion associated by
-.I map
-for
-.I lhs
-is removed.
-.TP
-( 1 , $ ) \fBv\fR /\fIpat\fR\|/ \fIcmds\fR
-A synonym for the
-.I global
-command variant \fBg!\fR, running the specified \fIcmds\fR on each
-line which does not match \fIpat\fR.
-.TP
-\fBversion\fR abbr: \fBve\fR
-Prints the current version number of the editor
-as well as the date the editor was last changed.
-.TP
-( \fB.\fR ) \fBvisual\fR \fItype\fR \fIcount\fR \fIflags\fR abbr: \fBvi\fR
-Enters visual mode at the specified line.
-.I Type
-is optional and may be `\-' , `^' or `\fB.\fR'
-as in the
-.I z
-command to specify the placement of the specified line on the screen.
-By default, if
-.I type
-is omitted, the specified line is placed as the first on the screen.
-A
-.I count
-specifies an initial window size; the default is the value of the option
-.I window.
-See the document
-.I "An Introduction to Display Editing with Vi"
-for more details.
-To exit this mode, type Q.
-.LP
-\fBvisual\fP file
-.br
-\fBvisual\fP +\fIn\fP file
-.RS
-From visual mode,
-this command is the same as edit.
-.RE
-.TP
-( 1 , $ ) \fBwrite\fR \fIfile\fR abbr: \fBw\fR
-Writes changes made back to \fIfile\fR, printing the number of lines and
-characters written.
-Normally \fIfile\fR is omitted and the text goes back where it came from.
-If a \fIfile\fR is specified, then text will be written to that file.
-If the file does not exist it is created.
-The current file name is changed only if there is no current file
-name; the current line is never changed.
-.IP
-If an error occurs while writing the current and
-.I edited
-file, the editor
-considers that there has been \*(lqNo write since last change\*(rq
-even if the buffer had not previously been modified.
-.TP
-( 1 , $ ) \fBwrite>>\fR \fIfile\fR abbr: \fBw>>\fR
-Writes the buffer contents at the end of
-an existing file.
-.IP
-.TP
-\fBw!\fR \fIname\fR
-Overrides the checking of the normal \fIwrite\fR command,
-and will write to any file which the system permits.
-.TP
-( 1 , $ ) \fBw\fR \fB!\fR\fIcommand\fR
-Writes the specified lines into
-.I command.
-Note the difference between \fBw!\fR which overrides checks and
-\fBw\ \ !\fR which writes to a command.
-.TP
-\fBwq\fR \fIname\fR
-Like a \fIwrite\fR and then a \fIquit\fR command.
-.TP
-\fBwq!\fR \fIname\fR
-The variant overrides checking on the sensibility of the
-.I write
-command, as \fBw!\fR does.
-.TP
-\fBxit\fP \fIname\fR
-If any changes have been made
-and not written to any file,
-writes the buffer out.
-Then, in any case, quits.
-.TP
-( \fB.\fR , \fB.\fR )\|\fByank\fR \fIbuffer\fR \fIcount\fR abbr: \fBya\fR
-Places the specified lines in the named
-.I buffer,
-for later retrieval via
-.I put.
-If no buffer name is specified, the lines go to a more volatile place;
-see the \fIput\fR command description.
-.TP
-( \fB.+1\fR ) \fBz\fR \fIcount\fR
-Print the next \fIcount\fR lines, default \fIwindow\fR.
-.TP
-( \fB.\fR ) \fBz\fR \fItype\fR \fIcount\fR
-Prints a window of text with the specified line at the top.
-If \fItype\fR is `\-' the line is placed at the bottom; a `\fB.\fR' causes
-the line to be placed in the center.
-A count gives the number of lines to be displayed rather than
-double the number specified by the \fIscroll\fR option.
-On a \s-1CRT\s0 the screen is cleared before display begins unless a
-count which is less than the screen size is given.
-The current line is left at the last line printed.
-Forms `z=' and `z^' 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^' prints the window before `z\-'
-would. The characters `+', `^' and `\-' may be repeated for cumulative
-effect.
-.TP
-\fB!\fR \fIcommand\fR\fR
-The remainder of the line after the `!' character is sent to a shell
-to be executed.
-Within the text of
-.I command
-the characters
-`%' and `#' are expanded as in filenames and the character
-`!' is replaced with the text of the previous command.
-Thus, in particular,
-`!!' repeats the last such shell escape.
-If any such expansion is performed, the expanded line will be echoed.
-The current line is unchanged by this command.
-.IP
-If there has been \*(lq[No\ write]\*(rq of the buffer contents since the last
-change to the editing buffer, then a diagnostic will be printed
-before the command is executed as a warning.
-A single `!' is printed when the command completes.
-.TP
-( \fIaddr\fR , \fIaddr\fR ) \fB!\fR \fIcommand\fR\fR
-Takes the specified address range and supplies it as
-standard input to
-.I command;
-the resulting output then replaces the input lines.
-.TP
-( $ ) \fB=\fR
-Prints the line number of the
-addressed line.
-The current line is unchanged.
-.LP
-( \fB.\fR , \fB.\fR ) \fB>\fR \fIcount\fR \fIflags\fR
-.br
-( \fB.\fR , \fB.\fR ) \fB<\fR \fIcount\fR \fIflags\fR
-.RS
-Perform intelligent shifting on the specified lines;
-\fB<\fR shifts left and \fB>\fR shift right.
-The quantity of shift is determined by the
-.I shiftwidth
-option and the repetition of the specification character.
-Only white space (blanks and tabs) is shifted;
-no non-white characters are discarded in a left-shift.
-The current line becomes the last line which changed due to the
-shifting.
-.RE
-.TP
-\fB^D\fR
-An end-of-file from a terminal input scrolls through the file.
-The
-.I scroll
-option specifies the size of the scroll, normally a half screen of text.
-.LP
-( \fB.\fR+1 , \fB.\fR+1 )
-.br
-( \fB.\fR+1 , \fB.\fR+1 ) |
-.RS
-An address alone causes the addressed lines to be printed.
-A blank line prints the next line in the file.
-.RE
-.TP
-( \fB.\fR , \fB.\fR ) \fB&\fR \fIoptions\fR \fIcount\fR \fIflags\fR
-Repeats the previous
-.I substitute
-command.
-.TP
-( \fB.\fR , \fB.\fR ) \fB\s+2~\s0\fR \fIoptions\fR \fIcount\fR \fIflags\fR
-Replaces the previous regular expression with the previous
-replacement pattern from a substitution.
-.SS "Regular expressions"
-.PP
-A regular expression specifies a set of strings of characters.
-A member of this set of strings is said to be
-.I matched
-by the regular expression.
-.I Ex
-remembers two previous regular expressions:
-the previous regular expression used in a
-.I substitute
-command
-and the previous regular expression used elsewhere
-(referred to as the previous \fIscanning\fR regular expression.)
-The previous regular expression
-can always be referred to by a null \fIre\fR, e.g. `//' or `??'.
-.PP
-The following basic constructs are used to construct
-.I magic
-mode regular expressions.
-.IP \fIchar\fR 15
-An ordinary character matches itself.
-The characters `\fB^\fR' at the beginning of a line,
-`\fB$\fR' at the end of line,
-`\fB*\fR' as any character other than the first,
-`\fB.\fR', `\fB\e\fR', `\fB[\fR',
-and `\s+2\fB~\fR\s0' are not ordinary characters and
-must be escaped (preceded) by `\fB\e\fR' to be treated as such.
-.IP \fB^\fR
-At the beginning of a pattern
-forces the match to succeed only at the beginning of a line.
-.IP \fB$\fR
-At the end of a regular expression forces the match to
-succeed only at the end of the line.
-.IP \&\fB.\fR
-Matches any single character except
-the new-line character.
-.IP \fB\e<\fR
-Forces the match
-to occur only at the beginning of a \*(lqvariable\*(rq or \*(lqword\*(rq;
-that is, either at the beginning of a line, or just before
-a letter, digit, or underline and after a character not one of
-these.
-.IP \fB\e>\fR
-Similar to `\e<', but matching the end of a \*(lqvariable\*(rq
-or \*(lqword\*(rq, i.e. either the end of the line or before character
-which is neither a letter, nor a digit, nor the underline character.
-.IP \fB[\fIstring\fR\fB]\fR
-Matches any (single) character in the class defined by
-.I string.
-Most characters in
-.I string
-define themselves.
-.br
-\ \ A pair of characters separated by `\fB\-\fR' in
-.I string
-defines the set of characters collating between the specified lower and upper
-bounds, thus `[a\-z]' as a regular expression matches
-any (single)
-.SM ASCII
-lower-case letter.
-.br
-\ \ If the sequence `\fB[:\fIclass\fB:]\fR' appears in
-.IR string ,
-where class is one of
-.RB ` alnum ',
-.RB ` alpha ',
-.RB ` blank ',
-.RB ` cntrl ',
-.RB ` digit ',
-.RB ` graph ',
-.RB ` lower ',
-.RB ` print ',
-.RB ` punct ',
-.RB ` space ',
-.RB ` upper ',
-.RB ` xdigit ',
-or a locale-specific character class,
-all characters that belong to the given class are matched.
-Thus `[[:lower:]]' matches any lower-case letter,
-possibly including characters beyond the scope of
-.SM ASCII.
-.br
-\ \ If the first character of
-.I string
-is an `\fB^\fR' then the construct
-matches those characters which it otherwise would not;
-thus `[^a\-z]' matches anything but an
-.SM ASCII
-lower-case letter
-(and of course a newline).
-.br
-\ \ Backslash `\e' is interpreted as an escape character.
-To place a `\e' character in
-.IR string ,
-write it twice: `\e\e';
-to place any of the characters
-`^', `[', or `\-' in
-.IR string ,
-you escape them with a preceding `\e'.
-.br
-\ \ Characters also lose their special meaning by position:
-`^' is an ordinary character unless immediately
-following the initial `[',
-`]' is an ordinary character if immediately
-following the initial `[' (or `^', if present),
-and `\-' is an ordinary character if placed immediately
-behind `[' or `^', or before ']'.
-.PP
-The concatenation of two regular expressions matches the leftmost and
-then longest string
-which can be divided with the first piece matching the first regular
-expression and the second piece matching the second.
-.PP
-A regular expression may be enclosed between the sequences
-`\fB\e(\fR' and `\fB\e)\fR',
-which matches whatever the enclosed expression matches.
-.PP
-Any of the (single character matching) regular expressions mentioned above
-or a regular expression surrounded by `\e(' and '\e)'
-may be followed by the character `\fB*\fR' to form a regular expression
-which matches any number of adjacent occurrences (including 0) of characters
-matched by the regular expression it follows.
-.PP
-A single character regular expression
-or a regular expression surrounded by `\e(' and '\e)'
-followed by `\fB\e{\fIm\fB,\fIn\fB\e}\fR'
-matches a sequence of \fIm\fP through \fIn\fP occurences, inclusive,
-of the single character expression.
-The values of \fIm\fP and \fIn\fP
-must be non-negative and smaller than 255.
-The form `\fB\e{\fIm\fB\e}\fR' matches exactly \fIm\fP occurences,
-`\fB\e{\fIm\fB,\e}\fR' matches at least \fIm\fP occurences.
-.PP
-The character `\s+2\fB~\fR\s0' may be used in a regular expression,
-and matches the text which defined the replacement part
-of the last
-.I substitute
-command.
-.PP
-The sequence `\fB\e\fIn\fR' matches the text that was matched by the
-\fIn\fR-th regular subexpression enclosed between `\e(' and `\e)'
-earlier in the expression.
-.SS "Substitute replacement patterns"
-.PP
-The basic metacharacters for the replacement pattern are
-`\fB&\fR', `\fB~\fR', and `\fB#\fR'; the first two of them are
-given as `\fB\e&\fR' and `\fB\e~\fR' when
-.I nomagic
-is set.
-Each instance of `\fB&\fR' is replaced by the characters
-which the regular expression matched.
-The metacharacter `\fB~\fR' stands, in the replacement pattern,
-for the defining text of the previous replacement pattern.
-If the entire replacement pattern is `\fB#\fR',
-the defining text of the previous replacement pattern is used.
-.PP
-Other metasequences possible in the replacement pattern
-are always introduced by the escaping character `\fB\e\fR'.
-The sequence `\fB\e\fIn\fR' is replaced by the text matched
-by the \fIn\fR-th regular subexpression enclosed between
-`\e(' and `\e)'.
-When nested, parenthesized subexpressions are present,
-\fIn\fR is determined by counting occurrences of `\e(' starting from the left.
-The sequences `\fB\eu\fR' and `\fB\el\fR'
-cause the immediately following character in
-the replacement to be converted to upper- or lower-case respectively
-if this character is a letter.
-The sequences `\fB\eU\fR' and `\fB\eL\fR'
-turn such conversion on,
-either until `\fB\eE\fR' or `\fB\ee\fR' is encountered,
-or until the end of the replacement pattern.
-.SS "Option descriptions"
-.PP
-.TP
-\fBautoindent\fR, \fBai\fR default: noai
-Can be used to ease the preparation of structured program text.
-At the beginning of each
-.I append ,
-.I change
-or
-.I insert
-command
-or when a new line is
-.I opened
-or created by an
-.I append ,
-.I change ,
-.I insert ,
-or
-.I substitute
-operation within
-.I open
-or
-.I visual
-mode,
-.I ex
-looks at the line being appended after,
-the first line changed
-or the line inserted before and calculates the amount of white space
-at the start of the line.
-It then aligns the cursor at the level of indentation so determined.
-.IP
-If the user then types lines of text in,
-they will continue to be justified at the displayed indenting level.
-If more white space is typed at the beginning of a line,
-the following line will start aligned with the first non-white character
-of the previous line.
-To back the cursor up to the preceding tab stop one can hit
-\fB^D\fR.
-The tab stops going backwards are defined at multiples of the
-.I shiftwidth
-option.
-The user
-.I cannot
-backspace over the indent,
-except by sending an end-of-file with a \fB^D\fR.
-.IP
-Specially processed in this mode is a line with no characters added
-to it, which turns into a completely blank line (the white
-space provided for the
-.I autoindent
-is discarded.)
-Also specially processed in this mode are lines beginning with
-an `^' and immediately followed by a \fB^D\fR.
-This causes the input to be repositioned at the beginning of the line,
-but retaining the previous indent for the next line.
-Similarly, a `0' followed by a \fB^D\fR
-repositions at the beginning but without
-retaining the previous indent.
-.IP
-.I Autoindent
-doesn't happen in
-.I global
-commands or when the input is not a terminal.
-.TP
-\fBautoprint\fR, \fBap\fR default: ap
-Causes the current line to be printed after each
-.I delete ,
-.I copy ,
-.I join ,
-.I move ,
-.I substitute ,
-.I t ,
-.I undo
-or
-shift command.
-This has the same effect as supplying a trailing `p'
-to each such command.
-.I Autoprint
-is suppressed in globals,
-and only applies to the last of many commands on a line.
-.TP
-\fBautowrite\fR, \fBaw\fR default: noaw
-Causes the contents of the buffer to be written to the current file
-if the user has modified it and gives a
-.I next,
-.I rewind,
-.I stop,
-.I tag,
-or
-.I !
-command, or a \fB^^\fR (switch files) or \fB^]\fR (tag goto) command
-in
-.I visual.
-Note, that the
-.I edit
-and
-.I ex
-commands do
-.B not
-autowrite.
-In each case, there is an equivalent way of switching when autowrite
-is set to avoid the
-.I autowrite
-(\fIedit\fR
-for
-.I next ,
-.I rewind!
-for .I rewind ,
-.I stop!
-for
-.I stop ,
-.I tag!
-for
-.I tag ,
-.I shell
-for
-.I ! ,
-and
-\fB:e\ #\fR and a \fB:ta!\fR command from within
-.I visual).
-.TP
-\fBbeautify\fR, \fBbf\fR default: nobeautify
-Causes all control characters except tab, newline and form-feed
-to be discarded from the input.
-A complaint is registered the first time a
-backspace character is discarded.
-.I Beautify
-does not apply to command input.
-.TP
-\fBdirectory\fR, \fBdir\fR default: dir=/tmp
-Specifies the directory in which
-.I ex
-places its buffer file.
-If this directory in not
-writable, then the editor will exit abruptly when it fails to be
-able to create its buffer there.
-.TP
-\fBedcompatible\fR default: noedcompatible
-Causes the presence of absence of
-.B g
-and
-.B c
-suffixes on substitute commands to be remembered, and to be toggled
-by repeating the suffices. The suffix
-.B r
-makes the substitution be as in the
-.I ~
-command, instead of like
-.I &.
-.TP
-\fBerrorbells\fR, \fBeb\fR default: noeb
-Error messages are preceded by a bell.
-Bell ringing in
-.I open
-and
-.I visual
-on errors is not suppressed by setting
-.I noeb.
-If possible the editor always places the error message in a standout mode of the
-terminal (such as inverse video) instead of ringing the bell.
-.TP
-\fBexrc\fR default: noexrc
-If set, the current directory is searched for a
-.I .exrc
-file on startup.
-If this file is found,
-its content is treated as
-.I ex
-commands and executed immediately after the contents of
-.I $HOME/.exrc
-on startup.
-.TP
-\fBflash\fR, \fBfl\fR default: flash
-If the terminal provides the \*(lqvisual bell\*(rq capability,
-ex will use it instead of the audible bell if
-.I flash
-is set.
-.TP
-\fBhardtabs\fR, \fBht\fR default: ht=8
-Gives the boundaries on which terminal hardware tabs are set (or
-on which the system expands tabs).
-.TP
-\fBignorecase\fR, \fBic\fR default: noic
-All upper case characters in the text are mapped to lower case in regular
-expression matching.
-In addition, all upper case characters in regular expressions are mapped
-to lower case except in character class specifications.
-.TP
-\fBlisp\fR default: nolisp
-\fIAutoindent\fR indents appropriately for
-.I lisp
-code, and the \fB( ) { } [[\fR and \fB]]\fR commands in
-.I open
-and
-.I visual
-are modified to have meaning for \fIlisp\fR.
-.TP
-\fBlist\fR default: nolist
-All printed lines will be displayed (more) unambiguously,
-showing tabs and end-of-lines as in the
-.I list
-command.
-.TP
-\fBmagic\fR default: magic for \fIex\fR and \fIvi\fR, \fINomagic\fR for \fIedit\fR.
-If
-.I nomagic
-is set, the number of regular expression metacharacters is greatly reduced,
-with only `^' and `$' having special effects.
-In addition the metacharacters
-`~'
-and
-`&'
-of the replacement pattern are treated as normal characters.
-All the normal metacharacters may be made
-.I magic
-when
-.I nomagic
-is set by preceding them with a `\e'.
-.TP
-\fBmesg\fR default: mesg
-Causes write permission to be turned off to the terminal
-while the user is in visual mode, if
-.I nomesg
-is set.
-.TP
-\fBmodelines, ml\fR default: nomodelines
-If
-.I modelines
-is set, then the first 5 lines and the last five lines of the file
-will be checked for ex command lines and the comands issued.
-To be recognized as a command line, the line must have the string
-.B ex:
-or
-.B vi:
-in it.
-.\" preceeded by a tab or a space.
-This string may be anywhere in the line and anything after the
-.I :
-is interpeted as editor commands. This option defaults to off because
-of unexpected behavior when editting files such as
-.I /etc/passwd.
-.TP
-\fBnumber, nu\fR default: nonumber
-Causes all output lines to be printed with their
-line numbers.
-In addition each input line will be prompted for by supplying the line number
-it will have.
-.TP
-\fBopen\fR default: open
-If \fInoopen\fR, the commands
-.I open
-and
-.I visual
-are not permitted.
-.\"This is set for
-.\".I edit
-.\"to prevent confusion resulting from accidental entry to
-.\"open or visual mode.
-.TP
-\fBoptimize, opt\fR default: optimize
-Throughput of text is expedited by setting the terminal
-to not do automatic carriage returns
-when printing more than one (logical) line of output,
-greatly speeding output on terminals without addressable
-cursors when text with leading white space is printed.
-.TP
-\fBparagraphs,\ para\fR default: para=IPLPPPQPP\0LIbp
-Specifies the paragraphs for the \fB{\fR and \fB}\fR operations in
-.I open
-and
-.I visual.
-The pairs of characters in the option's value are the names
-of the macros which start paragraphs.
-.TP
-\fBprompt\fR default: prompt
-Command mode input is prompted for with a `:'.
-.TP
-\fBredraw\fR default: noredraw
-The editor simulates (using great amounts of output), an intelligent
-terminal on a dumb terminal (e.g. during insertions in
-.I visual
-the characters to the right of the cursor position are refreshed
-as each input character is typed.)
-Useful only at very high speed.
-.TP
-\fBremap\fP default: remap
-If on, macros are repeatedly tried until they are unchanged.
-For example, if
-.B o
-is mapped to
-.B O ,
-and
-.B O
-is mapped to
-.B I ,
-then if
-.I remap
-is set,
-.B o
-will map to
-.B I ,
-but if
-.I noremap
-is set, it will map to
-.B O .
-.TP
-\fBreport\fR default: report=5, 2 for \fIedit\fR.
-Specifies a threshold for feedback from commands.
-Any command which modifies more than the specified number of lines
-will provide feedback as to the scope of its changes.
-For commands such as
-.I global ,
-.I open ,
-.I undo ,
-and
-.I visual
-which have potentially more far reaching scope,
-the net change in the number of lines in the buffer is
-presented at the end of the command, subject to this same threshold.
-Thus notification is suppressed during a
-.I global
-command on the individual commands performed.
-.TP
-\fBscroll\fR default: scroll=\(12 window
-Determines the number of logical lines scrolled when an end-of-file
-is received from a terminal input in command mode,
-and the number of lines printed by a command mode
-.I z
-command (double the value of
-.I scroll ).
-.TP
-\fBsections\fR default: sections=SHNHH\0HU
-Specifies the section macros for the \fB[[\fR and \fB]]\fR operations
-in
-.I open
-and
-.I visual.
-The pairs of characters in the options's value are the names
-of the macros which start paragraphs.
-.TP
-\fBshell\fR, \fBsh\fR default: sh=/bin/sh
-Gives the path name of the shell forked for
-the shell escape command `!', and by the
-.I shell
-command.
-The default is taken from SHELL in the environment, if present.
-.TP
-\fBshiftwidth\fR, \fBsw\fR default: sw=8
-Gives the width a software tab stop,
-used in reverse tabbing with \fB^D\fR when using
-.I autoindent
-to append text,
-and by the shift commands.
-.TP
-\fBshowmatch, sm\fR default: nosm
-In
-.I open
-and
-.I visual
-mode, when a \fB)\fR or \fB}\fR is typed, move the cursor to the matching
-\fB(\fR or \fB{\fR for one second if this matching character is on the
-screen. Extremely useful with
-.I lisp.
-.TP
-\fBshowmode, smd\fR default: nosmd
-In
-.I visual
-mode, show a description of the current editing mode
-in the window's lower right corner.
-.TP
-\fBslowopen, slow\fR terminal dependent
-Affects the display algorithm used in
-.I visual
-mode, holding off display updating during input of new text to improve
-throughput when the terminal in use is both slow and unintelligent.
-See
-.I "An Introduction to Display Editing with Vi"
-for more details.
-.TP
-\fBtabstop,\ ts\fR default: ts=8
-The editor expands tabs in the input file to be on
-.I tabstop
-boundaries for the purposes of display.
-.TP
-\fBtaglength,\ tl\fR default: tl=0
-Tags are not significant beyond this many characters.
-A value of zero (the default) means that all characters are significant.
-.TP
-\fBtags\fR default: tags=tags /usr/lib/tags
-A path of files to be used as tag files for the
-.I tag
-command.
-A requested tag is searched for in the specified files, sequentially.
-By default, files called
-.B tags
-are searched for in the current directory and in /usr/lib
-(a master file for the entire system).
-.TP
-\fBterm\fR from environment TERM
-The terminal type of the output device.
-.TP
-\fBterse\fR default: noterse
-Shorter error diagnostics are produced for the experienced user.
-.TP
-\fBwarn\fR default: warn
-Warn if there has been `[No write since last change]' before a `!'
-command escape.
-.TP
-\fBwindow\fR default: window=speed dependent
-The number of lines in a text window in the
-.I visual
-command.
-The default is 8 at slow speeds (600 baud or less),
-16 at medium speed (1200 baud),
-and the full screen (minus one line) at higher speeds.
-.TP
-\fBw300,\ w1200,\ w9600\fR
-These are not true options but set
-.B window
-only if the speed is slow (300), medium (1200), or high (9600),
-respectively.
-They are suitable for an EXINIT
-and make it easy to change the 8/16/full screen rule.
-.TP
-\fBwrapscan\fR, \fBws\fR default: ws
-Searches using the regular expressions in addressing
-will wrap around past the end of the file.
-.TP
-\fBwrapmargin\fR, \fBwm\fR default: wm=0
-Defines a margin for automatic wrapover of text during input in
-.I open
-and
-.I visual
-modes. See
-.I "An Introduction to Text Editing with Vi"
-for details.
-.TP
-\fBwriteany\fR, \fBwa\fR default: nowa
-.IP
-Inhibit the checks normally made before
-.I write
-commands, allowing a write to any file which the system protection
-mechanism will allow.
-.SH "ENVIRONMENT VARIABLES"
-.PP
-The following environment variables affect the behaviour of ex:
-.TP
-.B COLUMNS
-Overrides the system-supplied number of terminal columns.
-.TP
-.B EXINIT
-Contains commands to execute at editor startup.
-If this variable is present, the
-.I .exrc
-file in the user's home directory is ignored.
-.TP
-.B HOME
-Used to locate the editor startup file.
-.TP
-.BR LANG ", " LC_ALL
-See
-.IR locale (7).
-.TP
-.B LC_CTYPE
-Determines the mapping of bytes to characters,
-types of characters,
-case conversion
-and composition of character classes in regular expressions.
-.TP
-.B LC_MESSAGES
-Sets the language used for diagnostic and informal messages.
-.TP
-.B LINES
-Overrides the system-supplied number of terminal lines.
-.TP
-.B NLSPATH
-See
-.IR catopen (3).
-.TP
-.B SHELL
-The program file used to execute external commands.
-.TP
-.B TERM
-Determines the terminal type.
-.SH FILES
-.TP
-.B /usr/lib/ex/expreserve
-preserve command
-.TP
-.B /usr/lib/ex/exrecover
-recover command
-.TP
-.B /etc/termcap
-describes capabilities of terminals
-.TP
-.B $HOME/.exrc
-editor startup file
-.TP
-.B /var/tmp/Ex\fInnnnnnnnnn\fP
-editor temporary
-.TP
-.B /var/tmp/Rx\fInnnnnnnnnn\fP
-named buffer temporary
-.TP
-.B /var/lib/ex
-preservation directory
-.SH DOCUMENTATION
-The document
-.I "Edit: A tutorial"
-(USD:14) provides a comprehensive introduction to
-.I edit
-assuming no previous knowledge of computers or the
-.SM UNIX
-system.
-.PP
-The
-.I "Ex Reference Manual \(en Version 3.7"
-(USD:16)
-is a comprehensive and complete manual for the command mode features
-of
-.I ex.
-.\"but one cannot learn to use the editor by reading it.
-The
-.SM \fIUSAGE\fP
-section of this page is taken from the manual.
-For an introduction to
-more advanced forms of editing using the command mode of
-.I ex
-see the editing documents written by Brian Kernighan for the editor
-.I ed;
-the material in the introductory and advanced documents works also with
-.I ex.
-.PP
-.I "An Introduction to Display Editing with Vi"
-(USD:15)
-introduces the display editor
-.I vi
-and provides reference material on
-.I vi.
-(This reference now forms the
-.IR vi (1)
-manual page).
-In addition, the
-.I "Vi Quick Reference"
-card summarizes the commands
-of
-.I vi
-in a useful, functional way, and is useful with the
-.I Introduction.
-.SH SEE ALSO
-awk(1),
-ed(1),
-grep(1),
-sed(1),
-grep(1),
-vi(1),
-catopen(3),
-termcap(5),
-environ(7),
-locale(7),
-regex(7)
-.SH AUTHOR
-Originally written by William Joy.
-.PP
-Mark Horton has maintained the editor since version 2.7, adding macros,
-support for many unusual terminals,
-and other features such as word abbreviation mode.
-.PP
-This version incorporates changes by Gunnar Ritter.
-.SH NOTES
-.I Undo
-never clears the buffer modified condition.
-.PP
-The
-.I z
-command prints a number of logical rather than physical lines.
-More than a screen full of output may result if long lines are present.
-.PP
-File input/output errors don't print a name if the command line \fB`\-'\fR
-option is used.
-.\".PP
-.\"There is no easy way to do a single scan ignoring case.
-.PP
-The editor does not warn if text is placed in named buffers and not used
-before exiting the editor.
-.PP
-Null (00) characters are converted to 0200 characters
-when reading input files,
-and cannot appear in resultant files.
-.PP
-LC_COLLATE locales are ignored;
-collating symbols `[.c.]'
-and equivalence classes `[=c=]'
-in bracket expressions are recognized but useless
-since `c' is restricted to a single character
-and is the only character matched;
-range expressions `[a\-m]' are always evaluated in byte order.