mdoc(7) police: a bit of tidying.
This commit is contained in:
parent
8108a14544
commit
73ca71fef9
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=99410
181
bin/ed/ed.1
181
bin/ed/ed.1
@ -12,7 +12,6 @@
|
||||
.Op Fl sx
|
||||
.Op Fl p Ar string
|
||||
.Op Ar file
|
||||
.LP
|
||||
.Nm red
|
||||
.Op Fl
|
||||
.Op Fl sx
|
||||
@ -32,7 +31,7 @@ mode, in which the only difference is that the editor restricts the
|
||||
use of filenames which start with
|
||||
.Ql \&!
|
||||
(interpreted as shell commands by
|
||||
.Nm ed )
|
||||
.Nm )
|
||||
or contain a
|
||||
.Ql \&/ .
|
||||
Note that editing outside of the current directory is only prohibited
|
||||
@ -53,7 +52,7 @@ Changes are made to this copy and not directly to
|
||||
itself.
|
||||
Upon quitting
|
||||
.Nm ,
|
||||
any changes not explicitly saved with a
|
||||
any changes not explicitly saved with a
|
||||
.Em w
|
||||
command are lost.
|
||||
.Pp
|
||||
@ -88,11 +87,13 @@ When an input command, such as
|
||||
.Em c
|
||||
(change), is given,
|
||||
.Nm
|
||||
enters input mode. This is the primary means
|
||||
enters input mode.
|
||||
This is the primary means
|
||||
of adding text to a file.
|
||||
In this mode, no commands are available;
|
||||
instead, the standard input is written
|
||||
directly to the editor buffer. Lines consist of text up to and
|
||||
directly to the editor buffer.
|
||||
Lines consist of text up to and
|
||||
including a
|
||||
.Em newline
|
||||
character.
|
||||
@ -110,7 +111,8 @@ command deletes lines; the
|
||||
.Em m
|
||||
command moves lines, and so on.
|
||||
It is possible to modify only a portion of a line by means of replacement,
|
||||
as in the example above. However even here, the
|
||||
as in the example above.
|
||||
However even here, the
|
||||
.Em s
|
||||
command is applied to whole lines at a time.
|
||||
.Pp
|
||||
@ -128,7 +130,8 @@ commands have the structure:
|
||||
.Sm on
|
||||
.Pp
|
||||
The address(es) indicate the line or range of lines to be affected by the
|
||||
command. If fewer addresses are given than the command accepts, then
|
||||
command.
|
||||
If fewer addresses are given than the command accepts, then
|
||||
default addresses are supplied.
|
||||
.Sh OPTIONS
|
||||
The following options are available:
|
||||
@ -144,14 +147,17 @@ Prompt for an encryption key to be used in subsequent reads and writes
|
||||
.Em x
|
||||
command).
|
||||
.It Fl p Ar string
|
||||
Specify a command prompt. This may be toggled on and off with the
|
||||
Specify a command prompt.
|
||||
This may be toggled on and off with the
|
||||
.Em P
|
||||
command.
|
||||
.It Ar file
|
||||
Specify the name of a file to read. If
|
||||
Specify the name of a file to read.
|
||||
If
|
||||
.Ar file
|
||||
is prefixed with a
|
||||
bang (!), then it is interpreted as a shell command. In this case,
|
||||
bang (!), then it is interpreted as a shell command.
|
||||
In this case,
|
||||
what is read is
|
||||
the standard output of
|
||||
.Ar file
|
||||
@ -171,13 +177,15 @@ utility maintains a
|
||||
.Em current address
|
||||
which is
|
||||
typically supplied to commands as the default address when none is specified.
|
||||
When a file is first read, the current address is set to the last line
|
||||
of the file. In general, the current address is set to the last line
|
||||
When a file is first read, the current address is set to the last line
|
||||
of the file.
|
||||
In general, the current address is set to the last line
|
||||
affected by a command.
|
||||
.Pp
|
||||
A line address is
|
||||
constructed from one of the bases in the list below, optionally followed
|
||||
by a numeric offset. The offset may include any combination
|
||||
by a numeric offset.
|
||||
The offset may include any combination
|
||||
of digits, operators (i.e.,
|
||||
.Em + ,
|
||||
.Em -
|
||||
@ -197,8 +205,10 @@ and is legal wherever it makes sense.
|
||||
An address range is two addresses separated either by a comma or
|
||||
semi-colon.
|
||||
The value of the first address in a range cannot exceed the
|
||||
value of the second. If only one address is given in a range, then
|
||||
the second address is set to the given address. If an
|
||||
value of the second.
|
||||
If only one address is given in a range, then
|
||||
the second address is set to the given address.
|
||||
If an
|
||||
.Em n Ns -tuple
|
||||
of addresses is given where
|
||||
.Em "n\ >\ 2" ,
|
||||
@ -208,7 +218,8 @@ the
|
||||
If only one address is expected, then the last address is used.
|
||||
.Pp
|
||||
Each address in a comma-delimited range is interpreted relative to the
|
||||
current address. In a semi-colon-delimited range, the first address is
|
||||
current address.
|
||||
In a semi-colon-delimited range, the first address is
|
||||
used to set the current address, and the second address is interpreted
|
||||
relative to the first.
|
||||
.Pp
|
||||
@ -249,11 +260,13 @@ next line, where
|
||||
.Em n
|
||||
is a non-negative number.
|
||||
.It , or %
|
||||
The first through last lines in the buffer. This is equivalent to
|
||||
The first through last lines in the buffer.
|
||||
This is equivalent to
|
||||
the address range
|
||||
.Em 1,$ .
|
||||
.It ;
|
||||
The current through last lines in the buffer. This is equivalent to
|
||||
The current through last lines in the buffer.
|
||||
This is equivalent to
|
||||
the address range
|
||||
.Em .,$ .
|
||||
.It /re/
|
||||
@ -296,7 +309,8 @@ command for selecting old text to be replaced with new.
|
||||
.Pp
|
||||
In addition to a specifying string literals, regular expressions can
|
||||
represent
|
||||
classes of strings. Strings thus represented are said to be matched
|
||||
classes of strings.
|
||||
Strings thus represented are said to be matched
|
||||
by the corresponding regular expression.
|
||||
If it is possible for a regular expression
|
||||
to match several strings in a line, then the left-most longest match is
|
||||
@ -307,24 +321,43 @@ The following symbols are used in constructing regular expressions:
|
||||
.It c
|
||||
Any character
|
||||
.Em c
|
||||
not listed below, including `{', '}', `(', `)', `<' and `>',
|
||||
not listed below, including
|
||||
.Ql \&{ ,
|
||||
.Ql \&} ,
|
||||
.Ql \&( ,
|
||||
.Ql \&) ,
|
||||
.Ql <
|
||||
and
|
||||
.Ql > ,
|
||||
matches itself.
|
||||
.It Pf \e c
|
||||
Any backslash-escaped character
|
||||
.Em c ,
|
||||
except for `{', '}', `(', `)', `<' and `>',
|
||||
except for
|
||||
.Ql \&{ ,
|
||||
.Ql \&} ,
|
||||
.Ql \&( ,
|
||||
.Ql \&) ,
|
||||
.Ql <
|
||||
and
|
||||
.Ql > ,
|
||||
matches itself.
|
||||
.It .
|
||||
Match any single character.
|
||||
.It Op char-class
|
||||
Match any single character in
|
||||
.Em char-class .
|
||||
To include a `]'
|
||||
To include a
|
||||
.Ql \&]
|
||||
in
|
||||
.Em char-class ,
|
||||
it must be the first character.
|
||||
A range of characters may be specified by separating the end characters
|
||||
of the range with a `-', e.g., `a-z' specifies the lower case characters.
|
||||
of the range with a
|
||||
.Ql - ,
|
||||
e.g.,
|
||||
.Ql a-z
|
||||
specifies the lower case characters.
|
||||
The following literal expressions can also be used in
|
||||
.Em char-class
|
||||
to specify sets of characters:
|
||||
@ -335,7 +368,9 @@ to specify sets of characters:
|
||||
.It [:blank:] Ta [:graph:] Ta [:punct:] Ta [:xdigit:]
|
||||
.El
|
||||
.Pp
|
||||
If `-' appears as the first or last
|
||||
If
|
||||
.Ql -
|
||||
appears as the first or last
|
||||
character of
|
||||
.Em char-class ,
|
||||
then it matches itself.
|
||||
@ -402,21 +437,31 @@ where
|
||||
is a number in the range [1,9], expands to the text matched by the
|
||||
.Em n Ns th
|
||||
subexpression.
|
||||
For example, the regular expression `\e(.*\e)\e1' matches any string
|
||||
For example, the regular expression
|
||||
.Ql \e(.*\e)\e1
|
||||
matches any string
|
||||
consisting of identical adjacent substrings.
|
||||
Subexpressions are ordered relative to
|
||||
their left delimiter.
|
||||
.It *
|
||||
Match the single character regular expression or subexpression
|
||||
immediately preceding it zero or more times. If
|
||||
immediately preceding it zero or more times.
|
||||
If
|
||||
.Em *
|
||||
is the first
|
||||
character of a regular expression or subexpression, then it matches
|
||||
itself. The
|
||||
itself.
|
||||
The
|
||||
.Em *
|
||||
operator sometimes yields unexpected results.
|
||||
For example, the regular expression `b*' matches the beginning of
|
||||
the string `abbb' (as opposed to the substring `bbb'), since a null match
|
||||
For example, the regular expression
|
||||
.Ql b*
|
||||
matches the beginning of
|
||||
the string
|
||||
.Ql abbb
|
||||
(as opposed to the substring
|
||||
.Ql bbb ) ,
|
||||
since a null match
|
||||
is the only left-most match.
|
||||
.It \e{n,m\e} or \e{n,\e} or \e{n\e}
|
||||
Match the single character regular expression or subexpression
|
||||
@ -464,7 +509,8 @@ and returning the editor to command mode.
|
||||
The
|
||||
.Nm
|
||||
utility
|
||||
recognizes the following commands. The commands are shown together with
|
||||
recognizes the following commands.
|
||||
The commands are shown together with
|
||||
the default address or address range supplied if none is
|
||||
specified (in parenthesis).
|
||||
.Bl -tag -width indent
|
||||
@ -473,7 +519,8 @@ Append text to the buffer after the addressed line.
|
||||
Text is entered in input mode.
|
||||
The current address is set to last line entered.
|
||||
.It (.,.)c
|
||||
Change lines in the buffer. The addressed lines are deleted
|
||||
Change lines in the buffer.
|
||||
The addressed lines are deleted
|
||||
from the buffer, and text is appended in their place.
|
||||
Text is entered in input mode.
|
||||
The current address is set to last line entered.
|
||||
@ -489,7 +536,7 @@ Edit
|
||||
and sets the default filename.
|
||||
If
|
||||
.Ar file
|
||||
is not specified, then the default filename is used.
|
||||
is not specified, then the default filename is used.
|
||||
Any lines in the buffer are deleted before
|
||||
the new file is read.
|
||||
The current address is set to the last line read.
|
||||
@ -567,8 +614,11 @@ The format of
|
||||
.Ar command-list
|
||||
is the same as that of the
|
||||
.Em g
|
||||
command. A newline alone acts as a null command list.
|
||||
A single `&' repeats the last non-null command list.
|
||||
command.
|
||||
A newline alone acts as a null command list.
|
||||
A single
|
||||
.Ql &
|
||||
repeats the last non-null command list.
|
||||
.It H
|
||||
Toggle the printing of error explanations.
|
||||
By default, explanations are not printed.
|
||||
@ -581,23 +631,26 @@ Insert text in the buffer before the current line.
|
||||
Text is entered in input mode.
|
||||
The current address is set to the last line entered.
|
||||
.It (.,.+1)j
|
||||
Join the addressed lines. The addressed lines are
|
||||
Join the addressed lines.
|
||||
The addressed lines are
|
||||
deleted from the buffer and replaced by a single
|
||||
line containing their joined text.
|
||||
The current address is set to the resultant line.
|
||||
.It (.)klc
|
||||
Mark a line with a lower case letter
|
||||
.Em lc .
|
||||
The line can then be addressed as
|
||||
The line can then be addressed as
|
||||
.Em 'lc
|
||||
(i.e., a single quote followed by
|
||||
.Em lc )
|
||||
in subsequent commands. The mark is not cleared until the line is
|
||||
in subsequent commands.
|
||||
The mark is not cleared until the line is
|
||||
deleted or otherwise modified.
|
||||
.It (.,.)l
|
||||
Print the addressed lines unambiguously.
|
||||
If a single line fills for than one screen (as might be the case
|
||||
when viewing a binary file, for instance), a `--More--'
|
||||
when viewing a binary file, for instance), a
|
||||
.Dq Li --More--
|
||||
prompt is printed on the last line.
|
||||
The
|
||||
.Nm
|
||||
@ -606,7 +659,8 @@ before displaying the next screen.
|
||||
The current address is set to the last line
|
||||
printed.
|
||||
.It (.,.)m(.)
|
||||
Move lines in the buffer. The addressed lines are moved to after the
|
||||
Move lines in the buffer.
|
||||
The addressed lines are moved to after the
|
||||
right-hand destination address, which may be the address
|
||||
.Em 0
|
||||
(zero).
|
||||
@ -614,7 +668,8 @@ The current address is set to the
|
||||
last line moved.
|
||||
.It (.,.)n
|
||||
Print the addressed lines along with
|
||||
their line numbers. The current address is set to the last line
|
||||
their line numbers.
|
||||
The current address is set to the last line
|
||||
printed.
|
||||
.It (.,.)p
|
||||
Print the addressed lines.
|
||||
@ -639,10 +694,12 @@ except that unwritten changes are discarded without warning.
|
||||
.It ($)r Ar file
|
||||
Read
|
||||
.Ar file
|
||||
to after the addressed line. If
|
||||
to after the addressed line.
|
||||
If
|
||||
.Ar file
|
||||
is not specified, then the default
|
||||
filename is used. If there was no default filename prior to the command,
|
||||
filename is used.
|
||||
If there was no default filename prior to the command,
|
||||
then the default filename is set to
|
||||
.Ar file .
|
||||
Otherwise, the default filename is unchanged.
|
||||
@ -692,7 +749,9 @@ affected is printed as though the print suffix
|
||||
.Em p
|
||||
were specified.
|
||||
.Pp
|
||||
An unescaped `&' in
|
||||
An unescaped
|
||||
.Ql &
|
||||
in
|
||||
.Ar replacement
|
||||
is replaced by the currently matched text.
|
||||
The character sequence
|
||||
@ -704,7 +763,9 @@ is a number in the range [1,9], is replaced by the
|
||||
backreference expression of the matched text.
|
||||
If
|
||||
.Ar replacement
|
||||
consists of a single `%', then
|
||||
consists of a single
|
||||
.Ql % ,
|
||||
then
|
||||
.Ar replacement
|
||||
from the last substitution is used.
|
||||
Newlines may be embedded in
|
||||
@ -779,7 +840,8 @@ Any previous contents of
|
||||
is lost without warning.
|
||||
If there is no default filename, then the default filename is set to
|
||||
.Ar file ,
|
||||
otherwise it is unchanged. If no filename is specified, then the default
|
||||
otherwise it is unchanged.
|
||||
If no filename is specified, then the default
|
||||
filename is used.
|
||||
The current address is unchanged.
|
||||
.It (1,$)wq Ar file
|
||||
@ -804,15 +866,18 @@ command, expect that the previous contents of file is not clobbered.
|
||||
The current address is unchanged.
|
||||
.It x
|
||||
Prompt for an encryption key which is used in subsequent reads and
|
||||
writes. If a newline alone is entered as the key, then encryption is
|
||||
turned off. Otherwise, echoing is disabled while a key is read.
|
||||
writes.
|
||||
If a newline alone is entered as the key, then encryption is
|
||||
turned off.
|
||||
Otherwise, echoing is disabled while a key is read.
|
||||
Encryption/decryption is done using the
|
||||
.Xr bdes 1
|
||||
algorithm.
|
||||
.It Pf (.+1)z n
|
||||
Scroll
|
||||
.Ar n
|
||||
lines at a time starting at addressed line. If
|
||||
lines at a time starting at addressed line.
|
||||
If
|
||||
.Ar n
|
||||
is not specified, then the current window size is used.
|
||||
The current address is set to the last line printed.
|
||||
@ -823,7 +888,9 @@ via
|
||||
.Xr sh 1 .
|
||||
If the first character of
|
||||
.Ar command
|
||||
is `!', then it is replaced by text of the
|
||||
is
|
||||
.Ql \&! ,
|
||||
then it is replaced by text of the
|
||||
previous
|
||||
.Ar !command .
|
||||
The
|
||||
@ -834,7 +901,8 @@ for backslash (\\) escapes.
|
||||
However, an unescaped
|
||||
.Em %
|
||||
is replaced by the default filename.
|
||||
When the shell returns from execution, a `!'
|
||||
When the shell returns from execution, a
|
||||
.Ql \&!
|
||||
is printed to the standard output.
|
||||
The current line is unchanged.
|
||||
.It ($)=
|
||||
@ -850,7 +918,7 @@ buffer file
|
||||
.It ed.hup
|
||||
the file to which
|
||||
.Nm
|
||||
attempts to write the buffer if the terminal hangs up
|
||||
attempts to write the buffer if the terminal hangs up
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr bdes 1 ,
|
||||
@ -872,14 +940,15 @@ The
|
||||
.Nm
|
||||
utility processes
|
||||
.Ar file
|
||||
arguments for backslash escapes, i.e., in a filename,
|
||||
arguments for backslash escapes, i.e., in a filename,
|
||||
any characters preceded by a backslash (\\) are
|
||||
interpreted literally.
|
||||
.Pp
|
||||
If a text (non-binary) file is not terminated by a newline character,
|
||||
then
|
||||
.Nm
|
||||
appends one on reading/writing it. In the case of a binary file,
|
||||
appends one on reading/writing it.
|
||||
In the case of a binary file,
|
||||
.Nm
|
||||
does not append a newline on reading/writing.
|
||||
.Pp
|
||||
@ -887,7 +956,9 @@ per line overhead: 4 ints
|
||||
.Sh DIAGNOSTICS
|
||||
When an error occurs,
|
||||
.Nm
|
||||
prints a `?' and either returns to command mode
|
||||
prints a
|
||||
.Ql \&?
|
||||
and either returns to command mode
|
||||
or exits if its input is from a script.
|
||||
An explanation of the last error can be
|
||||
printed with the
|
||||
@ -896,7 +967,7 @@ printed with the
|
||||
.Pp
|
||||
Since the
|
||||
.Em g
|
||||
(global) command masks any errors from failed searches and substitutions,
|
||||
(global) command masks any errors from failed searches and substitutions,
|
||||
it can be used to perform conditional operations in scripts; e.g.,
|
||||
.Pp
|
||||
.Sm off
|
||||
|
Loading…
Reference in New Issue
Block a user