C.5. vile 9.6 Options

vile 9.6 has 167 options (called "modes" in vile), which are denoted universal, buffer or window modes according to their use. There are also 101 environment variables which are more useful in scripts than for direct user manipulation. [1] Not all are available on every platform; some apply only to X11 or Win32.

Table Table C.5 shows the compiled-in default values for the most important of vile's options. The initialization scripts such as vileinit.rc override several of those values.

Table C.5. vile 9.6 Set Options




alt-tabpos (atp)noatp

Controls whether the cursor sits at the left or right end of the whitespace representing a TAB character.


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.

autocolor (ac)0

Automatic syntax coloring. If set to zero, automatic syntax coloring is disabled. Otherwise, it should be set to a small positive integer which represents the number of milliseconds to wait for a "quiet interval" before invoking the autocolor-hook hook.

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.


Controls how backup files are created when writing a file. Possible values are off, .bak for DOS style backups, and tilde for emacs style hello.c~ backups under UNIX.


Sets the background color on systems that support it.

byteorder-mark (bom)auto

Controls the check for a prefix used to distinguish different types of UTF-encoding. The default value auto tells vile to inspect the file; specific values tell it to use that value.


Issues a file newer than buffer warning if the file has changed since last read or written, and prompts for confirmation.


Enable C-style indentation, which helps maintain current indentation level automatically during insert, like autoindent.


The list of characters interpreted by the cindent mode. These include # to indent to column 1, : to indent further as after a label. Listing a pair of characters which are also in fence-pairs causes text enclosed by the pair to be further indented.


A built-in major mode for C code.

color-scheme (cs)default

Specify by name an aggregate of fcolor, bcolor, video-attrs and $palette defined via the define-color-scheme command.


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.


A regular expression defining commented paragraph delimiters. Its purpose is to preserve paragraphs inside comments when reformatting.


Controls whether vile uses regular expressions or character classes for parsing tokens from the screen for various commands. This uses an enumeration: both, cclass and regex.


vile checks each name when scanning directories for filename completion. This allows you to distinguish between directory names and filenames in the prompt.


Strips out the CR from CR-LF pairs when reading files, and puts them back when writing. New buffers for nonexistent files inherit the line-style of the operating system, whatever the value of dos.


Sets the foreground color on systems that support it.


Regular expressions for the start and end of simple non-nestable fences such as C comments.


Regular expressions marking the start, "else if", "else" and end of line-oriented, nested fences, such as C-preprocessor control lines.


Each pair of characters denotes a set of "fences" that should be matched with %.


Specify the character encoding of the buffer contents, e.g., one of 8bit, ascii, auto, utf-16, utf-32 or utf-8.

filtername (fn)

Specify a syntax-highlighting filter, for a given major mode.

for-buffers (fb)mixed

Specifies whether globbing or regular expressions are used to select buffer names in the for-buffers and kill-buffer commands.

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.

highlight (hl)highlight

Enable or disable syntax highlighting in the corresponding buffers.

history (hi)history

Logs commands from the colon command-line (minibuffer) in the [History] buffer.

ignoresuffix (is)\(\.orig\|~\)$

Strip the given pattern from a filename before matching it for major mode suffixes.

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.


The map facility matches against the longest possible mapped sequence, not the shortest.

meta-insert-bindings (mib)mib

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-hilite (mh)reverse

Defines the highlight attribute to use when the user toggles the editing mode in the minibuffer.


Controls whether a vi-like modeline feature is enabled.


Controls the number of lines from each end of the buffer to scan for vi-like mode lines.


Modifies the highlighting shown by visual-matches to control whether overlapping matches are shown.


Percentage of total lines which must end with CR/LF for vile to automatically convert buffer's recordseparator to crlf.


Percentage of total characters which contain embedded nulls, making them look like UTF-16 or UTF-32 encodings. If the file-encoding option is set to auto, and the match is higher than this threshold, vile will load the buffer data as UTF-8.

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.

popup-msgs (pm)nopopup-msgs

When enabled, vile pops up the [Messages] buffer showing the text that was written to the message line.

recordseparator (rs)lf[a]

Specify format of files that vile reads and writes. Formats are lf (for UNIX), crlf (for DOS), cr (for Macintosh) and default (lf or crlf, depending on the platform).


If set, vile fully resolves filenames in case where some path components are symbolic links. This helps avoid multiple unintentional edits of the same physical file via different pathnames.


Shows the current line and column in the status line, as well as what percentage of the current buffer's lines line in front of the cursor.

showchar (sc)noshowchar

Show the value of the current character in the status line.

showformat (sf)foreign

Controls when/whether recordseparator information is shown in the status line. Values are: always, differs to show when the local mode differs from the global, local to show whenever a local mode is set, foreign to show when the recordseparator differs from the native default and never.

showmode (smd)showmode

Display an indicator on the status line for insert and replace modes.


Controls by how many characters the screen scrolls to the left or right. The value of 0 moves the screen by one third.

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 affect tags picked up from the cursor, they are always matched exactly. (This is different from the other editors).

tagrelative (tr)notagrelative

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.


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."

unicode-as-hex (uh)nounicode-as-hex

If displaying a buffer whose file-encoding says it is one of the Unicode flavors, e.g., utf-8, utf-16 or utf-32 show the values that are non-ASCII in \uXXXX format even if the display is capable of showing these as regular characters.

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.


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.


Support xterm's modified function keys by generating system bindings for the shift-, control-, alt-modifiers of each function key listed in the terminal description.


Allows use of the mouse from inside an xterm. See the online help for details.


Enables titlebar updates if you are running within an xterm. Each time you switch to a different buffer, vile can update the title. This uses the same tests of the TERM variable as the xterm-mouse mode.

a. This depends on the platform for which vile is compiled.



These include variables which are set or used as a side-effect of other commands. Owing to their focus on scripting, their descriptions also are not suitable for this table since they tend to be lengthy—read the online help for details.