This subsection describes the following:
The :set
command
Options available with :set
Example .exrc
file
The :set
command allows you to specify options that change
characteristics of your editing environment. Options may be put in the
.exrc
file or set during a vi session.
The colon should not be typed if the command is put in .exrc
.
:set x | Enable option x . |
:set nox | Disable option x . |
:set x =val | Give value to optionx . |
:set | Show changed options. |
:set all | Show all options. |
:set x ? | Show value of option x . |
The following table describes the options to :set
.
The first column includes the optional abbreviation, if there is one,
and uses an equal sign to show that the option takes a value.
The second column gives the default, and the third column
describes the behavior of the enabled option.
Option | Default | Description |
---|---|---|
autoindent (ai) | noai | In insert mode, indent each line to the same level as the line above or below. Use with |
autoprint (ap) | ap | Display changes after each editor command. (For global replacement, display last replacement.) |
autowrite (aw) | noaw | Automatically write (save) file if changed before opening another file with |
beautify (bf) | nobf | Ignore all control characters during input (except tab, newline, or formfeed). |
directory= (dir) | /tmp | Name the directory in which ex stores buffer files. (Directory must be writable.) |
edcompatible | noed-compatible | Use ed-like features on substitute commands. |
errorbells (eb) | errorbells | Sound bell when an error occurs. |
exrc (ex) | noexrc | Allow the execution of |
hardtabs= (ht) | 8 | Define boundaries for terminal hardware tabs. |
ignorecase (ic) | noic | Disregard case during a search. |
lisp | nolisp | Insert indents in appropriate lisp format. ( ), { }, [[, and ]] are modified to have meaning for lisp. |
list | nolist | Print tabs as ^I; mark ends of lines with $.
(Use |
magic | magic | Wildcard characters
|
mesg | mesg | Permit system messages to display on terminal while editing in vi. |
number (nu) | nonu | Display line numbers on left of screen during editing session. |
open | open | Allow entry to open mode from ex. |
optimize (opt) | noopt | Abolish 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 | Define 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 | Display 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 | Allow nested map sequences. |
report= | 5 | Display 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 | Define 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 | Define 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." |
slowopen (slow) | Hold off display during insert. Default depends on line speed and terminal type. | |
tabstop= (ts) | 8 | Define number of spaces that a TAB indents during editing session. (Printer still uses system tab of 8.) |
taglength= (tl) | 0 | Define number of characters that are significant for tags. Default (zero) means that all characters are significant. |
tags= /usr/lib/tags | tags | Define pathname of files containing tags (see the UNIX |
term= | Set terminal type. | |
terse | noterse | Display shorter error messages. |
timeout (to) | timeout | Keyboard maps "time out" after 1 second. |
ttytype= | Set terminal type. | |
warn | warn | Display the message, "No write since last change." |
window= (w) | Show a certain number of lines of the file on the screen. Default depends on line speed and terminal type. | |
wrapmargin= (wm) | 0 | Define right margin. If greater than zero, automatically inserts carriage returns to break lines. |
wrapscan (ws) | ws | Searches wrap around either end of file. |
writeany (wa) | nowa | Allow saving to any file. |
set nowrapscan wrapmargin=7 set sections=SeAhBhChDh nomesg map q :w^M:n^M map v dwElp ab ORA O'Reilly & Associates, Inc.