346 lines
8.7 KiB
Groff
346 lines
8.7 KiB
Groff
.nr X
|
|
.if \nX=0 .ds x} edit 1 "Editing Utilities" "\&"
|
|
.TH \*(x}
|
|
.SH NAME
|
|
edit \- text editor (variant of ex for casual users)
|
|
.SH SYNOPSIS
|
|
.nf
|
|
\f3edit\f1 [\f3\-r\f1] [\f3\-x\f1] [\f3\-C\f1] \f2name\f1 ...
|
|
.fi
|
|
.SH DESCRIPTION
|
|
.I edit
|
|
is a variant of the text editor
|
|
.I ex
|
|
recommended for new or casual users who wish to use a command-oriented editor.
|
|
It operates precisely as
|
|
.IR ex (1)
|
|
with the following options automatically set:
|
|
.TP 11
|
|
novice
|
|
ON
|
|
.PD 0
|
|
.TP
|
|
report
|
|
ON
|
|
.TP
|
|
showmode
|
|
ON
|
|
.TP
|
|
magic
|
|
OFF
|
|
.PD
|
|
.PP
|
|
These options can be turned on or off via
|
|
the
|
|
.B set
|
|
command in
|
|
.IR ex (1).
|
|
.TP
|
|
.B \-r
|
|
Recover file after an editor or system crash.
|
|
.TP
|
|
.B \-x
|
|
Encryption option; when used the file is encrypted
|
|
as it is being written and requires an
|
|
encryption key to be read.
|
|
.I edit
|
|
makes an educated guess to determine if a file is
|
|
encrypted or not.
|
|
See
|
|
.IR crypt (1).
|
|
Also, see the
|
|
.B WARNING
|
|
section at the end of this reference page.
|
|
.TP
|
|
.B \-C
|
|
Encryption option; the same as
|
|
.B \-x
|
|
except that
|
|
.I edit
|
|
assumes files are encrypted.
|
|
.PP
|
|
The following brief introduction should help you get started with
|
|
.IR edit .
|
|
If you are using a CRT terminal you may want
|
|
to learn about the display editor
|
|
.IR vi .
|
|
.PP
|
|
To edit the contents of an existing file you begin with the command
|
|
\f3edit \f2name\f1 to the shell.
|
|
.I edit
|
|
makes a copy of the file that you can edit and tells you how
|
|
many lines and characters are in the file.
|
|
To create a new file,
|
|
you also begin with the command \f3edit\f1 with a filename:
|
|
\f3edit \f2name\f1; the editor tells
|
|
you it is a
|
|
\f4[New File]\f1.
|
|
.P
|
|
The \f2edit\f1 command prompt is the colon (\f3:\f1),
|
|
which you should see after starting the editor.
|
|
If you are editing an existing file,
|
|
you have some lines in
|
|
.IR edit 's
|
|
buffer (its name for the copy of the file you are editing).
|
|
When you start editing,
|
|
.I edit
|
|
makes the last line of the file the current line.
|
|
Most commands to
|
|
.I edit
|
|
use the current line if you do not tell them which line to use.
|
|
Thus if you say
|
|
.B print
|
|
(which can be abbreviated \f3p\f1)
|
|
and type carriage return (as you should after all
|
|
.I edit
|
|
commands), the current line is printed.
|
|
If you
|
|
.B delete
|
|
(\f3d\f1) the current line,
|
|
.I edit
|
|
prints the new current line,
|
|
which is usually the next line in the file.
|
|
If you
|
|
.B delete
|
|
the last line, the new last line becomes the current one.
|
|
.PP
|
|
If you start with an empty file or wish to add some new lines, the
|
|
.B append
|
|
(\f3a\f1)
|
|
command can be used.
|
|
After you execute this command (typing a carriage return after the
|
|
word \f3append\f1),
|
|
.I edit
|
|
reads lines from your terminal until you type a line consisting
|
|
of just a dot (\f3.\f1); it places these lines after the current line.
|
|
The last line you type becomes the current line.
|
|
The command
|
|
.B insert
|
|
(\f3i\f1)
|
|
is like \f3append\f1,
|
|
but places the lines you type before, rather than after, the current line.
|
|
.PP
|
|
.I edit
|
|
numbers the lines in the buffer, with the first line having number 1.
|
|
If you execute the command \f31\f1,
|
|
.I edit
|
|
types the first line of the buffer.
|
|
If you then execute the command
|
|
\f3d\f1,
|
|
.I edit
|
|
deletes the first line, line 2 becomes line 1, and
|
|
.I edit
|
|
prints the current line (the new line 1) so you can see where you are.
|
|
In general, the current line is always the last line affected by a command.
|
|
.PP
|
|
You can make a change to some text within the current line by using the
|
|
.B substitute
|
|
(\f3s\f1)
|
|
command:
|
|
\f3s\f1/\f2old\f1/\f2new\f1/ where
|
|
.I old
|
|
is the string of characters you want to replace and
|
|
.I new
|
|
is the string of characters you want to replace \f2old\f1 with.
|
|
.PP
|
|
The command
|
|
.B file
|
|
(\f3f\f1) tells you how many lines there are in the buffer you are editing
|
|
and says \f4[Modified]\f1 if you have changed the buffer.
|
|
After modifying a file, you can save the contents of the file by executing a
|
|
.B write
|
|
(\f3w\f1)
|
|
command.
|
|
You can leave the editor by issuing a
|
|
.B quit
|
|
(\f3q\f1)
|
|
command.
|
|
If you run
|
|
.I edit
|
|
on a file, but do not change it, it is not necessary
|
|
(but does no harm)
|
|
to
|
|
.B write
|
|
the file back.
|
|
If you try to
|
|
.B quit
|
|
from
|
|
.I edit
|
|
after modifying the buffer without writing it out, you receive the message
|
|
\f4No write since last change (:quit! overrides)\f1, and
|
|
.I edit
|
|
waits for another command.
|
|
If you do not want to write the buffer out,
|
|
issue the
|
|
.B quit
|
|
command followed by an exclamation point (\f3q!\f1).
|
|
The buffer is irretrievably discarded and you return to the shell.
|
|
.PP
|
|
By using the
|
|
.B d
|
|
and
|
|
.B a
|
|
commands
|
|
and giving line numbers to see lines in the file, you can make any
|
|
changes you want.
|
|
You should learn at least a few more things, however, if you will use
|
|
.I edit
|
|
more than a few times.
|
|
.PP
|
|
The
|
|
.B change
|
|
(\f3c\f1)
|
|
command changes the current line to a sequence of lines you supply
|
|
(as in
|
|
.BR append ,
|
|
you type lines up to a line consisting of only a dot (\f3.\f1).
|
|
You can tell
|
|
.B change
|
|
to change more than one line by giving the line numbers of the
|
|
lines you want to change, that is, \f33,5c\f1.
|
|
You can print lines this way too:
|
|
\f31,23p\f1 prints the first 23 lines of the file.
|
|
.PP
|
|
The
|
|
.B undo
|
|
(\f3u\f1)
|
|
command reverses the effect of the last command you executed that changed
|
|
the buffer.
|
|
Thus if you execute a
|
|
.B substitute
|
|
command that does not do what you want, type \f3u\f1
|
|
and the old contents of the line are restored.
|
|
You can also
|
|
.B undo
|
|
an
|
|
.B undo
|
|
command.
|
|
.I edit
|
|
gives you a warning message when a command affects more than
|
|
one line of the buffer.
|
|
Note that commands such as
|
|
.B write
|
|
and
|
|
.B quit
|
|
cannot be undone.
|
|
.PP
|
|
To look at the next line in the buffer, type carriage return.
|
|
To look at a number of lines, type
|
|
.B ^D
|
|
(while holding down the control key, press
|
|
.BR d )
|
|
rather than carriage return.
|
|
This shows you a half-screen of lines on a CRT or 12 lines on a hardcopy
|
|
terminal.
|
|
You can look at nearby text by executing the \f3z\f1 command.
|
|
The current line appears in the middle of the text displayed,
|
|
and the last line displayed becomes the current line;
|
|
you can get back
|
|
to the line where you were before you executed the \f3z\f1 command by typing
|
|
\f3\'\'\f1.
|
|
The
|
|
.B z
|
|
command has other options:
|
|
.B z\-
|
|
prints
|
|
a screen of text (or 24 lines) ending where you are;
|
|
.B z+
|
|
prints the next screenful.
|
|
If you want less than a screenful of lines,
|
|
type
|
|
.B z.11
|
|
to display five lines before
|
|
and five lines after the current line.
|
|
(Typing
|
|
\f3z.\f2n\f1,
|
|
when
|
|
.I n
|
|
is an odd number,
|
|
displays a total of
|
|
.I n
|
|
lines, centered about the current line;
|
|
when
|
|
.I n
|
|
is an even number,
|
|
it displays \f2n\f1\-1 lines,
|
|
so that the lines displayed are centered around the current line.)
|
|
You can give counts after other commands;
|
|
for example,
|
|
you can delete 5 lines starting with the current line with the command
|
|
.B d5 .
|
|
.PP
|
|
To find things in the file, you can use line numbers if you happen to know
|
|
them; since the line numbers change when you insert and delete lines
|
|
this is somewhat unreliable.
|
|
You can search backwards and forwards in the file for strings by giving
|
|
commands of the form
|
|
/\f2text\f1/
|
|
to search forward for
|
|
.I text
|
|
or
|
|
?\f2text\f1?
|
|
to search backward for
|
|
.I text .
|
|
If a search reaches the end of the file without finding \f2text\f1, it
|
|
wraps around and continues to search back to the line where you are.
|
|
A useful feature here is a search of the form
|
|
/^\f2text\f1/
|
|
which searches for
|
|
.I text
|
|
at the beginning of a line.
|
|
Similarly
|
|
/\f2text\f1$/
|
|
searches for
|
|
.I text
|
|
at the end of a line.
|
|
You can leave off the trailing \f3/\f1 or \f3?\f1 in these commands.
|
|
.PP
|
|
The current line has the symbolic name dot (\f3.\f1); this is most
|
|
useful in a range of lines as in \f3.,$p\f1 which prints the
|
|
current line plus the rest of
|
|
the lines in the file.
|
|
To move to the last line in the file, you can refer to it by its symbolic
|
|
name $.
|
|
Thus the command \f3$d\f1 deletes the last line in the
|
|
file, no matter what the current line is.
|
|
Arithmetic with line references is also possible.
|
|
Thus the line \f3$\-5\f1 is the fifth before the last and
|
|
\f3\&.+20\f1 is 20 lines after the current line.
|
|
.PP
|
|
You can find out the current line by typing \f3.=\f1.
|
|
This is useful if you wish to move or copy a section of text within a file or
|
|
between files.
|
|
Find the first and last line numbers
|
|
you wish to copy or move.
|
|
To move lines 10 through 20, type
|
|
.B "10,20d a"
|
|
to delete these lines from the file and place them in a buffer named
|
|
\f3a\f1.
|
|
.I edit
|
|
has 26 such buffers named
|
|
.B a
|
|
through
|
|
\f3z\f1.
|
|
To put the contents of buffer
|
|
.B a
|
|
after the current line, type
|
|
\f3put a\f1.
|
|
If you want to move or copy these lines to another file, execute an
|
|
.B edit
|
|
(\f3e\f1)
|
|
command after copying the lines; following
|
|
the \f3e\f1 command with the name of the other
|
|
file you wish to edit, that is,
|
|
\f3edit chapter2\f1.
|
|
To copy lines without deleting them, use \f3yank\f1 (\f3y\f1)
|
|
in place of \f3d\f1.
|
|
If the text you wish to move or copy is all within one file,
|
|
it is not necessary to use named buffers.
|
|
For example, to move lines 10 through 20 to the end
|
|
of the file, type
|
|
\f310,20m $\f1.
|
|
.SH SEE ALSO
|
|
ed(1),
|
|
ex(1),
|
|
vi(1).
|