Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 26 Apr 2015 02:47:37 -0700
From:      Garrett Cooper <yaneurabeya@gmail.com>
To:        Baptiste Daroussin <bapt@FreeBSD.org>
Cc:        "src-committers@freebsd.org" <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r281994 - in head: . share/doc/usd share/doc/usd/10.exref share/doc/usd/10.exref/exref share/doc/usd/10.exref/summary share/doc/usd/11.vitut share/doc/usd/12.vi share/doc/usd/12.vi/summ...
Message-ID:  <DA9ECCC7-ECA7-4731-97D0-59055DB3FE75@gmail.com>
In-Reply-To: <201504260752.t3Q7qi0s063835@svn.freebsd.org>
References:  <201504260752.t3Q7qi0s063835@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This broke the build ;/..



> On Apr 26, 2015, at 00:52, Baptiste Daroussin <bapt@FreeBSD.org> wrote:
>=20
> Author: bapt
> Date: Sun Apr 26 07:52:43 2015
> New Revision: 281994
> URL: https://svnweb.freebsd.org/changeset/base/281994
>=20
> Log:
>  Reincorporate documentation lost with update to nvi 2.1.3
>=20
> Added:
>  head/share/doc/usd/10.exref/
>     - copied from r281378, head/share/doc/usd/10.exref/
>     - copied unchanged from r281372, head/contrib/nvi/docs/USD.doc/exref/e=
x.rm
>     - copied unchanged from r281372, head/contrib/nvi/docs/USD.doc/exref/e=
x.summary
>  head/share/doc/usd/11.vitut/
>     - copied from r281378, head/share/doc/usd/11.vitut/
>     - copied unchanged from r281372, head/contrib/nvi/docs/USD.doc/edit/ed=
ittut.ms
>  head/share/doc/usd/12.vi/
>     - copied from r281378, head/share/doc/usd/12.vi/
>     - copied unchanged from r281372, head/contrib/nvi/docs/USD.doc/vitut/v=
i.summary
>     - copied unchanged from r281372, head/contrib/nvi/docs/USD.doc/vitut/v=
i.in
>     - copied unchanged from r281372, head/contrib/nvi/docs/USD.doc/vitut/v=
i.apwh.ms
>  head/share/doc/usd/13.viref/
>     - copied from r281378, head/share/doc/usd/13.viref/
>     - copied unchanged from r281372, head/contrib/nvi/docs/USD.doc/vi.ref/=
ex.cmd.roff
>     - copied unchanged from r281372, head/contrib/nvi/docs/USD.doc/vi.ref/=
ref.so
>     - copied unchanged from r281372, head/contrib/nvi/docs/USD.doc/vi.ref/=
set.opt.roff
>     - copied unchanged from r281372, head/contrib/nvi/docs/USD.doc/vi.ref/=
vi.cmd.roff
>     - copied unchanged from r281372, head/contrib/nvi/docs/USD.doc/vi.ref/=
vi.ref
> Directory Properties:
>  head/share/doc/usd/10.exref/exref/ex.rm   (props changed)
>  head/share/doc/usd/10.exref/summary/ex.summary   (props changed)
>  head/share/doc/usd/11.vitut/edittut.ms   (props changed)
>  head/share/doc/usd/12.vi/summary/vi.summary   (props changed)
>  head/share/doc/usd/12.vi/vi/vi.in   (props changed)
>  head/share/doc/usd/12.vi/viapwh/vi.apwh.ms   (props changed)
>  head/share/doc/usd/13.viref/ex.cmd.roff   (props changed)
>  head/share/doc/usd/13.viref/ref.so   (props changed)
>  head/share/doc/usd/13.viref/set.opt.roff   (props changed)
>  head/share/doc/usd/13.viref/vi.cmd.roff   (props changed)
>  head/share/doc/usd/13.viref/vi.ref   (props changed)
> Modified:
>  head/ObsoleteFiles.inc
>  head/share/doc/usd/10.exref/Makefile.inc
>  head/share/doc/usd/11.vitut/Makefile
>  head/share/doc/usd/12.vi/Makefile.inc
>  head/share/doc/usd/13.viref/Makefile
>  head/share/doc/usd/Makefile
>=20
> Modified: head/ObsoleteFiles.inc
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
> --- head/ObsoleteFiles.inc    Sun Apr 26 06:52:19 2015    (r281993)
> +++ head/ObsoleteFiles.inc    Sun Apr 26 07:52:43 2015    (r281994)
> @@ -56,18 +56,6 @@ OLD_FILES+=3Dusr/include/altq/altq_rmclass
> OLD_FILES+=3Dusr/include/altq/altq_cbq.h
> OLD_FILES+=3Dusr/include/altq/altq_rio.h
> OLD_DIRS+=3Dusr/include/altq
> -# 20150410
> -OLD_FILES+=3Dusr/share/doc/usd/10.exref/paper.ascii.gz
> -OLD_FILES+=3Dusr/share/doc/usd/10.exref/summary.ascii.gz
> -OLD_DIRS+=3Dusr/share/doc/usd/10.exref
> -OLD_FILES+=3Dusr/share/doc/usd/11.edit/paper.ascii.gz
> -OLD_DIRS+=3Dusr/share/doc/usd/11.edit
> -OLD_FILES+=3Dusr/share/doc/usd/12.vi/paper.ascii.gz
> -OLD_FILES+=3Dusr/share/doc/usd/12.vi/summary.ascii.gz
> -OLD_FILES+=3Dusr/share/doc/usd/12.vi/viapwh.ascii.gz
> -OLD_DIRS+=3Dusr/share/doc/usd/12.vi
> -OLD_FILES+=3Dusr/share/doc/usd/13.viref/paper.ascii.gz
> -OLD_DIRS+=3Dusr/share/doc/usd/13.viref
> # 20150329
> .if ${TARGET_ARCH} =3D=3D "arm"
> OLD_FILES+=3Dusr/include/bootconfig.h
>=20
> Modified: head/share/doc/usd/10.exref/Makefile.inc
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
> --- head/share/doc/usd/10.exref/Makefile.inc    Fri Apr 10 19:04:39 2015  =
  (r281378)
> +++ head/share/doc/usd/10.exref/Makefile.inc    Sun Apr 26 07:52:43 2015  =
  (r281994)
> @@ -2,4 +2,3 @@
>=20
> VOLUME=3D    usd/10.exref
> MACROS=3D    -ms
> -SRCDIR=3D    ${.CURDIR}/../../../../../contrib/nvi/docs/USD.doc/exref
>=20
> Copied: head/share/doc/usd/10.exref/exref/ex.rm (from r281372, head/contri=
b/nvi/docs/USD.doc/exref/ex.rm)
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
> --- /dev/null    00:00:00 1970    (empty, because file is newly added)
> +++ head/share/doc/usd/10.exref/exref/ex.rm    Sun Apr 26 07:52:43 2015   =
 (r281994, copy of r281372, head/contrib/nvi/docs/USD.doc/exref/ex.rm)
> @@ -0,0 +1,2213 @@
> +.\" 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 th=
e
> +.\"    documentation and/or other materials provided with the distributio=
n.
> +.\" 3. All advertising materials mentioning features or use of this softw=
are
> +.\"    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 contributo=
rs
> +.\"    may be used to endorse or promote products derived from this softw=
are
> +.\"    without specific prior written permission.
> +.\"
> +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' A=
ND
> +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE=

> +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PU=
RPOSE
> +.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIA=
BLE
> +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUE=
NTIAL
> +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOO=
DS
> +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)=

> +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, S=
TRICT
> +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY=
 WAY
> +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY O=
F
> +.\" SUCH DAMAGE.
> +.\"
> +.\"    @(#)ex.rm    8.5 (Berkeley) 8/18/96
> +.\"
> +.nr LL 6.5i
> +.nr FL 6.5i
> +.EH 'USD:12-%''Ex Reference Manual'
> +.OH 'Ex Reference Manual''USD:12-%'
> +.nr )P 0
> +.de ZP
> +.nr pd \\n()P
> +.nr )P 0
> +.if \\n(.$=3D0 .IP
> +.if \\n(.$=3D1 .IP "\\$1"
> +.if \\n(.$>=3D2 .IP "\\$1" "\\$2"
> +.nr )P \\n(pd
> +.rm pd
> +..
> +.de LC
> +.br
> +.sp .1i
> +.ne 4
> +.LP
> +.ta 4.0i
> +..
> +.bd S B 3
> +.\".RP
> +.TL
> +Ex Reference Manual
> +.br
> +Version 3.7
> +.AU
> +William Joy
> +.AU
> +Mark Horton
> +.AI
> +Computer Science Division
> +Department of Electrical Engineering and Computer Science
> +University of California, Berkeley
> +Berkeley, Ca.  94720
> +.AB
> +.I Ex
> +a line oriented text editor, which supports both command and display
> +oriented editing.
> +This reference manual describes the command oriented part of
> +.I ex;
> +the display editing features of
> +.I ex
> +are described in
> +.I "An Introduction to Display Editing with Vi."
> +Other documents about the editor include the introduction
> +.I "Edit: A tutorial",
> +the
> +.I "Ex/edit Command Summary",
> +and a
> +.I "Vi Quick Reference"
> +card.
> +.AE
> +.NH 1
> +Starting ex
> +.PP
> +.FS
> +The financial support of an \s-2IBM\s0 Graduate Fellowship and the Nation=
al
> +Science Foundation under grants MCS74-07644-A03 and MCS78-07291 is gratef=
ully
> +acknowledged.
> +.FE
> +Each instance of the editor has a set of options,
> +which can be set to tailor it to your liking.
> +The command
> +.I edit
> +invokes a version of
> +.I ex
> +designed for more casual or beginning
> +users by changing the default settings of some of these options.
> +To simplify the description which follows we
> +assume the default settings of the options.
> +.PP
> +When invoked,
> +.I ex
> +determines the terminal type from the \s-2TERM\s0 variable in the environ=
ment.
> +It there is a \s-2TERMCAP\s0 variable in the environment, and the type
> +of the terminal described there matches the \s-2TERM\s0 variable,
> +then that description
> +is used.  Also if the \s-2TERMCAP\s0 variable contains a pathname (beginn=
ing
> +with a \fB/\fR) then the editor will seek the description of the terminal=

> +in that file (rather than the default /etc/termcap).
> +If there is a variable \s-2EXINIT\s0 in the environment, then the editor
> +will execute the commands in that variable,
> +otherwise if there is a file
> +.I \&.exrc
> +in your \s-2HOME\s0 directory
> +.I ex
> +reads commands from that file, simulating a
> +.I source
> +command.
> +Option setting commands placed in
> +\s-2EXINIT\s0 or
> +.I \&.exrc
> +will be executed before each editor session.
> +.PP
> +A command to enter
> +.I ex
> +has the following prototype:\(dg
> +.FS
> +\(dg Brackets `[' `]' surround optional parameters here.
> +.FE
> +.DS
> +\fBex\fP [ \fB\-\fP ] [ \fB\-v\fP ] [ \fB\-t\fP \fItag\fP ] [ \fB\-r\fP ]=
 [ \fB\-l\fP ] [ \fB\-w\fP\fIn\fP ] [ \fB\-x\fP ] [ \fB\-R\fP ] [ \fB+\fP\fI=
command\fP ] name ...
> +.DE
> +The most common case edits a single file with no options, i.e.:
> +.DS
> +\fBex\fR name
> +.DE
> +The
> +.B \-
> +command line option
> +option suppresses all interactive-user feedback
> +and is useful in processing editor scripts in command files.
> +The
> +.B \-v
> +option is equivalent to using
> +.I vi
> +rather than
> +.I ex.
> +The
> +.B \-t
> +option is equivalent to an initial
> +.I tag
> +command, editing the file containing the
> +.I tag
> +and positioning the editor at its definition.
> +The
> +.B \-r
> +option is used in recovering after an editor or system crash,
> +retrieving the last saved version of the named file or,
> +if no file is specified,
> +typing a list of saved files.
> +The
> +.B \-l
> +option sets up for editing \s-2LISP\s0, setting the
> +.I showmatch
> +and
> +.I lisp
> +options.
> +The
> +.B \-w
> +option sets the default window size to
> +.I n,
> +and is useful on dialups to start in small windows.
> +The
> +.B \-x
> +option causes
> +.I ex
> +to prompt for a
> +.I key ,
> +which is used to encrypt and decrypt the contents of the file,
> +which should already be encrypted using the same key,
> +see
> +.I crypt (1).
> +The
> +.B \-R
> +option sets the
> +.I readonly
> +option at the start.
> +.I Name
> +arguments indicate files to be edited.
> +An argument of the form
> +\fB+\fIcommand\fR
> +indicates that the editor should begin by executing the specified command=
.
> +If
> +.I command
> +is omitted, then it defaults to ``$'', positioning the editor at the last=

> +line of the first file initially.  Other useful commands here are scannin=
g
> +patterns of the form ``/pat'' or line numbers, e.g. ``+100'' starting
> +at line 100.
> +.NH 1
> +File manipulation
> +.NH 2
> +Current file
> +.PP
> +.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=20
> +.I edited
> +then
> +.I ex
> +will not normally write on it if it already exists.*
> +.FS
> +* The
> +.I file
> +command will say ``[Not edited]'' if the current file is not considered
> +edited.
> +.FE
> +.NH 2
> +Alternate file
> +.PP
> +Each time a new value is given to the current file name,
> +the previous current file name is saved as the
> +.I alternate
> +file name.
> +Similarly if a file is mentioned but does not become the current file,
> +it is saved as the alternate file name.
> +.NH 2
> +Filename expansion
> +.PP
> +Filenames within the editor may be specified using the normal
> +shell expansion conventions.
> +In addition,
> +the character `%' in filenames is replaced by the
> +.I current
> +file name and the character
> +`#' by the
> +.I alternate
> +file name.\(dg
> +.FS
> +\(dg This makes it easy to deal alternately with
> +two files and eliminates the need for retyping the
> +name supplied on an
> +.I edit
> +command after a=20
> +.I "No write since last change"
> +diagnostic is received.
> +.FE
> +.NH 2
> +Multiple files and named buffers
> +.PP
> +If more than one file is given on the command line,
> +then the first file is edited as described above.
> +The remaining arguments are placed with the first file in the
> +.I "argument list."
> +The current argument list may be displayed with the
> +.I args
> +command.
> +The next file in the argument list may be edited with the
> +.I next
> +command.
> +The argument list may also be respecified by specifying
> +a list of names to the
> +.I next
> +command.
> +These names are expanded,
> +the resulting list of names becomes the new argument list,
> +and
> +.I ex
> +edits the first file on the list.
> +.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.\(dd
> +.FS
> +\(dd It is also possible to refer to
> +.I A
> +through
> +.I 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.
> +.FE
> +.NH 2
> +Read only
> +.PP
> +It is possible to use
> +.I ex
> +in
> +.I "read only"
> +mode to look at files that you have no intention of modifying.
> +This mode protects you from accidently overwriting the file.
> +Read only mode is on when the
> +.I readonly
> +option is set.
> +It can be turned on with the
> +.B \-R
> +command line option,
> +by the
> +.I view
> +command line invocation,
> +or by setting the
> +.I readonly
> +option.
> +It can be cleared by setting
> +.I noreadonly .
> +It is possible to write, even while in read only mode, by indicating
> +that you really know what you are doing.
> +You can write to a different file, or can use the ! form of write,
> +even while in read only mode.
> +.NH 1
> +Exceptional Conditions
> +.NH 2
> +Errors and interrupts
> +.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 ``Interrupt'' and returns to its command level.  If the primary
> +input is a file, then
> +.I ex
> +will exit when this occurs.
> +.NH 2
> +Recovering from hangups and crashes
> +.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 you log in you should be
> +able to recover the work you were doing, losing at most a few lines of
> +changes from the last point before the hangup or editor crash.  To
> +recover a file you can use the
> +.B \-r
> +option.  If you were editing the file
> +.I resume,
> +then you should change
> +to the directory where you were when the crash occurred, giving the comma=
nd
> +.DS
> +\fBex \-r\fP\fI resume\fP
> +.DE
> +After checking that the retrieved file is indeed ok, you can
> +.I write
> +it over the previous contents of that file.
> +.PP
> +You will normally get mail from the system telling you when a file has
> +been saved after a crash.  The command
> +.DS
> +\fBex\fP \-\fBr\fP
> +.DE
> +will print a list of the files which have been saved for you.
> +(In the case of a hangup,
> +the file will not appear in the list,
> +although it can be recovered.)
> +.NH 1
> +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 you are 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 \s-2CRT\s0 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."
> +.NH=20
> +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.*
> +.FS
> +* As an example, the command=20
> +.I substitute
> +can be abbreviated `s'
> +while the shortest available abbreviation for the=20
> +.I set
> +command is `se'.
> +.FE
> +.NH 2
> +Command parameters
> +.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.\(dg
> +.FS
> +\(dg Counts are rounded down if necessary.
> +.FE
> +Thus the command ``10p'' will print the tenth line in the buffer while
> +``delete 5'' 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.\(dd
> +.FS
> +\(dd Examples would be option names in a
> +.I set
> +command i.e. ``set number'',
> +a file name in an
> +.I edit
> +command,
> +a regular expression in a
> +.I substitute
> +command,
> +or a target address for a
> +.I copy
> +command, i.e. ``1,5 copy 25''.
> +.FE
> +.NH 2
> +Command variants
> +.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.
> +.NH 2
> +Flags after commands
> +.PP
> +The characters `#', `p' and `l' may be placed after many commands.**
> +.FS
> +**
> +A `p' or `l' must be preceded by a blank or tab
> +except in the single special case `dp'.
> +.FE
> +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 nec=
essary.
> +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.
> +.NH 2
> +Comments
> +.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).
> +.NH 2
> +Multiple commands per line
> +.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 `|'.
> +.NH 2
> +Reporting large changes
> +.PP
> +Most commands which change the contents of the editor buffer give
> +feedback if the scope of the change exceeds a threshold given by the
> +.I report
> +option.
> +This feedback helps to detect undesirably large changes so that they may
> +be quickly and easily reversed with an
> +.I undo.
> +After commands with more global effect such as
> +.I global
> +or
> +.I visual,
> +you will be informed if the net change in the number of lines
> +in the buffer during this command exceeds this threshold.
> +.NH 1
> +Command addressing
> +.NH 2
> +Addressing primitives
> +.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 ``1,$'', the entire buffer.
> +.IP \fI+n\fR\ \fI\-n\fR 20
> +An offset relative to the current buffer line.\(dg
> +.FS
> +\(dg
> +The forms `.+3' `+3' and `+++' are all equivalent;
> +if the current line is line 100 they all address line 103.
> +.FE
> +.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 th=
e end
> +of the buffer.
> +If all that is desired is to print the next line containing \fIpat\fR, th=
en
> +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.\(dd
> +.FS
> +\(dd 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 expressio=
n.
> +.FE
> +.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 a=
s
> +`\(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'.
> +.NH 2
> +Combining addressing primitives
> +.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.\(dg
> +.FS
> +\(dg 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.
> +.FE
> +.NH 1
> +Command descriptions
> +.PP
> +The following form is a prototype for all
> +.I ex
> +commands:
> +.DS
> +\fIaddress\fR \fBcommand\fR \fI! parameters count flags\fR
> +.DE
> +All parts are optional; the degenerate case is the empty command which pr=
ints
> +the next line in the file.  For sanity with use from within
> +.I visual
> +mode,
> +.I ex
> +ignores a ``:'' 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.
> +.LC
> +\fBabbreviate\fR \fIword rhs\fP    abbr: \fBab\fP
> +.ZP
> +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 .
> +.LC
> +( \fB.\fR ) \fBappend\fR    abbr: \fBa\fR
> +.br
> +\fItext\fR
> +.br
> +\&\fB.\fR
> +.ZP
> +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.
> +.LC
> +\fBa!\fR
> +.br
> +\fItext\fR
> +.br
> +\&\fB.\fR
> +.ZP
> +The variant flag to
> +.I append
> +toggles the setting for the
> +.I autoindent
> +option during the input of
> +.I text.
> +.LC
> +\fBargs\fR
> +.ZP
> +The members of the argument list are printed, with the current argument
> +delimited by `[' and `]'.
> +.ig
> +.PP
> +\fBcd\fR \fIdirectory\fR
> +.ZP
> +The
> +.I cd
> +command is a synonym for
> +.I chdir.
> +..
> +.LC
> +( \fB.\fP , \fB.\fP ) \fBchange\fP \fIcount\fP    abbr: \fBc\fP
> +.br
> +\fItext\fP
> +.br
> +\&\fB.\fP
> +.ZP
> +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.
> +.LC
> +\fBc!\fP
> +.br
> +\fItext\fP
> +.br
> +\&\fB.\fP
> +.ZP
> +The variant toggles
> +.I autoindent
> +during the
> +.I change.
> +.ig
> +.LC
> +\fBchdir\fR \fIdirectory\fR
> +.ZP
> +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.
> +..
> +.LC
> +( \fB.\fP , \fB.\fP )\|\fBcopy\fP \fIaddr\fP \fIflags\fP    abbr: \fBco\f=
P
> +.ZP
> +A
> +.I copy
> +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.
> +.LC
> +( \fB.\fR , \fB.\fR )\|\fBdelete\fR \fIbuffer\fR \fIcount\fR \fIflags\fR =
   abbr: \fBd\fR
> +.ZP
> +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.
> +.LC
> +\fBedit\fR \fIfile\fR    abbr: \fBe\fR
> +.br
> +\fBex\fR \fIfile\fR
> +.ZP
> +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\(dg
> +.FS
> +\(dg 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
> +(as indicated by the first word).
> +.FE
> +the editor reads the file into its buffer.
> +.IP
> +If the read of the file completes without error,
> +the number of lines and characters read is typed.
> +If there were any non-\s-2ASCII\s0 characters
> +in the file they are stripped of their non-\s-2ASCII\s0
> +high bits,
> +and 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.\(dd=

> +.FS
> +\(dd If executed from within
> +.I open
> +or
> +.I visual,
> +the current line is initially the first line of the file.
> +.FE
> +.LC
> +\fBe!\fR \fIfile\fR
> +.ZP
> +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.
> +.LC
> +\fBe\fR \fB+\fIn\fR \fIfile\fR
> +.ZP
> +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.: ``+/pat=
''.
> +.LC
> +\fBfile\fR    abbr: \fBf\fR
> +.ZP
> +Prints the current file name,
> +whether it has been `[Modified]' since the last
> +.I write=20
> +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.*
> +.FS
> +* In the rare case that the current file is `[Not edited]' this is
> +noted also; in this case you have 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.
> +.FE
> +.LC
> +\fBfile\fR \fIfile\fR
> +.ZP
> +The current file name is changed to
> +.I file
> +which is considered=20
> +`[Not edited]'.
> +.LC
> +( 1 , $ ) \fBglobal\fR /\fIpat\|\fR/ \fIcmds\fR    abbr: \fBg\fR
> +.ZP
> +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 match=
ing
> +.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 termin=
al.
> +.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.
> +.LC
> +\fBg!\fR \fB/\fIpat\fB/\fR \fIcmds\fR    abbr: \fBv\fR
> +.IP
> +The variant form of \fIglobal\fR runs \fIcmds\fR at each line not matchin=
g
> +\fIpat\fR.
> +.LC
> +( \fB.\fR )\|\fBinsert\fR    abbr: \fBi\fR
> +.br
> +\fItext\fR
> +.br
> +\&\fB.\fR
> +.ZP
> +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.
> +.KS
> +.LC
> +\fBi!\fR
> +.br
> +\fItext\fR
> +.br
> +\&\fB.\fR
> +.ZP
> +The variant toggles
> +.I autoindent
> +during the
> +.I insert.
> +.KE
> +.LC
> +( \fB.\fR , \fB.\fR+1 ) \fBjoin\fR \fIcount\fR \fIflags\fR    abbr: \fBj\=
fR
> +.ZP
> +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.
> +.LC
> +\fBj!\fR
> +.ZP
> +The variant causes a simpler
> +.I join
> +with no white space processing; the characters in the lines are simply
> +concatenated.
> +.LC
> +( \fB.\fR ) \fBk\fR \fIx\fR
> +.ZP
> +The
> +.I k
> +command is a synonym for
> +.I mark.
> +It does not require a blank or tab before the following letter.
> +.LC
> +( \fB.\fR , \fB.\fR ) \fBlist\fR \fIcount\fR \fIflags\fR
> +.ZP
> +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.
> +.LC
> +\fBmap\fR \fIlhs\fR \fIrhs\fR
> +.ZP
> +The
> +.I map
> +command is used to define macros for use in
> +.I visual
> +mode.
> +.I Lhs
> +should be a single character, or the sequence ``#n'', 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, you can type ``#n''.
> +See section 6.9 of the ``Introduction to Display Editing with Vi''
> +for more details.
> +.LC
> +( \fB.\fR ) \fBmark\fR \fIx\fR
> +.ZP
> +Gives the specified line mark
> +.I x,
>=20
> *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
>=20



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DA9ECCC7-ECA7-4731-97D0-59055DB3FE75>