EDIT(1-SysV) RISC/os Reference Manual EDIT(1-SysV)
NAME
edit - text editor (variant of ex for casual users)
SYNOPSIS
edit [ -r ] [ -x ] name ...
DESCRIPTION
edit is a variant of the text editor ex recommended for new
or casual users who wish to use a command-oriented editor.
-r Recover file after an editor or system crash.
-x Encryption option; when this option is used, the file
will be encrypted as it is being written and will
require an encryption key to be read (see crypt(1)).
Also, see the WARNING section at the end of this manual
page.
The following brief introduction should help you get started
with edit. If you are using a CRT terminal you may want to
learn about the display editor vi.
To edit the contents of an existing file you begin with the
command ``edit name'' to the shell. edit makes a copy of
the file which you can then edit, and tells you how many
lines and characters are in the file. To create a new file,
just make up a name for the file and try to run edit on it;
you will cause an error diagnostic, but do not worry.
edit prompts for commands with the character `:', which you
should see after starting the editor. If you are editing an
existing file, then you will have some lines in edit's
buffer (its name for the copy of the file you are editing).
Most commands to edit use its ``current line'' if you do not
tell them which line to use. Thus if you say print (which
can be abbreviated p) and hit carriage return (as you should
after all edit commands) this current line will be printed.
If you delete (d) the current line, edit will print the new
current line. When you start editing, edit makes the last
line of the file the current line. If you delete this last
line, then the new last line becomes the current one. In
general, after a delete, the next line in the file becomes
the current line. (Deleting the last line is a special
case.)
If you start with an empty file or wish to add some new
lines, then the append (a) command can be used. After you
give this command (typing a carriage return after the word
append) edit will read lines from your terminal until you
give a line consisting of just a ``.'', placing these lines
after the current line. The last line you type then becomes
the current line. The command insert (i) is like append but
Printed 1/15/91 Page 1
EDIT(1-SysV) RISC/os Reference Manual EDIT(1-SysV)
places the lines you give before, rather than after, the
current line.
edit numbers the lines in the buffer, with the first line
having number 1. If you give the command ``1'' then edit
will type this first line. If you then give the command
delete edit will delete the first line, line 2 will become
line 1, and edit will print the current line (the new line
1) so you can see where you are. In general, the current
line will always be the last line affected by a command.
You can make a change to some text within the current line
by using the substitute (s) command. You say ``s/old/new/''
where old is replaced by the old characters you want to get
rid of and new is the new characters you want to replace it
with.
The command file (f) will tell you how many lines there are
in the buffer you are editing and will say ``[Modified]'' if
you have changed it. After modifying a file you can put the
buffer text back to replace the file by giving a write (w)
command. You can then leave the editor by issuing a quit
(q) command. If you run edit on a file, but do not change
it, it is not necessary (but does no harm) to write the file
back. If you try to quit from edit after modifying the
buffer without writing it out, you will be warned that there
has been ``No write since last change'' and edit will await
another command. If you wish not to write the buffer out
then you can issue another quit command. The buffer is then
irretrievably discarded, and you return to the shell.
By using the delete and append commands, and giving line
numbers to see lines in the file you can make any changes
you desire. You should learn at least a few more things,
however, if you are to use edit more than a few times.
The change (c) command will change the current line to a
sequence of lines you supply (as in append you give lines up
to a line consisting of only a ``.''). You can tell change
to change more than one line by giving the line numbers of
the lines you want to change, i.e., ``3,5change''. You can
print lines this way too. Thus ``1,23p'' prints the first
23 lines of the file.
The undo (u) command will reverse the effect of the last
command you gave which changed the buffer. Thus if you give
a substitute command which does not do what you want, you
can say undo and the old contents of the line will be
restored. You can also undo an undo command so that you can
continue to change your mind. edit will give you a warning
message when commands you do affect more than one line of
the buffer. If the amount of change seems unreasonable, you
Page 2 Printed 1/15/91
EDIT(1-SysV) RISC/os Reference Manual EDIT(1-SysV)
should consider doing an undo and looking to see what hap-
pened. If you decide that the change is ok, then you can
undo again to get it back. Note that commands such as write
and quit cannot be undone.
To look at the next line in the buffer you can just hit car-
riage return. To look at a number of lines hit ^D (control
key and, while it is held down D key, then let up both)
rather than carriage return. This will show you a half
screen of lines on a CRT or 12 lines on a hardcopy terminal.
You can look at the text around where you are by giving the
command ``z.''. The current line will then be the last line
printed; you can get back to the line where you were before
the ``z.'' command by saying ``''''. The z command can also
be given other following characters ``z-'' prints a screen
of text (or 24 lines) ending where you are; ``z+'' prints
the next screenful. If you want less than a screenful of
lines, type in "z.12" to get 12 lines total. This method of
giving counts works in general; thus you can delete 5 lines
starting with the current line with the command ``delete
5''.
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 /text/ to search forward for
text or ?text? to search backward for text. If a search
reaches the end of the file without finding the text it
wraps, end around, and continues to search back to the line
where you are. A useful feature here is a search of the
form /^text/ which searches for text at the beginning of a
line. Similarly /text$/ searches for text at the end of a
line. You can leave off the trailing / or ? in these com-
mands.
The current line has a symbolic name ``.''; this is most
useful in a range of lines as in ``.,$print'' which prints
the rest of the lines in the file. To get to the last line
in the file you can refer to it by its symbolic name ``$''.
Thus the command ``$ delete'' or ``$d'' deletes the last
line in the file, no matter which line was the current line
before. Arithmetic with line references is also possible.
Thus the line ``$-5'' is the fifth before the last, and
``.+20'' is 20 lines after the present.
You can find out which line you are at by doing ``.=''.
This is useful if you wish to move or copy a section of text
within a file or between files. Find out the first and last
line numbers you wish to copy or move (say 10 to 20). For a
move you can then say ``10,20delete a'' which deletes these
lines from the file and places them in a buffer named a.
Printed 1/15/91 Page 3
EDIT(1-SysV) RISC/os Reference Manual EDIT(1-SysV)
edit has 26 such buffers named a through z. You can later
get these lines back by doing ``put a'' to put the contents
of buffer a after the current line. If you want to move or
copy these lines between files you can give an edit (e) com-
mand after copying the lines, following it with the name of
the other file you wish to edit, i.e., ``edit chapter2''.
By changing delete to yank above you can get a pattern for
copying lines. If the text you wish to move or copy is all
within one file then you can just say ``10,20move $'' for
example. It is not necessary to use named buffers in this
case (but you can if you wish).
SEE ALSO
ed(1), ex(1), vi(1).
WARNING
The -x option is provided with the Security Administration
Utilities, swhich is available only in the United States.
Page 4 Printed 1/15/91