ed: add manpage
Laslo: Fix some things pointed out by mandoc -Tlint: 1) replace empty lines with .Pp, we want to start a new paragraph 2) Add a comma before the second item in SEE ALSO 3) Place SEE ALSO before STANDARDS, as is the convention 4) Update the man-date
This commit is contained in:
parent
30da327fbd
commit
370e0ae675
212
ed.1
212
ed.1
|
@ -1,4 +1,4 @@
|
|||
.Dd 2015-12-14
|
||||
.Dd 2016-12-27
|
||||
.Dt ED 1
|
||||
.Os sbase
|
||||
.Sh NAME
|
||||
|
@ -6,4 +6,212 @@
|
|||
.Nd text editor
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
is the standard text editor.
|
||||
.Op Fl s
|
||||
.Op Fl p Ar string
|
||||
.Op Ar file
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
is the standard text editor. It performs line-oriented operations on a buffer;
|
||||
The buffer's contents are manipulated in command mode and text is written to the
|
||||
buffer in input mode. Command mode is the default. To exit input mode enter a
|
||||
dot ('.') on a line of its own.
|
||||
.Pp
|
||||
If
|
||||
.Nm
|
||||
is invoked with a file as an argument, it will simulate an edit command and read
|
||||
the file's contents into a buffer. Changes to this buffer are local to
|
||||
.Nm
|
||||
until a write command is given.
|
||||
.Pp
|
||||
.Nm
|
||||
uses the basic regular expression syntax and allows any character but space and
|
||||
newline to be used as a delimiter in regular expressions.
|
||||
.Sh OPTIONS
|
||||
.Bl -tag -width Ds
|
||||
.It Fl s
|
||||
Suppress diagnostic messages
|
||||
.It Fl p Ar string
|
||||
Use
|
||||
.Ar string
|
||||
as a prompt when in command mode
|
||||
.El
|
||||
.Sh EXTENDED DESCRIPTION
|
||||
.Ss Addresses
|
||||
Commands operate on addresses. Addresses are used to refer to lines
|
||||
within the buffer. Address ranges may have spaces before and after the separator.
|
||||
Unless otherwise specified, 0 is an invalid address. The following symbols are
|
||||
valid addresses:
|
||||
.Bl -tag -width Ds
|
||||
.It n
|
||||
The nth line.
|
||||
.It .
|
||||
The current line, or "dot".
|
||||
.It $
|
||||
The last line.
|
||||
.It +
|
||||
The next line.
|
||||
.It +n
|
||||
The nth next line.
|
||||
.It ^ or -
|
||||
The previous line.
|
||||
.It ^n or -n
|
||||
The nth previous line.
|
||||
.It x,y
|
||||
The range of lines from x to y. The default value of x is 1, and the default
|
||||
value of y is $.
|
||||
.It x;y
|
||||
As above, except that the current line is set to x. Omitting x in this case uses
|
||||
the current line as the default value.
|
||||
.It /re/
|
||||
The next line matching re.
|
||||
.It ?re?
|
||||
The last line matching re.
|
||||
.It 'c
|
||||
The line marked by c. See k below.
|
||||
.El
|
||||
.Ss Commands.
|
||||
.Nm
|
||||
expects to see one command per line, with the following exception: commands may
|
||||
be suffixed with either a list, number, or print command. These suffixed
|
||||
commands are run after the command they're suffixed to has executed.
|
||||
.Pp
|
||||
The following is the list of commands that
|
||||
.Nm
|
||||
knows about. The parentheses contain the default addresses that a command uses.
|
||||
.Bl -tag -width Ds
|
||||
.It (.)a
|
||||
Append text after the addressed line. The dot is set to the last line
|
||||
entered. If no text was entered, the dot is set to the addressed line. An
|
||||
address of 0 appends to the start of the buffer.
|
||||
.It (.,.)c
|
||||
Delete the addressed lines and then accept input to replace them. The dot
|
||||
is set to the last line entered. If no text was entered, the dot is set to
|
||||
the line before the deleted lines.
|
||||
.It (.,.)d
|
||||
Delete the addressed lines. If there is a line after the deleted range, the
|
||||
dot is set to it. Otherwise, the dot is set to the line before the deleted range.
|
||||
.It e Ar file
|
||||
Delete the contents of the buffer and load in
|
||||
.Ar file
|
||||
for editing, printing the bytes read to standard output. If no filename is
|
||||
given,
|
||||
.Nm
|
||||
uses the currently remembered filename. The remembered filename is set to
|
||||
.Ar file
|
||||
for later use.
|
||||
.It E Ar file
|
||||
As above, but without warning if the current buffer has unsaved changes.
|
||||
.It f Ar file
|
||||
Set the currently remembered filename to
|
||||
.Ar
|
||||
file
|
||||
, or print the currently remembered filename if
|
||||
.Ar
|
||||
file is omitted.
|
||||
.It (1,$)g/re/command
|
||||
Apply command to lines matching re. The dot is set to the matching line before
|
||||
command is executed. When each matching line has been operated on, the dot is
|
||||
set to the last line operated on. If no lines match then the dot remains
|
||||
unchanged. The command used may not be g, G, v, or V.
|
||||
.It (1,$)G/re/
|
||||
Interactively edit the range of line addresses that match re. The dot is set to
|
||||
the matching line and printed before a command is input. When each matching line
|
||||
has been operated on, the dot is set to the last line operated on. If no lines
|
||||
match then the dot remains unchanged. The command used may not be a, c, i, g,
|
||||
G, v, or V.
|
||||
.It h
|
||||
Print the reason for the most recent error.
|
||||
.It H
|
||||
Toggle error explanations. If on, the above behaviour is produced on all
|
||||
subsequent errors.
|
||||
.It (.)i
|
||||
Insert text into the buffer before the addressed line. The dot is set to the
|
||||
last line entered. If no text was entered, the dot is set to the addressed line
|
||||
.It (.,.+1)j
|
||||
Join two lines together. If only one address is given, nothing happens. The dot
|
||||
is set to the newly joined line.
|
||||
.It (.)kc
|
||||
Mark the line with the lower case character c. The dot is unchanged.
|
||||
.It (.,.)l
|
||||
Unambiguously print the addressed lines. The dot is set to the last line written.
|
||||
.It (.,.)m(.)
|
||||
Move lines in the buffer to the line address on the right hand side. An address
|
||||
of 0 on the right hand side moves to the start of the buffer. The dot is set to
|
||||
the last line moved.
|
||||
.It (.,.)n
|
||||
Print the addressed lines and their numbers. The dot is set to the last line
|
||||
printed.
|
||||
.It (.,.)p
|
||||
Print the addressed lines. The dot is set to the last line printed.
|
||||
.It P
|
||||
Toggle the prompt. Defaults to off, but is switched on if the -p flag is used.
|
||||
.It q
|
||||
Quit
|
||||
.Nm
|
||||
, warning if there are unsaved changes.
|
||||
.It Q
|
||||
As above, but without warning if the current buffer has unsaved changes.
|
||||
.It ($)r Ar file
|
||||
Read in
|
||||
.Ar file
|
||||
and append it to the current buffer, printing the bytes read to standard output.
|
||||
The currently remembered filename isn't changed unless it's empty. An address of
|
||||
0 reads the file into the start of the buffer.
|
||||
.It (.,.)s/re/replacement/flags
|
||||
Substitute re for replacement in lines matching re. An & within replacement is
|
||||
replaced with the whole string matched by re. Backrefs can be used with the form
|
||||
\\n, where n is a positive non-zero integer. When % is the only character in
|
||||
replacement, it is substituted for the replacement string from the last
|
||||
substitute command. If a newline is part of replacement then the matched string
|
||||
is split into two lines; this cannot be done as part of a g or v command. If
|
||||
flags contains an integer n, then the nth match is replaced. If flags contains
|
||||
g, all matches are replaced. The dot is set to the last line matched.
|
||||
.It (.,.)t(.)
|
||||
As m, but copying instead of moving. The dot is set to the last line added.
|
||||
.It u
|
||||
Undo the last change. The dot is set to whatever it was before the undone
|
||||
command was performed.
|
||||
.It (1.$)v/re/command
|
||||
As with g, but operating on lines that don't match re.
|
||||
.It (1.$)V/re/
|
||||
As with G, but operating on lines that don't match re.
|
||||
.It (1,$)w Ar file
|
||||
Write the addressed lines to
|
||||
.Ar file
|
||||
, overwriting its previous contents if the file exists, and print the number of
|
||||
bytes written. If no filename is given the currently remembered filename will be
|
||||
used instead. The dot is unchanged.
|
||||
.It (1,$)W Ar file
|
||||
As above, but instead of overwriting the contents of
|
||||
.Ar file
|
||||
the addressed lines are appended to
|
||||
.Ar file
|
||||
instead.
|
||||
.It (.+1)\\n
|
||||
Print the addressed line. Sets the dot to that line.
|
||||
.It ($)=
|
||||
Print the line number of the addressed line. The dot is unchanged.
|
||||
.It &
|
||||
Repeat the last command.
|
||||
.It ! Ar command
|
||||
Execute
|
||||
.Ar command
|
||||
using sh. If the first character of
|
||||
.Ar command
|
||||
is '!' then it is replaced with the text of the previous command. An unescaped %
|
||||
is replaced with the currently remembered filename. ! does not process escape
|
||||
characters. When
|
||||
.Ar command
|
||||
returns a '!' is printed. The dot is unchanged.
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr sed 1 ,
|
||||
.Xr regexp 3
|
||||
.Sh STANDARDS
|
||||
The
|
||||
.Nm
|
||||
utility is compliant with the
|
||||
.St -p1003.1-2013
|
||||
specification, except where noted here:
|
||||
g and v operate on single commands rather than lists delimited with '\\'.
|
||||
e, E, r, w, and W commands cannot accept shell escapes.
|
||||
|
|
Loading…
Reference in New Issue
Block a user