## C.5. vile 8.0 Options

vile 8.0 has a total of 92 options that affect its behavior. Table C.5 summarizes the most important ones. Most options described in Table C.1 are not repeated here.

#### Table C.5. vile 8.0 Set Options

Option | Default | Description
--- | --- | ---
`alt-tabpos` | `noatp` | Controls whether the cursor sits at the left or right end of the whitespace representing a TAB character.
`animated` | `animated` | Automatically updates the contents of scratch buffers when their contents would change.
`autobuffer (ab)` | `autobuffer` | Uses "most-recently-used" style buffering; the buffers are sorted in order of use. Otherwise, buffers remain in the order in which they were edited.
`autosave (as)` | `noautosave` | Automatic file saving. Writes the file after every `autosavecnt` characters of inserted text.
`autosavecnt (ascnt)` | `256` | Specifies after how many inserted characters automatic saves take place.
`backspacelimit (bl)` | `backspacelimit` | If disabled, then in insert mode you can backspace past the point at which the insert began.
`backup-style` | `off` | Controls how backup files are created when writing a file. Possible values are `off` for no backups, `.bak` for DOS style backups, and `tilde` for emacs style hello.c~ backups under UNIX.
`bcolor` |  | Sets the background color on systems that support it.
`check-modtime` | `nocheck-modtime` | Issues a file newer than buffer warning if the file has changed since last read or written, and prompts for confirmation.
`cmode` | `off` | A built-in major mode for C code.
`comment-prefix` | `^\s*\(\s*[#*>]\)\+` | Describes the leading part of a line that should be left alone when reformatting comments. The default value is good for Makefile, shell and C comments, and email.
`comments` | `^\s*/\?\(\s*[#*>] \)\+/\?\s*$` | A regular expression defining commented paragraph delimiters. Its purpose is to preserve paragraphs inside comments when reformatting.
`dirc` | `nodirc` | vile checks each name when scanning directories for filename completion. This allows you to distinguish between directory names and filenames in the prompt.
`dos` | `nodos` | Strips out the CR from CR-LF pairs when reading files, and puts them back when writing. New buffers for non-existent files inherit the line-style of the operating system, whatever the value of `dos`.
`fcolor` |  | Sets the foreground color on systems that support it.
`fence-begin` | `/\*` | Regular expressions for the start and end of simple, non-nestable fences, such as C comments.
`fence-end` | `\*/`
`fence-if` | `^\s*#\s*if` | Regular expression marking the start, "else if," "else," and end of line-oriented, nested fences, such as C-preprocessor control lines.
`fence-elif` | `^\s*#\s*elif\>`
`fence-else` | `^\s*#\s*else\>`
`fence-fi` | `^\s*#\s*endif\>`
`fence-pairs` | `{ }( )[ ]` | Each pair of characters denotes a set of "fences" that should be matched with `%`.
`glob` | `!echo %s` | Controls how wildcard characters (e.g., `*` and `?`) are treated in prompts for filenames. A value of `off` disables expansion, and `on` uses the internal globber, which can handle normal shell wildcards and `~` notation. The default value for UNIX guarantees compatibility with your shell.
`history (hi)` | `history` | Logs commands from the colon command line in the `[History]` buffer.
`horizscroll (hs)` | `horizscroll` | Moving off the end of a long line shifts the whole screen sideways. If not set, only the current line shifts.
`linewrap (lw)` | `nolinewrap` | Wraps long logical lines onto multiple screen lines.
`maplonger` | `nomaplonger` | The map facility matches against the longest possible mapped sequence, not the shortest.
`meta-insert-bindings (mib)` | `nomib` | Controls behavior of 8-bit characters during insert. Normally, key-bindings are only operational when in command mode: when in insert mode, all characters are self-inserting. If this mode is on, and a meta-character (i.e., a character with the eighth bit set) is typed which is bound to a function, then that function binding will be honored and executed from within insert mode. Any unbound meta-characters will remain self-inserting.
`mini-edit` | `^G` | The character that toggles the editing mode in the minibuffer.
`mini-hilite (mh)` | `reverse` | Defines the highlight attribute to use when the user toggles the editing mode in the minibuffer.
`popup-choices (pc)` | `delayed` | Controls the use of a pop-up window for help in doing completion. The value is one of `off` for no window, `immediate` for an immediate pop-up, and `delayed` to wait for a second TAB key.
`preamble (pre)` |  | A regular expression describing the first line of filenames for which the corresponding major mode will be set.
`resolve-links` | `noresolve-links` | If set, vile fully resolves filenames in cases where some path components are symbolic links. This helps avoid multiple unintentional edits of the same physical file via different pathnames.
`ruler` | `noruler` | Shows the current line and column in the status line, as well as what percentage of the current buffer's lines lie in front of the cursor.
`showmode (smd)` | `noshowmode` | Display an indicator on the modeline for insert and replace modes.
`sideways` | `0` | Prompts for a new value for the sideways scroll offset, which controls by how many characters the screen scrolls to the left or right. The value of 0 moves the screen by one third.
`suffixes (suf)` |  | A regular expression describing filenames for which the corresponding major mode will be set. Used as part of the major mode facility, not by itself.
`tabinsert (ti)` | `tabinsert` | Allow the physical insertion of tab characters into the buffer. If turned off (`notabinsert`), vile will never insert a TAB into a buffer; instead it will always insert the appropriate number of spaces.
`tagignorecase (tc)` | `notagignorecase` | Makes tag searches ignore case.
`taglength (tl)` | `0` | Defines number of characters that are significant for tags. Default (zero) means that all characters are significant. This does not effect tags picked up from the cursor, they are always matched exactly. (This is different from the other editors.)
`tagrelative (tr)` | `tagrelative` | When using a tags file in another directory, filenames in that tags file are considered to be relative to the directory where the tags file is.
`tags` | tags | A space separated list of files in which to look up tag references.
`tagword (tw)` | `notagword` | Uses the whole word under the cursor for the tag lookup, not just the sub-word starting at the current cursor position.
`undolimit (ul)` | `10` | Limits how many changes may be undone. The value zero means "no limit."
`unprintable-as-octal (uo)` | `nounprintable-as-octal` | Displays non-printing characters with the eighth bit set in octal. Otherwise, uses hexadecimal. Non-printing characters whose eighth bit is not set are always displayed in control character notation.
`visual-matches` | `none` | Controls highlighting of all matching occurrences of a search pattern. The possible values are `none` for no highlighting, or `underline`, `bold`, and `reverse` for those kinds of highlighting. Colors may also be used on systems that support it.
`xterm-mouse` | `noxterm-mouse` | Allows use of the mouse from inside an xterm. See the online help for details.

Copyright © 2003 O'Reilly & Associates. All rights reserved.