3e1db26a5a
Removing elvis, importing nvi, ctags, updating libedit. Change-Id: I881eb04d2dc64cf112facd992de1114e1a59107f
1371 lines
34 KiB
Text
1371 lines
34 KiB
Text
@comment Copyright (c) 1994
|
|
@c $NetBSD: set.opt.texi,v 1.4 2008/12/12 22:55:56 lukem Exp $
|
|
@comment The Regents of the University of California. All rights reserved.
|
|
@comment Copyright (c) 1994, 1995, 1996
|
|
@comment Keith Bostic. All rights reserved.
|
|
@comment
|
|
@comment See the LICENSE file for redistribution information.
|
|
@comment
|
|
@comment Id: set.opt.texi,v 8.1 2001/08/18 20:43:48 skimo Exp (Berkeley) Date: 2001/08/18 20:43:48
|
|
@comment
|
|
@chapter Set Options
|
|
|
|
There are a large number of options that may be set (or unset) to
|
|
change the editor's behavior.
|
|
This section describes the options, their abbreviations and their
|
|
default values.
|
|
|
|
In each entry below, the first part of the tag line is the full name
|
|
of the option, followed by any equivalent abbreviations.
|
|
(Regardless of the abbreviations, it is only necessary to use the
|
|
minimum number of characters necessary to distinguish an abbreviation
|
|
from all other commands for it to be accepted, in
|
|
@EV{nex,nvi}.
|
|
Historically, only the full name and the official abbreviations
|
|
were accepted by
|
|
@EV{ex,vi}.
|
|
Using full names in your startup files and environmental variables will
|
|
probably make them more portable.)
|
|
The part in square brackets is the default value of the option.
|
|
Most of the options are boolean, i.e. they are either on or off,
|
|
and do not have an associated value.
|
|
|
|
Options apply to both
|
|
@CO{ex}
|
|
and
|
|
@CO{vi}
|
|
modes, unless otherwise specified.
|
|
|
|
With a few exceptions,
|
|
all options are settable per screen, i.e. the
|
|
@OP{tags}
|
|
option can be set differently in each screen.
|
|
The exceptions are the
|
|
@OP{columns},
|
|
@OP{lines},
|
|
@OP{secure}
|
|
and
|
|
@OP{term}
|
|
options.
|
|
Changing these options modifies the respective information for all screens.
|
|
|
|
For information on modifying the options or to display the options and
|
|
their current values, see the
|
|
@QQ{set}
|
|
command in the section entitled
|
|
@QB{Ex Commands} .
|
|
@itemize @bullet
|
|
@cindex altwerase
|
|
@IP{altwerase [off]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
Change how
|
|
@CO{vi}
|
|
does word erase during text input.
|
|
When this option is set, text is broken up into three classes:
|
|
alphabetic, numeric and underscore characters, other nonblank
|
|
characters, and blank characters.
|
|
Changing from one class to another marks the end of a word.
|
|
In addition, the class of the first character erased is ignored
|
|
(which is exactly what you want when erasing pathname components).
|
|
@cindex autoindent
|
|
@IP{autoindent, ai [off]}
|
|
|
|
If this option is set, whenever you create a new line (using the
|
|
@CO{vi}
|
|
@CO{A},
|
|
@CO{a},
|
|
@CO{C},
|
|
@CO{c},
|
|
@CO{I},
|
|
@CO{i},
|
|
@CO{O},
|
|
@CO{o},
|
|
@CO{R},
|
|
@CO{r},
|
|
@CO{S},
|
|
and
|
|
@CO{s}
|
|
commands, or the
|
|
@CO{ex}
|
|
@CO{append},
|
|
@CO{change},
|
|
and
|
|
@CO{insert}
|
|
commands) the new line is automatically indented to align the cursor with
|
|
the first nonblank character of the line from which you created it.
|
|
Lines are indented using tab characters to the extent possible (based on
|
|
the value of the
|
|
@OP{tabstop}
|
|
option,
|
|
and if
|
|
@OP{expandtab}
|
|
is not set) and then using space characters as necessary.
|
|
For commands inserting text into the middle of a line, any blank characters
|
|
to the right of the cursor are discarded, and the first nonblank character
|
|
to the right of the cursor is aligned as described above.
|
|
@sp 1
|
|
The indent characters are themselves somewhat special.
|
|
If you do not enter more characters on the new line before moving to
|
|
another line, or entering
|
|
@LI{<escape>},
|
|
the indent character will be deleted and the line will be empty.
|
|
For example, if you enter
|
|
@LI{<carriage-return>}twice in succession,
|
|
the line created by the first
|
|
@LI{<carriage-return>}will not have any characters in it,
|
|
regardless of the indentation of the previous or subsequent line.
|
|
@sp 1
|
|
Indent characters also require that you enter additional erase characters
|
|
to delete them.
|
|
For example,
|
|
if you have an indented line, containing only blanks, the first
|
|
@LI{<word-erase>}character you enter will erase up to end of the indent characters,
|
|
and the second will erase back to the beginning of the line.
|
|
(Historically, only the
|
|
@LI{<control-D>}key would erase the indent characters.
|
|
Both the
|
|
@LI{<control-D>}key and the usual erase keys work in
|
|
@CO{nvi}.)
|
|
In addition, if the cursor is positioned at the end of the indent
|
|
characters, the keys
|
|
@QT{0<control-D>}
|
|
will erase all of the indent characters for the current line,
|
|
resetting the indentation level to 0.
|
|
Similarly, the keys
|
|
@QT{^<control-D>}
|
|
will erase all of the indent characters for the current line,
|
|
leaving the indentation level for future created lines unaffected.
|
|
@sp 1
|
|
Finally, if the
|
|
@OP{autoindent}
|
|
option is set, the
|
|
@CO{S}
|
|
and
|
|
@CO{cc}
|
|
commands change from the first nonblank of the line to the end of the
|
|
line, instead of from the beginning of the line to the end of the line.
|
|
@cindex autoprint
|
|
@IP{autoprint, ap [off]}
|
|
|
|
@CO{Ex}
|
|
only.
|
|
Cause the current line to be automatically displayed after the
|
|
@CO{ex}
|
|
commands
|
|
@CO{<},
|
|
@CO{>},
|
|
@CO{copy},
|
|
@CO{delete},
|
|
@CO{join},
|
|
@CO{move},
|
|
@CO{put},
|
|
@CO{t},
|
|
@CO{Undo},
|
|
and
|
|
@CO{undo}.
|
|
This automatic display is suppressed during
|
|
@CO{global}
|
|
and
|
|
@CO{v}
|
|
commands, and for any command where optional flags are used to explicitly
|
|
display the line.
|
|
@cindex autowrite
|
|
@IP{autowrite, aw [off]}
|
|
|
|
If this option is set, the
|
|
@CO{vi}
|
|
@CO{!},
|
|
@CO{^^},
|
|
@CO{^]}
|
|
and
|
|
@CO{<control-Z>}
|
|
commands, and the
|
|
@CO{ex}
|
|
@CO{edit},
|
|
@CO{next},
|
|
@CO{rewind},
|
|
@CO{stop},
|
|
@CO{suspend},
|
|
@CO{tag},
|
|
@CO{tagpop},
|
|
and
|
|
@CO{tagtop}
|
|
commands automatically write the current file back to the current file name
|
|
if it has been modified since it was last written.
|
|
If the write fails, the command fails and goes no further.
|
|
@sp 1
|
|
Appending the optional force flag character
|
|
@QT{!}
|
|
to the
|
|
@CO{ex}
|
|
commands
|
|
@CO{next},
|
|
@CO{rewind},
|
|
@CO{stop},
|
|
@CO{suspend},
|
|
@CO{tag},
|
|
@CO{tagpop},
|
|
and
|
|
@CO{tagtop}
|
|
stops the automatic write from being attempted.
|
|
@sp 1
|
|
(Historically, the
|
|
@CO{next}
|
|
command ignored the optional force flag.)
|
|
Note, the
|
|
@CO{ex}
|
|
commands
|
|
@CO{edit},
|
|
@CO{quit},
|
|
@CO{shell},
|
|
and
|
|
@CO{xit}
|
|
are
|
|
@emph{not}
|
|
affected by the
|
|
@OP{autowrite}
|
|
option.
|
|
@sp 1
|
|
The
|
|
@OP{autowrite}
|
|
option is ignored if the file is considered read-only for any reason.
|
|
@comment I cannot get a double quote to print between the square brackets
|
|
@comment to save my life. The ONLY way I've been able to get this to work
|
|
@comment is with the .tr command.
|
|
@cindex backup
|
|
@IP{backup [""]}
|
|
|
|
If this option is set, it specifies a pathname used as a backup file,
|
|
and, whenever a file is written, the file's current contents are copied
|
|
to it.
|
|
The pathname is
|
|
@QT{#},
|
|
@QT{%}
|
|
and
|
|
@QT{!}
|
|
expanded.
|
|
@sp 1
|
|
If the first character of the pathname is
|
|
@QT{N},
|
|
a version number is appended to the pathname (and the
|
|
@QT{N}
|
|
character is then discarded).
|
|
Version numbers are always incremented, and each backup file will have
|
|
a version number one greater than the highest version number currently
|
|
found in the directory.
|
|
@sp 1
|
|
Backup files must be regular files, owned by the real user ID of the
|
|
user running the editor, and not accessible by any other user.
|
|
@cindex beautify
|
|
@IP{beautify, bf [off]}
|
|
|
|
If this option is set, all control characters that are not currently being
|
|
specially interpreted, other than
|
|
@LI{<tab>},
|
|
@LI{<newline>},
|
|
and
|
|
@LI{<form-feed>},
|
|
are
|
|
discarded from commands read in by
|
|
@CO{ex}
|
|
from command files, and from input text entered to
|
|
@CO{vi}
|
|
(either into the file or to the colon command line).
|
|
Text files read by
|
|
@EV{ex,vi}
|
|
are
|
|
@emph{not}
|
|
affected by the
|
|
@OP{beautify}
|
|
option.
|
|
@cindex cdpath
|
|
@IP{cdpath [environment variable CDPATH, or current directory]}
|
|
|
|
This option is used to specify a colon separated list of directories
|
|
which are used as path prefixes for any relative path names used as
|
|
arguments for the
|
|
@CO{cd}
|
|
command.
|
|
The value of this option defaults to the value of the environmental
|
|
variable
|
|
@LI{CDPATH}if it is set, otherwise to the current directory.
|
|
For compatibility with the POSIX 1003.2 shell, the
|
|
@CO{cd}
|
|
command does
|
|
@emph{not}
|
|
check the current directory as a path prefix for relative path names
|
|
unless it is explicitly specified.
|
|
It may be so specified by entering an empty string or a
|
|
@QT{.}
|
|
character into the
|
|
@LI{CDPATH}variable or the option value.
|
|
@cindex cedit
|
|
@IP{cedit [no default]}
|
|
|
|
This option adds the ability to edit the colon command-line history.
|
|
This option is set to a string.
|
|
Whenever the first character of that string is entered on the colon
|
|
command line,
|
|
you will enter a normal editing window on the collected commands that
|
|
you've entered on the
|
|
@CO{vi}
|
|
colon command-line.
|
|
You may then modify and/or execute the commands.
|
|
All normal text editing is available,
|
|
except that you cannot use
|
|
@CO{<control-W>}
|
|
to switch to an alternate screen.
|
|
Entering a
|
|
@CO{<carriage-return>}
|
|
will execute the current line of the screen window as an ex command in
|
|
the context of the screen from which you created the colon command-line
|
|
screen,
|
|
and you will then return to that screen.
|
|
@sp 1
|
|
Because of
|
|
@CO{vi}'s
|
|
parsing rules, it can be difficult to set the colon command-line edit
|
|
character to the
|
|
@LI{<escape>}character.
|
|
To set it to
|
|
@LI{<escape>},
|
|
use
|
|
@QT{set cedit=<literal-next><escape>}.
|
|
@sp 1
|
|
If the
|
|
@OP{cedit}
|
|
edit option is set to the same character as the
|
|
@OP{filec}
|
|
edit option,
|
|
@CO{vi}
|
|
will perform colon command-line editing if the character is entered as
|
|
the first character of the line,
|
|
otherwise,
|
|
@CO{vi}
|
|
will perform file name expansion.
|
|
@cindex columns
|
|
@IP{columns, co [80]}
|
|
|
|
The number of columns in the screen.
|
|
Setting this option causes
|
|
@EV{ex,vi}
|
|
to set (or reset) the environmental variable
|
|
@LI{COLUMNS}.
|
|
See the section entitled
|
|
@QB{Sizing the Screen}
|
|
more information.
|
|
@cindex comment
|
|
@IP{comment [off]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
If the first non-empty line of the file begins with the string
|
|
@QT{#},
|
|
@QT{/*}
|
|
or
|
|
@QT{//},
|
|
this option causes
|
|
@CO{vi}
|
|
to skip to the end of that shell, C or C++ comment (probably a
|
|
terribly boring legal notice) before displaying the file.
|
|
@cindex directory
|
|
@IP{directory, dir [environment variable TMPDIR, or /tmp]}
|
|
|
|
The directory where temporary files are created.
|
|
The environmental variable
|
|
@LI{TMPDIR}is used as the default value if it exists, otherwise
|
|
@LI{/tmp}is used.
|
|
@cindex edcompatible
|
|
@IP{edcompatible, ed [off]}
|
|
|
|
Remember the values of the
|
|
@QQ{c}
|
|
and
|
|
@QQ{g}
|
|
suffixes to the
|
|
@CO{substitute}
|
|
commands, instead of initializing them as unset for each new
|
|
command.
|
|
Specifying pattern and replacement strings to the
|
|
@CO{substitute}
|
|
command unsets the
|
|
@QQ{c}
|
|
and
|
|
@QQ{g}
|
|
suffixes as well.
|
|
@cindex escapetime
|
|
@IP{escapetime [1]}
|
|
|
|
The 10th's of a second
|
|
@EV{ex,vi}
|
|
waits for a subsequent key to complete an
|
|
@LI{<escape>}key mapping.
|
|
@cindex errorbells
|
|
@IP{errorbells, eb [off]}
|
|
|
|
@CO{Ex}
|
|
only.
|
|
@CO{Ex}
|
|
error messages are normally presented in inverse video.
|
|
If that is not possible for the terminal, setting this option causes
|
|
error messages to be announced by ringing the terminal bell.
|
|
@cindex expandtab
|
|
@IP{expandtab, et [off]}
|
|
|
|
Prevent the use of
|
|
@LI{<tab>}
|
|
characters in leading whitespace when shifting text, autoindenting,
|
|
indenting with
|
|
@CO{<control-T>},
|
|
or outdenting with
|
|
@CO{<control-D>}.
|
|
@cindex exrc
|
|
@IP{exrc, ex [off]}
|
|
|
|
If this option is turned on in the EXINIT environment variables,
|
|
or the system or $HOME startup files,
|
|
the local startup files are read,
|
|
unless they are the same as the system or $HOME startup files or
|
|
fail to pass the standard permission checks.
|
|
See the section entitled
|
|
@QB{Startup Information}
|
|
for more information.
|
|
@cindex extended
|
|
@IP{extended [off]}
|
|
|
|
This option causes all regular expressions to be treated as POSIX
|
|
1003.2 Extended Regular Expressions (which are similar to historic
|
|
@XR{egrep,1}
|
|
style expressions).
|
|
@cindex filec
|
|
@IP{filec [no default]}
|
|
|
|
This option adds the ability to do shell expansion when entering input
|
|
on the colon command line.
|
|
This option is set to a string.
|
|
Whenever the first character of that string is entered on the colon
|
|
command line,
|
|
the <blank> delimited string immediately before the cursor is expanded
|
|
as if it were followed by a
|
|
@LI{*}character, and file name expansion for the
|
|
@CO{ex}
|
|
edit command was done.
|
|
If no match is found, the screen is flashed and text input resumed.
|
|
If a single match results, that match replaces the expanded text.
|
|
In addition, if the single match is for a directory, a
|
|
@LI{/}character is appended and file completion is repeated.
|
|
If more than a single match results,
|
|
any unique prefix shared by the matches replaces the expanded text,
|
|
the matches are displayed,
|
|
and text input resumed.
|
|
@sp 1
|
|
Because of
|
|
@CO{vi}'s
|
|
parsing rules, it can be difficult to set the path completion character
|
|
to two command values,
|
|
@LI{<escape>}and
|
|
@LI{<tab>}.
|
|
To set it to
|
|
@LI{<escape>},
|
|
use
|
|
@QT{set filec=<literal-next><escape>}.
|
|
To set it to
|
|
@LI{<tab>},
|
|
use
|
|
@QT{set filec=\e<tab>}.
|
|
@sp 1
|
|
If the
|
|
@OP{cedit}
|
|
edit option is set to the same character as the
|
|
@OP{filec}
|
|
edit option,
|
|
@CO{vi}
|
|
will perform colon command-line editing if the character is entered as
|
|
the first character of the line,
|
|
otherwise,
|
|
@CO{vi}
|
|
will perform file name expansion.
|
|
@cindex flash
|
|
@IP{flash [on]}
|
|
|
|
This option causes the screen to flash instead of beeping the keyboard,
|
|
on error, if the terminal has the capability.
|
|
@cindex hardtabs
|
|
@IP{hardtabs, ht [8]}
|
|
|
|
This option defines the spacing between hardware tab settings, i.e.
|
|
the tab expansion done by the operating system and/or the terminal
|
|
itself.
|
|
As
|
|
@EV{nex,nvi}
|
|
never writes
|
|
@LI{<tab>}characters to the terminal, unlike historic versions of
|
|
@EV{ex,vi},
|
|
this option does not currently have any affect.
|
|
@cindex iclower
|
|
@IP{iclower [off]}
|
|
|
|
The
|
|
@OP{iclower}
|
|
edit option makes all Regular Expressions case-insensitive,
|
|
as long as an upper-case letter does not appear in the search string.
|
|
@cindex ignorecase
|
|
@IP{ignorecase, ic [off]}
|
|
|
|
This option causes regular expressions, both in
|
|
@CO{ex}
|
|
commands and in searches,
|
|
to be evaluated in a case-insensitive manner.
|
|
@cindex keytime
|
|
@IP{keytime [6]}
|
|
|
|
The 10th's of a second
|
|
@EV{ex,vi}
|
|
waits for a subsequent key to complete a key mapping.
|
|
@cindex leftright
|
|
@IP{leftright [off]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
This option causes the screen to be scrolled left-right to view
|
|
lines longer than the screen, instead of the traditional
|
|
@CO{vi}
|
|
screen interface which folds long lines at the right-hand margin
|
|
of the terminal.
|
|
@cindex lines
|
|
@IP{lines, li [24]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
The number of lines in the screen.
|
|
Setting this option causes
|
|
@EV{ex,vi}
|
|
to set (or reset) the environmental variable
|
|
@LI{LINES}.
|
|
See the section entitled
|
|
@QB{Sizing the Screen}
|
|
for more information.
|
|
@cindex lisp
|
|
@IP{lisp [off]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
This option changes the behavior of the
|
|
@CO{vi}
|
|
@CO{(},
|
|
@CO{)},
|
|
@strong{@{},
|
|
@strong{@}},
|
|
@CO{[[}
|
|
and
|
|
@CO{]]}
|
|
commands to match the Lisp language.
|
|
Also, the
|
|
@OP{autoindent}
|
|
option's behavior is changed to be appropriate for Lisp.
|
|
@sp 1
|
|
@emph{This option is not yet implemented.}
|
|
@cindex list
|
|
@IP{list [off]}
|
|
|
|
This option causes lines to be displayed in an unambiguous fashion.
|
|
Specifically, tabs are displayed as control characters, i.e.
|
|
@QT{^I},
|
|
and the ends of lines are marked with a
|
|
@QT{$}
|
|
character.
|
|
@cindex lock
|
|
@IP{lock [on]}
|
|
|
|
This option causes the editor to attempt to get an exclusive lock on
|
|
any file being edited, read or written.
|
|
Reading or writing a file that cannot be locked produces a warning
|
|
message, but no other effect.
|
|
Editing a file that cannot be locked results in a read only edit session,
|
|
as if the
|
|
@OP{readonly}
|
|
edit option were set.
|
|
@cindex magic
|
|
@IP{magic [on]}
|
|
|
|
This option is on by default.
|
|
Turning the
|
|
@OP{magic}
|
|
option off causes all regular expression characters except for
|
|
@QT{^}
|
|
and
|
|
@QT{$},
|
|
to be treated as ordinary characters.
|
|
To re-enable characters individually, when the
|
|
@OP{magic}
|
|
option is off,
|
|
precede them with a backslash
|
|
@QT{\e}
|
|
character.
|
|
See the section entitled
|
|
@QB{Regular Expressions and Replacement Strings}
|
|
for more information.
|
|
@cindex matchchars
|
|
@IP{matchchars [[]@{@}()<>]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
This option defines the character pairs used by the
|
|
@CO{%}
|
|
command.
|
|
|
|
@cindex matchtime
|
|
@IP{matchtime [7]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
The 10th's of a second
|
|
@CO{vi}
|
|
pauses on the matching character when the
|
|
@OP{showmatch}
|
|
option is set.
|
|
@cindex mesg
|
|
@IP{mesg [on]}
|
|
|
|
This option allows other users to contact you using the
|
|
@XR{talk,1}
|
|
and
|
|
@XR{write,1}
|
|
utilities, while you are editing.
|
|
@EV{Ex,vi}
|
|
does not turn message on, i.e. if messages were turned off when the
|
|
editor was invoked, they will stay turned off.
|
|
This option only permits you to disallow messages for the edit session.
|
|
See the
|
|
@XR{mesg,1}
|
|
utility for more information.
|
|
@cindex msgcat
|
|
@IP{msgcat [./]}
|
|
|
|
This option selects a message catalog to be used to display error and
|
|
informational messages in a specified language.
|
|
If the value of this option ends with a '/', it is treated as the name
|
|
of a directory that contains a message catalog
|
|
@QT{vi_XXXX},
|
|
where
|
|
@QT{XXXX}
|
|
is the value of the
|
|
@LI{LANG}environmental variable, if it's set, or the value of the
|
|
@LI{LC_MESSAGES}environmental variable if it's not.
|
|
If neither of those environmental variables are set,
|
|
or if the option doesn't end in a '/',
|
|
the option is treated as the full path name of the message catalog to use.
|
|
@sp 1
|
|
If any messages are missing from the catalog,
|
|
the backup text (English) is used instead.
|
|
@sp 1
|
|
See the distribution file
|
|
@LI{catalog/README}for additional information on building and installing message catalogs.
|
|
@cindex modelines
|
|
@IP{modelines, modeline [off]}
|
|
|
|
If the
|
|
@OP{modelines}
|
|
option is set,
|
|
@EV{ex,vi}
|
|
has historically scanned the first and last five lines of each file as
|
|
it is read for editing, looking for any
|
|
@CO{ex}
|
|
commands that have been placed in those lines.
|
|
After the startup information has been processed, and before the user
|
|
starts editing the file, any commands embedded in the file are executed.
|
|
@sp 1
|
|
Commands were recognized by the letters
|
|
@QQ{e}
|
|
or
|
|
@QQ{v}
|
|
followed by
|
|
@QQ{x}
|
|
or
|
|
@QQ{i},
|
|
at the beginning of a line or following a tab or space character,
|
|
and followed by a
|
|
@QQ{:},
|
|
an
|
|
@CO{ex}
|
|
command, and another
|
|
@QQ{:}.
|
|
@sp 1
|
|
This option is a security problem of immense proportions,
|
|
and should not be used under any circumstances.
|
|
@sp 1
|
|
@emph{This option will never be implemented.}
|
|
@comment I cannot get a double quote to print between the square brackets
|
|
@comment to save my life. The ONLY way I've been able to get this to work
|
|
@comment is with the .tr command.
|
|
@cindex noprint
|
|
@IP{noprint [""]}
|
|
|
|
Characters that are never handled as printable characters.
|
|
By default, the C library function
|
|
@XR{isprint,3}
|
|
is used to determine if a character is printable or not.
|
|
This edit option overrides that decision.
|
|
@cindex number
|
|
@IP{number, nu [off]}
|
|
|
|
Precede each line displayed with its current line number.
|
|
@cindex octal
|
|
@IP{octal [off]}
|
|
|
|
Display unknown characters as octal numbers
|
|
@PQ{"\e###"},
|
|
instead of the default
|
|
hexadecimal
|
|
@PQ{"\ex##"}.
|
|
@cindex open
|
|
@IP{open [on]}
|
|
|
|
@CO{Ex}
|
|
only.
|
|
If this option is not set, the
|
|
@CO{open}
|
|
and
|
|
@CO{visual}
|
|
commands are disallowed.
|
|
@cindex optimize
|
|
@IP{optimize, opt [on]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
Throughput of text is expedited by setting the terminal not to do automatic
|
|
carriage returns when printing more than one (logical) line of output,
|
|
greatly speeding output on terminals without addressable cursors when text
|
|
with leading white space is printed.
|
|
@sp 1
|
|
@emph{This option is not yet implemented.}
|
|
@cindex paragraphs
|
|
@IP{paragraphs, para [IPLPPPQPP LIpplpipbp]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
Define additional paragraph boundaries for the
|
|
@CO{@{}
|
|
and
|
|
@strong{@}}
|
|
commands.
|
|
The value of this option must be a character string consisting
|
|
of zero or more character pairs.
|
|
@sp 1
|
|
In the text to be edited, the character string
|
|
@LI{<newline>.<char-pair>},
|
|
(where
|
|
@LI{<char-pair>}is one of the character pairs in the option's value)
|
|
defines a paragraph boundary.
|
|
For example, if the option were set to
|
|
@LI{LaA<space>##},
|
|
then all of the following additional paragraph boundaries would be
|
|
recognized:
|
|
@sp 1
|
|
@example
|
|
<newline>.La
|
|
<newline>.A<space>
|
|
<newline>.##
|
|
@end example
|
|
@cindex path
|
|
@IP{path []}
|
|
|
|
The path option can be used to specify a <colon>-separated list of
|
|
paths, similar to the
|
|
@LI{PATH}environment variable in the shells.
|
|
If this option is set,
|
|
the name of the file to be edited is not an absolute pathname,
|
|
the first component of the filename is not
|
|
@QT{.}
|
|
or
|
|
@QT{..},
|
|
and the file to be edited doesn't exist in the current directory,
|
|
the elements of the
|
|
@OP{path}
|
|
option are sequentially searched for a file of the specified name.
|
|
If such a file is found, it is edited.
|
|
@comment I cannot get a double quote to print between the square brackets
|
|
@comment to save my life. The ONLY way I've been able to get this to work
|
|
@comment is with the .tr command.
|
|
@cindex print
|
|
@IP{print [""]}
|
|
|
|
Characters that are always handled as printable characters.
|
|
By default, the C library function
|
|
@XR{isprint,3}
|
|
is used to determine if a character is printable or not.
|
|
This edit option overrides that decision.
|
|
@cindex prompt
|
|
@IP{prompt [on]}
|
|
|
|
@CO{Ex}
|
|
only.
|
|
This option causes
|
|
@CO{ex}
|
|
to prompt for command input with a
|
|
@QT{:}
|
|
character; when it is not set, no prompt is displayed.
|
|
@cindex readonly
|
|
@IP{readonly, ro [off]}
|
|
|
|
This option causes a force flag to be required to attempt to write the file.
|
|
Setting this option is equivalent to using the
|
|
@strong{-R}
|
|
command line option,
|
|
or executing the
|
|
@CO{vi}
|
|
program using the name
|
|
@CO{view}.
|
|
@sp 1
|
|
The
|
|
@OP{readonly}
|
|
edit option is not usually persistent, like other edit options.
|
|
If the
|
|
@strong{-R}
|
|
command line option is set,
|
|
@CO{vi}
|
|
is executed as
|
|
@CO{view},
|
|
or the
|
|
@OP{readonly}
|
|
edit option is explicitly set,
|
|
all files edited in the screen will be marked readonly,
|
|
and the force flag will be required to write them.
|
|
However, if none of these conditions are true,
|
|
or the
|
|
@OP{readonly}
|
|
edit option is explicitly unset,
|
|
then the
|
|
@OP{readonly}
|
|
edit option will toggle based on the write permissions of the file currently
|
|
being edited as of when it is loaded into the edit buffer.
|
|
In other words, the
|
|
@OP{readonly}
|
|
edit option will be set if the current file lacks write permissions,
|
|
and will not be set if the user has write permissions for the file.
|
|
@cindex recdir
|
|
@IP{recdir [/var/tmp/vi.recover]}
|
|
|
|
The directory where recovery files are stored.
|
|
@sp 1
|
|
If you change the value of
|
|
@OP{recdir},
|
|
be careful to choose a directory whose contents are not regularly
|
|
deleted.
|
|
Bad choices include directories in memory based filesystems,
|
|
or
|
|
@LI{/tmp},
|
|
on most systems,
|
|
as their contents are removed when the machine is rebooted.
|
|
@sp 1
|
|
Public directories like
|
|
@LI{/usr/tmp}and
|
|
@LI{/var/tmp}are usually safe, although some sites periodically prune old files
|
|
from them.
|
|
There is no requirement that you use a public directory,
|
|
e.g. a sub-directory of your home directory will work fine.
|
|
@sp 1
|
|
Finally, if you change the value of
|
|
@OP{recdir},
|
|
you must modify the recovery script to operate in your chosen recovery
|
|
area.
|
|
@sp 1
|
|
See the section entitled
|
|
@QB{Recovery}
|
|
for further information.
|
|
@cindex redraw
|
|
@IP{redraw, re [off]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
The editor simulates (using great amounts of output), an intelligent
|
|
terminal on a dumb terminal (e.g. during insertions in
|
|
@CO{vi}
|
|
the characters to the right of the cursor are refreshed as each input
|
|
character is typed).
|
|
@sp 1
|
|
@emph{This option is not yet implemented.}
|
|
@cindex remap
|
|
@IP{remap [on]}
|
|
|
|
If this option is set,
|
|
it is possible to define macros in terms of other macros.
|
|
Otherwise, each key is only remapped up to one time.
|
|
For example, if
|
|
@QT{A}
|
|
is mapped to
|
|
@QT{B},
|
|
and
|
|
@QT{B}
|
|
is mapped to
|
|
@QT{C},
|
|
The keystroke
|
|
@QT{A}
|
|
will be mapped to
|
|
@QT{C}
|
|
if the
|
|
@OP{remap}
|
|
option is set, and to
|
|
@QT{B}
|
|
if it is not set.
|
|
@cindex report
|
|
@IP{report [5]}
|
|
|
|
Set the threshold of the number of lines that need to be changed or
|
|
yanked before a message will be displayed to the user.
|
|
For everything but the yank command, the value is the largest value
|
|
about which the editor is silent, i.e. by default, 6 lines must be
|
|
deleted before the user is notified.
|
|
However, if the number of lines yanked is greater than
|
|
@emph{or equal to}
|
|
the set value, it is reported to the user.
|
|
@cindex ruler
|
|
@IP{ruler [off]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
Display a row/column ruler on the colon command line.
|
|
@cindex scroll
|
|
@IP{scroll, scr [(environment variable LINES - 1) / 2]}
|
|
|
|
Set the number of lines scrolled by the
|
|
@CO{ex}
|
|
@CO{<control-D>}
|
|
and
|
|
@CO{<end-of-file>}
|
|
commands.
|
|
@sp 1
|
|
Historically, the
|
|
@CO{ex}
|
|
@CO{z}
|
|
command, when specified without a count, used two times the size of the
|
|
scroll value; the POSIX 1003.2 standard specified the window size, which
|
|
is a better choice.
|
|
@cindex searchincr
|
|
@IP{searchincr [off]}
|
|
|
|
The
|
|
@OP{searchincr}
|
|
edit option makes the search commands
|
|
@CO{/}
|
|
and
|
|
@CO{?}
|
|
incremental, i.e. the screen is updated and the cursor moves to the matching
|
|
text as the search pattern is entered.
|
|
If the search pattern is not found,
|
|
the screen is beeped and the cursor remains on the colon-command line.
|
|
Erasing characters from the search pattern backs the cursor up to the
|
|
previous matching text.
|
|
@cindex sections
|
|
@IP{sections, sect [NHSHH HUnhsh]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
Define additional section boundaries for the
|
|
@CO{[[}
|
|
and
|
|
@CO{]]}
|
|
commands.
|
|
The
|
|
@OP{sections}
|
|
option should be set to a character string consisting of zero or
|
|
more character pairs.
|
|
In the text to be edited, the character string
|
|
@LI{<newline>.<char-pair>},
|
|
(where
|
|
@LI{<char-pair>}is one of the character pairs in the option's value),
|
|
defines a section boundary in the same manner that
|
|
@OP{paragraphs}
|
|
option boundaries are defined.
|
|
@cindex secure
|
|
@IP{secure [off]}
|
|
|
|
The
|
|
@OP{secure}
|
|
edit option turns off all access to external programs.
|
|
This means that the versions of the
|
|
@CO{read}
|
|
and
|
|
@CO{write}
|
|
commands that filter text through other programs,
|
|
the
|
|
@CO{vi}
|
|
@CO{!}
|
|
and
|
|
@CO{<control-Z>}
|
|
commands,
|
|
the
|
|
@CO{ex}
|
|
@CO{!},
|
|
@CO{script},
|
|
@CO{shell},
|
|
@CO{stop}
|
|
and
|
|
@CO{suspend}
|
|
commands and file name expansion will not be permitted.
|
|
Once set,
|
|
the
|
|
@OP{secure}
|
|
edit option may not be unset.
|
|
@cindex shell
|
|
@IP{shell, sh [environment variable SHELL, or /bin/sh]}
|
|
|
|
Select the shell used by the editor.
|
|
The specified path is the pathname of the shell invoked by the
|
|
@CO{vi}
|
|
@CO{!}
|
|
shell escape command and by the
|
|
@CO{ex}
|
|
@CO{shell}
|
|
command.
|
|
This program is also used to resolve any shell meta-characters in
|
|
@CO{ex}
|
|
commands.
|
|
@comment I cannot get a double quote to print between the square brackets
|
|
@comment to save my life. The ONLY way I've been able to get this to work
|
|
@comment is with the .tr command.
|
|
@cindex shellmeta
|
|
@comment @IP{shellmeta [~@{[*?@$`'"\e]}
|
|
@item @strong{shellmeta [~@{[*?$`'"\]}
|
|
|
|
The set of characters that
|
|
@CO{ex}
|
|
checks for when doing file name expansion.
|
|
If any of the specified characters are found in the file name arguments
|
|
to the
|
|
@CO{ex}
|
|
commands,
|
|
the arguments are expanded using the program defined by the
|
|
@OP{shell}
|
|
option.
|
|
The default set of characters is a union of meta characters
|
|
from the Version 7 and the Berkeley C shell.
|
|
@cindex shiftwidth
|
|
@IP{shiftwidth, sw [8]}
|
|
|
|
Set the autoindent and shift command indentation width.
|
|
This width is used by the
|
|
@OP{autoindent}
|
|
option and by the
|
|
@CO{<},
|
|
@CO{>},
|
|
and
|
|
@CO{shift}
|
|
commands.
|
|
@cindex showmatch
|
|
@IP{showmatch, sm [off]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
This option causes
|
|
@CO{vi},
|
|
when a
|
|
@comment QT
|
|
``@code{@}}''
|
|
or
|
|
@QT{)}
|
|
is entered, to briefly move the cursor the matching
|
|
@comment QT
|
|
``@code{@{}''
|
|
or
|
|
@QT{(}.
|
|
See the
|
|
@OP{matchtime}
|
|
option for more information.
|
|
@cindex showmode
|
|
@IP{showmode, smd [off]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
This option causes
|
|
@CO{vi}
|
|
to display a string identifying the current editor mode on the colon
|
|
command line.
|
|
The string is preceded by an asterisk (``*'') if the file has been
|
|
modified since it was last completely written,
|
|
@cindex sidescroll
|
|
@IP{sidescroll [16]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
Sets the number of columns that are shifted to the left or right,
|
|
when
|
|
@CO{vi}
|
|
is doing left-right scrolling and the left or right margin is
|
|
crossed.
|
|
See the
|
|
@OP{leftright}
|
|
option for more information.
|
|
@cindex slowopen
|
|
@IP{slowopen, slow [off]}
|
|
|
|
This option affects the display algorithm used by
|
|
@CO{vi},
|
|
holding off display updating during input of new text to improve
|
|
throughput when the terminal in use is slow and unintelligent.
|
|
@sp 1
|
|
@emph{This option is not yet implemented.}
|
|
@cindex sourceany
|
|
@IP{sourceany [off]}
|
|
|
|
If this option is turned on,
|
|
@CO{vi}
|
|
historically read startup files that were owned by someone other than
|
|
the editor user.
|
|
See the section entitled
|
|
@QB{Startup Information}
|
|
for more information.
|
|
This option is a security problem of immense proportions,
|
|
and should not be used under any circumstances.
|
|
@sp 1
|
|
@emph{This option will never be implemented.}
|
|
@cindex tabstop
|
|
@IP{tabstop, ts [8]}
|
|
|
|
This option sets tab widths for the editor display.
|
|
@cindex taglength
|
|
@IP{taglength, tl [0]}
|
|
|
|
This option sets the maximum number of characters that are considered
|
|
significant in a tag name.
|
|
Setting the value to 0 makes all of the characters in the tag name
|
|
significant.
|
|
@cindex tags
|
|
@IP{tags, tag [tags /var/db/libc.tags /sys/kern/tags]}
|
|
|
|
Sets the list of tags files, in search order,
|
|
which are used when the editor searches for a tag.
|
|
@cindex term
|
|
@IP{term, ttytype, tty [environment variable TERM]}
|
|
|
|
Set the terminal type.
|
|
Setting this option causes
|
|
@EV{ex,vi}
|
|
to set (or reset) the environmental variable
|
|
@LI{TERM}.
|
|
@cindex terse
|
|
@IP{terse [off]}
|
|
|
|
This option has historically made editor messages less verbose.
|
|
It has no effect in this implementation.
|
|
See the
|
|
@OP{verbose}
|
|
option for more information.
|
|
@cindex tildeop
|
|
@IP{tildeop [off]}
|
|
|
|
Modify the
|
|
@CO{~}
|
|
command to take an associated motion.
|
|
@cindex timeout
|
|
@IP{timeout, to [on]}
|
|
|
|
If this option is set,
|
|
@EV{ex,vi}
|
|
waits for a specific period for a subsequent key to complete a key
|
|
mapping (see the
|
|
@OP{keytime}
|
|
option).
|
|
If the option is not set, the editor waits until enough keys are
|
|
entered to resolve the ambiguity, regardless of how long it takes.
|
|
@cindex ttywerase
|
|
@IP{ttywerase [off]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
This option changes how
|
|
@CO{vi}
|
|
does word erase during text input.
|
|
If this option is set, text is broken up into two classes,
|
|
blank characters and nonblank characters.
|
|
Changing from one class to another marks the end of a word.
|
|
@cindex verbose
|
|
@IP{verbose [off]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
@CO{Vi}
|
|
historically bells the terminal for many obvious mistakes, e.g. trying
|
|
to move past the left-hand margin, or past the end of the file.
|
|
If this option is set, an error message is displayed for all errors.
|
|
@cindex w300
|
|
@IP{w300 [no default]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
Set the window size if the baud rate is less than 1200 baud.
|
|
See the
|
|
@OP{window}
|
|
option for more information.
|
|
@cindex w1200
|
|
@IP{w1200 [no default]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
Set the window size if the baud rate is equal to 1200 baud.
|
|
See the
|
|
@OP{window}
|
|
option for more information.
|
|
@cindex w9600
|
|
@IP{w9600 [no default]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
Set the window size if the baud rate is greater than 1200 baud.
|
|
See the
|
|
@OP{window}
|
|
option for more information.
|
|
@cindex warn
|
|
@IP{warn [on]}
|
|
|
|
@CO{Ex}
|
|
only.
|
|
This option causes a warning message to the terminal if the file has
|
|
been modified, since it was last written, before a
|
|
@CO{!}
|
|
command.
|
|
@cindex window
|
|
@IP{window, w, wi [environment variable LINES - 1]}
|
|
|
|
This option determines the default number of lines in a screenful,
|
|
as displayed by the
|
|
@CO{z}
|
|
command.
|
|
It also determines the number of lines scrolled by the
|
|
@CO{vi}
|
|
commands
|
|
@CO{<control-B>}
|
|
and
|
|
@CO{<control-F>},
|
|
and the default number of lines scrolled by the
|
|
@CO{vi}
|
|
commands
|
|
@CO{<control-D>}
|
|
and
|
|
@CO{<control-U>}.
|
|
The value of window can be unrelated to the real screen size,
|
|
although it starts out as the number of lines on the screen.
|
|
See the section entitled
|
|
@QB{Sizing the Screen}
|
|
for more information.
|
|
Setting the value of the
|
|
@OP{window}
|
|
option is the same as using the
|
|
@strong{-w}
|
|
command line option.
|
|
@sp 1
|
|
If the value of the
|
|
@OP{window}
|
|
option (as set by the
|
|
@OP{window},
|
|
@OP{w300},
|
|
@OP{w1200}
|
|
or
|
|
@OP{w9600}
|
|
options) is smaller than the actual size of the screen,
|
|
large screen movements will result in displaying only that smaller
|
|
number of lines on the screen.
|
|
(Further movements in that same area will result in the screen being
|
|
filled.)
|
|
This can provide a performance improvement when viewing different
|
|
places in one or more files over a slow link.
|
|
@sp 1
|
|
Resetting the window size does not reset the default number of lines
|
|
scrolled by the
|
|
@CO{<control-D>}
|
|
and
|
|
@CO{<control-U>}
|
|
commands.
|
|
@cindex windowname
|
|
@IP{windowname [off]}
|
|
|
|
@CO{Vi}
|
|
changes the name of the editor's icon/window to the current file name
|
|
when it's possible and not destructive, i.e.,
|
|
when the editor can restore it to its original value on exit or when
|
|
the icon/window will be discarded as the editor exits.
|
|
If the
|
|
@OP{windowname}
|
|
edit option is set,
|
|
@CO{vi}
|
|
will change the icon/window name even when it's destructive and the
|
|
icon/window name will remain after the editor exits.
|
|
(This is the case for
|
|
@XR{xterm,1}).
|
|
@cindex wraplen
|
|
@IP{wraplen, wl [0]}
|
|
|
|
This option is identical to the
|
|
@OP{wrapmargin}
|
|
option, with the exception that it specifies the number of columns
|
|
from the
|
|
@emph{left}
|
|
margin before the line splits, not the right margin.
|
|
@sp 1
|
|
If both
|
|
@OP{wraplen}
|
|
and
|
|
@OP{wrapmargin}
|
|
are set, the
|
|
@OP{wrapmargin}
|
|
value is used.
|
|
@cindex wrapmargin
|
|
@IP{wrapmargin, wm [0]}
|
|
|
|
@CO{Vi}
|
|
only.
|
|
If the value of the
|
|
@OP{wrapmargin}
|
|
option is non-zero,
|
|
@CO{vi}
|
|
will split lines so that they end at least that number of columns
|
|
before the right-hand margin of the screen.
|
|
(Note, the value of
|
|
@OP{wrapmargin}
|
|
is
|
|
@emph{not}
|
|
a text length.
|
|
In a screen that is 80 columns wide, the command
|
|
@QT{:set wrapmargin=8}
|
|
attempts to keep the lines less than or equal to 72 columns wide.)
|
|
@sp 1
|
|
Lines are split at the previous whitespace character closest to the
|
|
number.
|
|
Any trailing whitespace characters before that character are deleted.
|
|
If the line is split because of an inserted
|
|
@LI{<space>}or
|
|
@LI{<tab>}character, and you then enter another
|
|
@LI{<space>}character, it is discarded.
|
|
@sp 1
|
|
If wrapmargin is set to 0,
|
|
or if there is no blank character upon which to split the line,
|
|
the line is not broken.
|
|
@sp 1
|
|
If both
|
|
@OP{wraplen}
|
|
and
|
|
@OP{wrapmargin}
|
|
are set, the
|
|
@OP{wrapmargin}
|
|
value is used.
|
|
@cindex wrapscan
|
|
@IP{wrapscan, ws [on]}
|
|
|
|
This option causes searches to wrap around the end or the beginning
|
|
of the file, and back to the starting point.
|
|
Otherwise, the end or beginning of the file terminates the search.
|
|
@cindex writeany
|
|
@IP{writeany, wa [off]}
|
|
|
|
If this option is set, file-overwriting checks that would usually be
|
|
made before the
|
|
@CO{write}
|
|
and
|
|
@CO{xit}
|
|
commands, or before an automatic write (see the
|
|
@OP{autowrite}
|
|
option), are not made.
|
|
This allows a write to any file, provided the file permissions allow it.
|
|
@end itemize
|