The following table contains brief descriptions of all set
command options.
In the first column,
options are listed in alphabetical order; if the option
can be abbreviated, that abbreviation is shown in parentheses on the
line below.
The second column shows the
default setting that vi uses unless you issue an explicit
set
command (either manually or in the .exrc file).
The last column describes what the option does,
when enabled.
Option | Default | Description |
---|---|---|
autoindent (ai) | noai | In insert mode, indents each line to the same level as the line above
or below. Use with |
autoprint (ap) | ap | Displays changes after each editor command. (For global replacement, displays last replacement.) |
autowrite (aw) | noaw | Automatically writes (saves) file if changed
before opening another file with |
beautify (bf) | nobf | Ignores all control characters during input (except tab, newline, or formfeed). |
directory (dir) | /tmp | Names directory in which ex stores buffer files. (Directory must be writable.) |
edcompatible | noed-compatible | Uses ed-like features on substitute commands. |
errorbells (eb) | errorbells | Sounds bell when an error occurs. |
exrc (ex) | noexrc | Allows the execution of .exrc files that reside outside the user's home directory. (System V only.) |
hardtabs (ht) | =8 | Defines boundaries for terminal hardware tabs. |
ignorecase (ic) | noic | Disregards case during a search. |
lisp | nolisp | Inserts indents in appropriate lisp format. ( ), { }, [[, and ]] are modified to have meaning for lisp. |
list | nolist | Prints tabs as ^I; marks ends of lines with $.
(Use |
magic | magic | Wildcard characters . (dot), * (asterisk), and [] (brackets) have special meaning in patterns. |
mesg | mesg | Permits system messages to display on terminal while editing in vi. |
number (nu) | nonu | Displays line numbers on left of screen during editing session. |
open | open | Allows entry to open or visual mode from ex. |
optimize (opt) | noopt | Abolishes carriage returns at the end of lines when printing multiple lines, speeds output on dumb terminals when printing lines with leading white space (blanks or tabs). |
paragraphs (para) | =IPLPPPQP LIpplpipbp | Defines paragraph delimiters for movement by { or }. The pairs of characters in the value are the names of nroff/troff macros that begin paragraphs. |
prompt | prompt | Displays the ex prompt (:) when vi's |
readonly (ro) | noro | Any writes (saves) of a file will fail unless you
use |
redraw (re) | noredraw | Terminal redraws screen whenever edits are made (in other words, insert mode
pushes over existing characters, and deleted lines immediately close up).
Default depends on line speed and terminal type. |
remap | remap | Allows nested map sequences. |
report | =5 | Displays a message on the prompt line whenever you make an edit that
affects at least a certain number of lines. For example,
|
scroll | =[1/2 window] | Amount of screen to scroll. |
sections (sect) | =SHNHH HU | Defines section delimiters for [[ ]] movement. The pairs of characters in the value are the names of nroff/troff macros that begin sections. |
shell (sh) | =/bin/sh | Pathname of shell used for shell escape ( |
shiftwidth (sw) | =8 | Defines number of spaces in
backward ( |
showmatch (sm) | nosm | In vi, when ) or } is entered, cursor moves briefly to matching ( or {. (If match is not on the screen, rings the error message bell.) Very useful for programming. |
showmode | noshowmode | In insert mode, displays a message on the prompt line indicating the type of insert you are making. For example, "Open Mode," or "Append Mode." (System V only.) |
slowopen (slow) | Holds off display during insert. Default depends on line speed and terminal type. | |
tabstop (ts) | =8 | Defines number of spaces that a [TAB] indents during editing session. (Printer still uses system tab of 8.) |
taglength (tl) | =0 | Defines number of characters that are significant for tags. Default (zero) means that all characters are significant. |
tags | =tags /usr/lib/tags | Defines pathname of files containing tags (see the UNIX
|
term | Sets terminal type. | |
terse | noterse | Displays shorter error messages. |
timeout (to) | timeout | Keyboard maps "time out" after 1 second.[1] |
ttytype | Sets terminal type. | |
warn | warn | Displays the warning message, "No write since last change." |
window (w) | Shows a certain number of lines of the file on the screen. Default depends on line speed and terminal type. | |
wrapscan (ws) | ws | Searches wrap around either end of file. |
wrapmargin (wm) | =0 | Defines right margin. If greater than zero, automatically inserts carriage returns to break lines. |
writeany (wa) | nowa | Allows saving to any file. |
[1] This option is rarely needed. It's useful only with versions of vi that let you map a sequence to several keys (for example,
:map zzz 3dw
). If you setnotimeout
, you have unlimited time to type the commandzzz
, instead of the one second you normally have.