In this handbook, you have invoked the vi
editor with the
There are other options to the
command that can be
You can open a file directly to a specific line number or pattern.
You can also open a file in read-only mode.
Another option recovers all changes to a file that you were
editing when the system crashed.
When you begin editing an existing file, you can call the file in
and then move to the first occurrence of a pattern
or to a
specific line number.
You can also specify
your first movement by search or by line
number right on the command line:[
at line number n
at last line.
at the first occurrence of pattern
In the file practice
, to open the file and advance directly to the line
containing the word Screen
vi +/Screen practice
command with the option
to go directly to the line containing Screen
As you see in the example above, your search pattern will not
necessarily be positioned at the top of the screen.
If you include spaces in the pattern
, you must enclose the whole
pattern within single or double quotes:[
or escape the space with a backslash:
In addition, if you want to use the general pattern-matching syntax
described in Chapter 6, Global Replacement
you may need to protect one or more special characters
from interpretation by the shell with either single quotes or backslashes.
if you have to leave an editing session in the
middle. You can mark your place by inserting a pattern
. Then when you return to the
file, all you have to remember is
Normally, when you're editing in vi
is enabled. If you've customized your environment so that
is always disabled (see Section 3.3.1, "Repeating Searches "
in Chapter 3
you might not be able to
. If you try to open a file this way,
opens the file at the last line and displays the message
"Address search hit BOTTOM without matching pattern."
There will be times when you want to look at a file but want to
protect that file from inadvertent keystrokes and changes.
(You might want to call in a lengthy file to practice
or you might want to scroll through a command file or program).
You can enter a file in read-only mode and use all the vi
movement commands, but you won't be able to change the file.
To look at a file in read-only mode, enter either:
command, like the
can use any of the command-line options for advancing to a
specific place in the file.)[
If you do decide to make some edits to the file, you can override read-only
mode by adding an exclamation point to the
If you have a problem writing out the file, see the problem checklists
Appendix D, Problem Checklists
Occasionally there is a system failure while you are editing a file.
Ordinarily, any edits made after your last write (save) are lost.
However, there is an option,
, which lets you
recover the edited buffer at the time of a system crash.
When you first log on after the system
is running again, you will receive a mail message stating
that your buffer has been saved. In addition, if you type the command:
you will get a list of any files that the system has saved.
with a file name to recover the edited buffer.
For example, to recover the edited buffer of the file
after a system crash, enter:
vi -r practice
It is wise to recover the file immediately, lest you inadvertently
make edits to the
file, and then have to resolve a version skew between the preserved buffer
and the newly edited file.
You can force the system to preserve your buffer even when there is
not a crash by using the command
You may find it useful
if you have made edits to a file, then discover that you can't save
your edits because you don't have write permission. (You could also
just write out a copy of the file under another name or into a directory
where you do have write permission. See Section 1.2.1, "Problems Saving Files "
in Chapter 1
Recovery for the various clones may work differently, and can change
from version to version. It is best to check your local documentation.
does not support
any kind of recovery. The vile
recommends the use of the
How to do this is described in Section 7.1, "Customizing vi "
in Chapter 7