import * as denopsStd from "https://deno.land/x/denops_std@v6.4.0/option/mod.ts";
A module to provide accessors of Vim and Neovim native options.
import type { Denops } from "https://deno.land/x/denops_std@v6.4.0/mod.ts";
import * as op from "https://deno.land/x/denops_std@v6.4.0/option/mod.ts";
export async function main(denops: Denops): Promise<void> {
// Get value of the option.
// `get` is available on any options
// `getGlobal` is available on only global options
// `getLocal` is available on only local options
console.log(await op.autoread.get(denops));
console.log(await op.autoread.getGlobal(denops));
console.log(await op.autoread.getLocal(denops));
// Set value of the option.
// `set` is available on any options
// `setGlobal` is available on only global options
// `setLocal` is available on only local options
await op.autoread.set(denops, true);
await op.autoread.setGlobal(denops, true);
await op.autoread.setLocal(denops, true);
// Reset the option.
// `reset` is available on any options
// `resetGlobal` is available on only global options
// `resetLocal` is available on only local options
await op.autoread.reset(denops);
await op.autoread.resetGlobal(denops);
await op.autoread.resetLocal(denops);
}
See vim/mod.ts
or nvim/mod.ts
if you need Vim or Neovim specific options.
Variables
Allow CTRL-_ in Insert and Command-line mode. This is default off, to avoid that users that accidentally type CTRL-_ instead of SHIFT-_ get into reverse Insert mode, and don't know how to get out. See 'revins'. NOTE: This option is reset when 'compatible' is set. | |
Only effective when 'encoding' is "utf-8" or another Unicode encoding. Tells Vim what to do with characters with East Asian Width Class Ambiguous (such as Euro, Registered Sign, Copyright Sign, Greek letters, Cyrillic letters). | |
This option can be set to start editing Arabic text. Setting this option will:
| |
When on and 'termbidi' is off, the required visual character
corrections that need to take place for displaying the Arabic language
take effect. Shaping, in essence, gets enabled; the term is a broad
one which encompasses:
a) the changing/morphing of characters based on their location
within a word (initial, medial, final and stand-alone).
b) the enabling of the ability to compose characters
c) the enabling of the required combining of some characters
When disabled the display shows each character's true stand-alone
form.
Arabic is a complex language which requires other settings, for
further details see | |
When on, Vim will change the current working directory whenever you open a file, switch buffers, delete a buffer or open/close a window. It will change to the directory containing the file which was opened or selected. When a buffer has no name it also has no directory, thus the current directory won't change when navigating to it. Note: When this option is on some plugins may not work. | |
Copy indent from current line when starting a new line (typing | |
When a file has been detected to have been changed outside of Vim and
it has not been changed inside of Vim, automatically read it again.
When the file has been deleted this is not done, so you have the text
from before it was deleted. When it appears again then it is read.
| |
Write the contents of the file, if it has been modified, on each
| |
Like 'autowrite', but also used for commands ":edit", ":enew", ":quit", ":qall", ":exit", ":xit", ":recover" and closing the Vim window. Setting this option also implies that Vim behaves like 'autowrite' has been set. | |
When set to "dark", Vim will try to use colors that look good on a
dark background. When set to "light", Vim will try to use colors that
look good on a light background. Any other value is illegal.
Vim tries to set the default value according to the terminal used.
This will not always be correct.
Setting this option does not change the background color, it tells Vim
what the background color looks like. For changing the background
color, see | |
Influences the working of | |
Make a backup before overwriting a file. Leave it around after the
file has been successfully written. If you do not want to keep the
backup file, but you do want a backup while the file is being
written, reset this option and set the 'writebackup' option (this is
the default). If you do not want a backup file at all reset both
options (use this if your file system is almost full). See the
| |
When writing a file and a backup is made, this option tells how it's done. This is a comma-separated list of words. | |
List of directories for the backup file, separated with commas.
| |
String which is appended to a file name to make the name of the
backup file. The default is quite unusual, because this avoids
accidentally overwriting existing files with a backup file. You might
prefer using ".bak", but make sure that you don't have files with
".bak" that you want to keep.
Only normal file name characters can be used; | |
A list of file patterns. When one of the patterns matches with the
name of the file which is written, no backup file is created. Both
the specified file name and the full path name of the file are used.
The pattern is used like with | |
Specifies for which events the bell will not be rung. It is a comma separated list of items. For each item that is present, the bell will be silenced. This is most useful to specify specific events in insert mode to be silenced. You can also make it flash by using 'visualbell'. | |
This option should be set before editing a binary file. You can also
use the | |
v bomb | When writing a file and the following conditions are met, a BOM (Byte Order Mark) is prepended to the file:
|
This option lets you choose which characters might cause a line break if 'linebreak' is on. Only works for ASCII and also for 8-bit characters when 'encoding' is an 8-bit encoding. | |
Every wrapped line will continue visually indented (same amount of space as the beginning of that line), thus preserving horizontal blocks of text. NOTE: This option is reset when 'compatible' is set. | |
Settings for 'breakindent'. It can consist of the following optional items and must be separated by a comma: min:{n} Minimum text width that will be kept after applying 'breakindent', even if the resulting text should normally be narrower. This prevents text indented almost to the right window border occupying lot of vertical space when broken. (default: 20) shift:{n} After applying 'breakindent', the wrapped line's beginning will be shifted by the given number of characters. It permits dynamic French paragraph indentation (negative) or emphasizing the line continuation (positive). (default: 0) sbr Display the 'showbreak' value before applying the additional indent. (default: off) list:{n} Adds an additional indent for lines that match a numbered or bulleted list (using the 'formatlistpat' setting). list:-1 Uses the length of a match with 'formatlistpat' for indentation. (default: 0) column:{n} Indent at column {n}. Will overrule the other sub-options. Note: an additional indent may be added for the 'showbreak' setting. (default: off) | |
Which directory to use for the file browser: last Use same directory as with last file browser, where a file was opened or saved. buffer Use the directory of the related buffer. current Use the current directory. {path} Use the specified directory | |
This option specifies what happens when a buffer is no longer
displayed in a window:
| |
When this option is set, the buffer shows up in the buffer list. If it is reset it is not used for ":bnext", "ls", the Buffers menu, etc. This option is reset by Vim for buffers that are only used to remember a file name or marks. Vim sets it when starting to edit a buffer. But not when moving to a buffer with ":buffer". | |
The value of this option specifies the type of a buffer:
| |
Specifies details about changing the case of letters. It may contain these words, separated by a comma: internal Use internal case mapping functions, the current locale does not change the case mapping. This only matters when 'encoding' is a Unicode encoding, "latin1" or "iso-8859-15". When "internal" is omitted, the towupper() and towlower() system library functions are used when available. keepascii For the ASCII characters (0x00 to 0x7f) use the US case mapping, the current locale is not effective. This probably only matters for Turkish. | |
When on, | |
This is a list of directories which will be searched when using the
| |
The key used in Command-line Mode to open the command-line window.
The default is CTRL-F when 'compatible' is off.
Only non-printable keys are allowed.
The key can be specified as a single character, but it is difficult to
type. The preferred way is to use the | |
An expression that is used for character encoding conversion. It is
evaluated when a file that is to be read or has been written has a
different encoding from what is desired.
'charconvert' is not used when the internal iconv() function is
supported and is able to do the conversion. Using iconv() is
preferred, because it is much faster.
'charconvert' is not used when reading stdin | |
Enables automatic C program indenting. See 'cinkeys' to set the keys
that trigger reindenting in insert mode and 'cinoptions' to set your
preferred indent style.
If 'indentexpr' is not empty, it overrules 'cindent'.
If 'lisp' is not on and both 'indentexpr' and 'equalprg' are empty,
the "=" operator indents using this algorithm rather than calling an
external program.
See | |
A list of keys that, when typed in Insert mode, cause reindenting of
the current line. Only used if 'cindent' is on and 'indentexpr' is
empty.
For the format of this option see | |
The 'cinoptions' affect the way 'cindent' reindents lines in a C
program. See | |
Keywords that are interpreted as a C++ scope declaration by | |
These keywords start an extra indent in the next line when 'smartindent' or 'cindent' is set. For 'cindent' this is only done at an appropriate place (inside {}). Note that 'ignorecase' isn't used for 'cinwords'. If case doesn't matter, include the keyword both the uppercase and lowercase: "if,If,IF". | |
This option is a list of comma-separated names. Note: if one of the items is "exclude:", then you can't add an item after that. Therefore do not append an item with += but use ^= to prepend, e.g.: | |
Number of screen lines to use for the command-line. A larger value
helps avoiding | |
Number of screen lines to use for the command-line window. | |
'colorcolumn' is a comma-separated list of screen columns that are
highlighted with ColorColumn | |
Number of columns of the screen. Normally this is set by the terminal
initialization and does not have to be set by hand. Also see
| |
A comma-separated list of strings that can start a comment line. See
| |
A template for a comment. The "%s" in the value is replaced with the
comment text. Currently only used to add markers for folding, see
| |
This option specifies how keyword completion | |
This option specifies a function to be used for Insert mode completion
with CTRL-X CTRL-U. | |
A comma-separated list of options for Insert mode completion
| |
When this option is set it overrules 'shellslash' for completion:
| |
Sets the modes in which text in the cursor line can also be concealed. When the current mode is listed then concealing happens just like in other lines. n Normal mode v Visual mode i Insert mode c Command line editing, for 'incsearch' | |
Determine how text with the "conceal" syntax attribute | |
When 'confirm' is on, certain operations that would normally
fail because of unsaved changes to a buffer, e.g. ":q" and ":e",
instead raise a | |
Copy the structure of the existing lines indent when autoindenting a
new line. Normally the new indent is reconstructed by a series of
tabs followed by spaces as required (unless | |
A sequence of single character flags. When a character is present
this indicates Vi-compatible behavior. This is used for things where
not being Vi-compatible is mostly or sometimes preferred.
'cpoptions' stands for "compatible-options".
Commas can be added for readability.
To avoid problems with flags that are added in the future, use the
"+=" and "-=" feature of ":set" | |
When this option is set, as the cursor in the current window moves other cursorbound windows (windows that also have this option set) move their cursors to the corresponding line and column. This option is useful for viewing the differences between two versions of a file (see 'diff'); in diff mode, inserted and deleted lines (though not characters within a line) are taken into account. | |
Highlight the screen column of the cursor with CursorColumn
| |
Highlight the text line of the cursor with CursorLine | |
Comma-separated list of settings for how 'cursorline' is displayed.
Valid values:
"line" Highlight the text line of the cursor with
CursorLine | |
These values can be used:
msg Error messages that would otherwise be omitted will be given
anyway.
throw Error messages that would otherwise be omitted will be given
anyway and also throw an exception and set | |
Pattern to be used to find a macro definition. It is a search
pattern, just like for the "/" command. This option is used for the
commands like "[i" and "[d" | |
If editing Unicode and this option is set, backspace and Normal mode "x" delete each combining character on its own. When it is off (the default) the character along with its combining characters are deleted. Note: When 'delcombine' is set "xx" may work differently from "2x"! | |
List of file names, separated by commas, that are used to lookup words
for keyword completion commands | |
v diff | Join the current window in the group of windows that shows differences
between files. See |
Expression which is evaluated to obtain a diff file (either ed-style
or unified-style) from two versions of a file. See | |
Option settings for diff mode. It can consist of the following items. All are optional. Items must be separated by a comma. | |
Enable the entering of digraphs in Insert mode with {char1} | |
List of directory names for the swap file, separated with commas.
Recommended value: | |
Change the way text is displayed. This is a comma-separated list of
flags:
lastline When included, as much as possible of the last line
in a window will be displayed. "@@@" is put in the
last columns of the last screen line to indicate the
rest of the line is not displayed.
truncate Like "lastline", but "@@@" is displayed in the first
column of the last screen line. Overrules "lastline".
uhex Show unprintable characters hexadecimal as | |
Tells when the 'equalalways' option applies: ver vertically, width of windows is not affected hor horizontally, height of windows is not affected both width and height of windows is affected | |
When on all Unicode emoji characters are considered to be full width.
This excludes "text emoji" characters, which are normally displayed as
single width. Unfortunately there is no good specification for this
and it has been determined on trial-and-error basis. Use the
| |
Sets the character encoding used inside Vim. It applies to text in
the buffers, registers, Strings in expressions, text stored in the
viminfo file, etc. It sets the kind of characters which Vim can work
with. See | |
Indicates that a CTRL-Z character was found at the end of the file
when reading it. Normally only happens when 'fileformat' is "dos".
When writing a file and this option is off and the 'binary' option
is on, or 'fixeol' option is off, no CTRL-Z will be written at the
end of the file.
See | |
When writing a file and this option is off and the 'binary' option
is on, or 'fixeol' option is off, no | |
When on, all the windows are automatically made the same size after splitting or closing a window. This also happens the moment the option is switched on. When off, splitting a window will reduce the size of the current window and leave the other windows the same. When closing a window the extra lines are given to the window next to it (depending on 'splitbelow' and 'splitright'). When mixing vertically and horizontally split windows, a minimal size is computed and some windows may be larger if there is room. The 'eadirection' option tells in which direction the size is affected. Changing the height and width of a window can be avoided by setting 'winfixheight' and 'winfixwidth', respectively. If a window size is specified when creating a new window sizes are currently not equalized (it's complicated, but may be implemented in the future). | |
External program to use for "=" command. When this option is empty
the internal formatting functions are used; either 'lisp', 'cindent'
or 'indentexpr'. When Vim was compiled without internal formatting,
the "indent" program is used.
Environment variables are expanded | |
Ring the bell (beep or screen flash) for error messages. This only
makes a difference for error messages, the bell will be used always
for a lot of errors without a message (e.g., hitting | |
Name of the errorfile for the QuickFix mode (see | |
Scanf-like description of the format for the lines in the error file
(see | |
A list of autocommand event names, which are to be ignored. When set to "all" or when "all" is one of the items, all autocommand events are ignored, autocommands will not be executed. Otherwise this is a comma-separated list of event names. Example: | |
In Insert mode: Use the appropriate number of spaces to insert a
| |
v exrc | Enables the reading of .vimrc, .exrc and .gvimrc in the current directory. |
Sets the character encoding for the file of this buffer. | |
This is a list of character encodings considered when starting to edit
an existing file. When a file is read, Vim tries to use the first
mentioned character encoding. If an error is detected, the next one
in the list is tried. When an encoding is found that works,
'fileencoding' is set to it. If all fail, 'fileencoding' is set to
an empty string, which means the value of 'encoding' is used.
WARNING: Conversion can cause loss of information! When
'encoding' is "utf-8" (or one of the other Unicode variants)
conversion is most likely done in a way that the reverse
conversion results in the same text. When 'encoding' is not
"utf-8" some non-ASCII characters may be lost! You can use
the | |
This gives the | |
This gives the end-of-line (
| |
When set case is ignored when using file names and directories. See 'wildignorecase' for only ignoring case when doing completion. | |
When this option is set, the FileType autocommand event is triggered.
All autocommands that match with the value of this option will be
executed. Thus the value of 'filetype' is used in place of the file
name.
Otherwise this option does not always reflect the current file type.
This option is normally set when the file type is detected. To enable
this use the ":filetype on" command. | |
Characters to fill the statuslines, vertical separators and special lines in the window. It is a comma-separated list of items. Each item has a name, a colon and the value of that item: | |
When writing a file and this option is on, | |
When set to "all", a fold is closed when the cursor isn't in it and its level is higher than 'foldlevel'. Useful if you want folds to automatically close when moving out of them. | |
When non-zero, a column with the specified width is shown at the side
of the window which indicates open and closed folds. The maximum
value is 12.
See | |
When off, all folds are open. This option can be used to quickly
switch between showing all text unfolded and viewing the text with
folds (including manually opened or closed folds). It can be toggled
with the | |
The expression used for when 'foldmethod' is "expr". It is evaluated
for each line to obtain its fold level. The context is set to the
script where 'foldexpr' was set, script-local items can be accessed.
See | |
Used only when 'foldmethod' is "indent". Lines starting with
characters in 'foldignore' will get their fold level from surrounding
lines. White space is skipped before checking for this character.
The default "#" works well for C programs. See | |
Sets the fold level: Folds with a higher level will be closed.
Setting this option to zero will close all folds. Higher numbers will
close fewer folds.
This option is set by commands like | |
Sets 'foldlevel' when starting to edit another buffer in a window.
Useful to always start editing with all folds closed (value zero),
some folds closed (one) or no folds closed (99).
This is done before reading any modeline, thus a setting in a modeline
overrules this option. Starting to edit a file for | |
The start and end marker used when 'foldmethod' is "marker". There
must be one comma, which separates the start and end marker. The
marker is a literal string (a regular expression would be too slow).
See | |
The kind of folding used for the current window. Possible values:
| |
Sets the number of screen lines above which a fold can be displayed closed. Also for manually closed folds. With the default value of one a fold can only be closed if it takes up two or more screen lines. Set to zero to be able to close folds of just one screen line. Note that this only has an effect on what is displayed. After using "zc" to close a fold, which is displayed open because it's smaller than 'foldminlines', a following "zc" may close a containing fold. | |
Sets the maximum nesting of folds for the "indent" and "syntax" methods. This avoids that too many folds will be created. Using more than 20 doesn't work, because the internal limit is 20. | |
Specifies for which type of commands folds will be opened, if the
command moves the cursor into a closed fold. It is a comma-separated
list of items.
NOTE: When the command is part of a mapping this option is not used.
Add the | |
An expression which is used to specify the text displayed for a closed
fold. The context is set to the script where 'foldexpr' was set,
script-local items can be accessed. See | |
Expression which is evaluated to format a range of lines for the | |
A pattern that is used to recognize a list header. This is used for
the "n" flag in 'formatoptions'.
The pattern must match exactly the text that will be the indent for
the line below it. You can use | |
This is a sequence of letters which describes how automatic
formatting is to be done.
See | |
The name of an external program that will be used to format the lines
selected with the | |
When on, the library function fsync() will be called after writing a
file. This will flush a file to disk, ensuring that it is safely
written even on filesystems which do metadata-only journaling. This
will force the harddrive to spin up on Linux systems running in laptop
mode, so it may be undesirable in some situations. Be warned that
turning this off increases the chances of data loss after a crash. On
systems without an fsync() implementation, this variable is always
off.
Also see 'swapsync' for controlling fsync() on swap files.
'fsync' also applies to | |
When on, the ":substitute" flag 'g' is default on. This means that
all matches in a line are substituted instead of one. When a 'g' flag
is given to a ":substitute" command, this will toggle the substitution
of all or one match. See | |
Format to recognize for the ":grep" command output.
This is a scanf-like string that uses the same format as the
'errorformat' option: see | |
Program to use for the | |
This option tells Vim what the cursor should look like in different modes. It fully works in the GUI. In a Win32 console, only the height of the cursor can be changed. This can be done by specifying a block cursor, or a percentage for a vertical or horizontal cursor. For a console the 't_SI', 't_SR', and 't_EI' escape sequences are used. | |
This is a list of fonts which will be used for the GUI version of Vim.
In its simplest form the value is just one font name.
See | |
When not empty, specifies a comma-separated list of fonts to be used
for double-width characters. The first font that can be loaded is
used. See | |
This option only has an effect in the GUI version of Vim. It is a
sequence of letters which describes what components and options of the
GUI should be used.
To avoid problems with flags that are added in the future, use the
"+=" and "-=" feature of ":set" | |
When non-empty describes the text to use in a label of the GUI tab
pages line. When empty and when the result is empty Vim will use a
default label. See | |
When non-empty describes the text to use in a tooltip for the GUI tab
pages line. When empty Vim will use a default tooltip.
This option is otherwise just like 'guitablabel' above.
You can include a line break. Simplest method is to use | |
Name of the main help file. All distributed help files should be
placed together in one directory. Additionally, all "doc" directories
in 'runtimepath' will be used.
Environment variables are expanded | |
Minimal initial height of the help window when it is opened with the ":help" command. The initial height of the help window is half of the current window, or (when the 'ea' option is on) the same as other windows. When the height is less than 'helpheight', the height is set to 'helpheight'. Set to zero to disable. | |
Comma-separated list of languages. Vim will use the first language for which the desired help can be found. The English help will always be used as a last resort. You can add "en" to prefer English over another language, but that will only find tags that exist in that language and not in the English help. Example: | |
When off a buffer is unloaded when it is | |
A history of ":" commands, and a history of previous search patterns
is remembered. This option decides how many entries may be stored in
each of these histories (see | |
When there is a previous search pattern, highlight all its matches.
The type of highlighting used can be set with the 'l' occasion in the
'highlight' option. This uses the "Search" highlight group by
default. Note that only the matching text is highlighted, any offsets
are not applied. If the "CurSearch" highlight group is set then the
current match is highlighted with that.
See also: 'incsearch' and | |
v icon | When on, the icon text of the window will be set to the value of
'iconstring' (if it is not empty), or to the name of the file
currently being edited. Only the last part of the name is used.
Overridden by the 'iconstring' option.
Only works if the terminal supports setting window icons (currently
only X11 GUI and terminals with a non-empty 't_IS' option - these are
Unix xterm and iris-ansi by default, where 't_IS' is taken from the
builtin termcap).
When Vim was compiled with HAVE_X11 defined, the original icon will be
restored if possible |
When this option is not empty, it will be used for the icon text of
the window. This happens only when the 'icon' option is on.
Only works if the terminal supports setting window icon text
(currently only X11 GUI and terminals with a non-empty 't_IS' option).
Does not work for MS-Windows.
When Vim was compiled with HAVE_X11 defined, the original icon will be
restored if possible | |
Ignore case in search patterns, | |
When set the Input Method is always on when starting to edit a command line, unless entering a search pattern (see 'imsearch' for that). Setting this option is useful when your input method allows entering English characters directly, e.g., when it's used to type accented characters with dead keys. | |
When set the Input Method is never used. This is useful to disable the IM when it doesn't work properly. Currently this option is on by default for SGI/IRIX machines. This may change in later releases. | |
Specifies whether :lmap or an Input Method (IM) is to be used in
Insert mode. Valid values:
0 :lmap is off and IM is off
1 :lmap is ON and IM is off
2 :lmap is off and IM is ON
To always reset the option to zero when leaving Insert mode with | |
Specifies whether :lmap or an Input Method (IM) is to be used when
entering a search pattern. Valid values:
-1 the value of 'iminsert' is used, makes it look like
'iminsert' is also used when typing a search pattern
0 :lmap is off and IM is off
1 :lmap is ON and IM is off
2 :lmap is off and IM is ON
Note that this option changes when using CTRL-^ in Command-line mode
| |
Pattern to be used to find an include command. It is a search
pattern, just like for the "/" command (See | |
Expression to be used to transform the string found with the 'include' option to a file name. Mostly useful to change "." to "/" for Java: | |
While typing a search command, show where the pattern, as it was typed so far, matches. The matched string is highlighted. If the pattern is invalid or not found, nothing is shown. The screen will be updated often, this is only useful on fast terminals. Also applies to the pattern in commands: | |
Expression which is evaluated to obtain the proper indent for a line.
It is used when a new line is created, for the | |
A list of keys that, when typed in Insert mode, cause reindenting of
the current line. Only happens if 'indentexpr' isn't empty.
The format is identical to 'cinkeys', see | |
When doing keyword completion in insert mode | |
The characters specified by this option are included in file names and
path names. Filenames are used for commands like "gf", "[i" and in
the tags file. It is also used for "\f" in a | |
The characters given by this option are included in identifiers.
Identifiers are used in recognizing environment variables and after a
match of the 'define' option. It is also used for "\i" in a
| |
Keywords are used in searching and recognizing with many commands:
"w", "", "[i", etc. It is also used for "\k" in a | |
The characters given by this option are displayed directly on the
screen. It is also used for "\p" in a | |
Insert two spaces after a '.', '?' and '!' with a join command. When 'cpoptions' includes the 'j' flag, only do this after a '.'. Otherwise only one space is inserted. NOTE: This option is set when 'compatible' is set. | |
List of words that change the behavior of the | |
Name of a keyboard mapping. See | |
List of comma-separated words, which enable special things that keys
can do. These values can be used:
startsel Using a shifted special key starts selection (either
Select mode or Visual mode, depending on "key" being
present in 'selectmode').
stopsel Using a not-shifted special key stops selection.
Special keys in this context are the cursor keys, | |
Program to use for the | |
This option allows switching your keyboard into a special language
mode. When you are typing text in Insert mode the characters are
inserted directly. When in Normal mode the 'langmap' option takes
care of translating these special characters to the original meaning
of the key. This means you don't have to change the keyboard mode to
be able to execute Normal mode commands.
This is the opposite of the 'keymap' option, where characters are
mapped in Insert mode.
Also consider setting 'langremap' to off, to prevent 'langmap' from
applying to characters resulting from a mapping.
This option cannot be set from a | |
Language to use for menu translation. Tells which file is loaded from the "lang" directory in 'runtimepath': | |
When off, setting 'langmap' does not apply to characters resulting from a mapping. This basically means, if you noticed that setting 'langmap' disables some of your mappings, try resetting this option. This option defaults to on for backwards compatibility. Set it off if that works for you to avoid mappings to break. | |
The value of this option influences when the last window will have a
status line:
0: never
1: only if there are at least two windows
2: always
The screen looks nicer with a status line if you have several
windows, but it takes another screen line. | |
When this option is set, the screen will not be redrawn while
executing macros, registers and other commands that have not been
typed. Also, updating the window title is postponed. To force an
update use | |
If on, Vim will wrap long lines at a character in 'breakat' rather
than at the last character that fits on the screen. Unlike
'wrapmargin' and 'textwidth', this does not insert | |
Number of lines of the Vim window.
Normally you don't need to set this. It is done automatically by the
terminal initialization code. Also see | |
Number of pixel lines inserted between characters. Useful if the font uses the full character cell height, making lines touch each other. When non-zero there is room for underlining. With some fonts there can be too much room between lines (to have space for ascents and descents). Then it makes sense to set 'linespace' to a negative value. This may cause display problems though! | |
v lisp | Lisp mode: When |
Comma-separated list of items that influence the Lisp indenting when
enabled with the | |
Comma-separated list of words that influence the Lisp indenting when
enabled with the | |
v list | List mode: By default show tabs as CTRL-I is displayed, display $ after end of line. Useful to see the difference between tabs and spaces and for trailing blanks. Further changed by the 'listchars' option. |
Strings to use in 'list' mode and for the | |
When on the plugin scripts are loaded when starting up | |
Changes the special characters that can be used in search patterns.
See | |
Name of the errorfile for the | |
Encoding used for reading the output of external commands. When empty,
encoding is not converted.
This is used for | |
Program to use for the ":make" command. See | |
Characters that form pairs. The | |
Tenths of a second to show the matching paren, when 'showmatch' is set. Note that this is not in milliseconds, like other options that set a time. This is to be compatible with Nvi. | |
Maximum depth of function calls for user functions. This normally
catches endless recursion. When using a recursive function with
more depth, set 'maxfuncdepth' to a bigger number. But this will use
more memory, there is the danger of failing when memory is exhausted.
Increasing this limit above 200 also changes the maximum for Ex
command recursion, see | |
Maximum number of times a mapping is done without resulting in a
character to be used. This normally catches endless mappings, like
":map x y" with ":map y x". It still does not catch ":map g wg",
because the 'w' is used before the next mapping is done. See also
| |
Maximum amount of memory (in Kbyte) to use for pattern matching. The maximum value is about 2000000. Use this to work without a limit. | |
Maximum number of items to use in a menu. Used for menus that are generated from a list of items, e.g., the Buffers menu. Changing this option has no direct effect, the menu must be refreshed first. | |
Parameters for | |
If 'modeline' is on 'modelines' gives the number of lines that is
checked for set commands. If 'modeline' is off or 'modelines' is zero
no lines are checked. See | |
When on allow some options that are an expression to be set in the
modeline. Check the option for whether it is affected by
'modelineexpr'. Also see | |
If 'modeline' is on 'modelines' gives the number of lines that is
checked for set commands. If 'modeline' is off or 'modelines' is zero
no lines are checked. See | |
When off the buffer contents cannot be changed. The 'fileformat' and
'fileencoding' options also can't be changed.
Can be reset on startup with the | |
When on, the buffer is considered to be modified. This option is set when:
| |
v more | When on, listings pause when the whole screen is filled. You will get
the |
Enable the use of the mouse. Works for most terminals (xterm, Win32
| |
The window that the mouse pointer is on is automatically activated. When changing the window layout or window focus in another way, the mouse pointer is moved to the window with keyboard focus. Off is the default because it makes using the pull down menus a little goofy, as a pointer transit may activate a window unintentionally. MS-Windows: Also see 'scrollfocus' for what window is scrolled when using the mouse scroll wheel. | |
When on, the mouse pointer is hidden when characters are typed. The mouse pointer is restored when the mouse is moved. | |
Sets the model to use for the mouse. The name mostly specifies what the right mouse button is used for: extend Right mouse button extends a selection. This works like in an xterm. popup Right mouse button pops up a menu. The shifted left mouse button extends a selection. This works like with Microsoft Windows. popup_setpos Like "popup", but the cursor will be moved to the position where the mouse was clicked, and thus the selected operation will act upon the clicked object. If clicking inside a selection, that selection will be acted upon, i.e. no cursor move. This implies of course, that right clicking outside a selection will end Visual mode. Overview of what button does what for each model: mouse extend popup(_setpos) left click place cursor place cursor left drag start selection start selection shift-left search word extend selection right click extend selection popup menu (place cursor) right drag extend selection - middle click paste paste | |
When on, mouse move events are delivered to the input queue and are
available for mapping. The default, off, avoids the mouse movement
overhead except when needed. See | |
This option tells Vim what the mouse pointer should look like in different modes. The option is a comma-separated list of parts, much like used for 'guicursor'. Each part consist of a mode/location-list and an argument-list: mode-list:shape,mode-list:shape,.. The mode-list is a dash separated list of these modes/locations: In a normal window: n Normal mode v Visual mode ve Visual mode with 'selection' "exclusive" (same as 'v', if not specified) o Operator-pending mode i Insert mode r Replace mode | |
Only for GUI, Win32 and Unix with xterm. Defines the maximum time in msec between two mouse clicks for the second click to be recognized as a multi click. | |
This defines what bases Vim will consider for numbers when using the
CTRL-A and CTRL-X commands for adding to and subtracting from a number
respectively; see | |
Print the line number in front of each line. When the 'n' option is
excluded from 'cpoptions' a wrapped line will not use the column of
line numbers (this is the default when 'compatible' isn't set).
The 'numberwidth' option can be used to set the room used for the line
number.
When a long, wrapped line doesn't start with the first character, '-'
characters are put before the number.
For highlighting see | |
Minimal number of columns to use for the line number. Only relevant when the 'number' or 'relativenumber' option is set or printing lines with a line number. Since one space is always between the number and the text, there is one less character for the number itself. The value is the minimum width. A bigger width is used when needed to fit the highest line number in the buffer respectively the number of rows in the window, depending on whether 'number' or 'relativenumber' is set. Thus with the Vim default of 4 there is room for a line number up to 999. When the buffer has 1000 lines five columns will be used. The minimum value is 1, the maximum value is 20. NOTE: This option is set to the Vi default value when 'compatible' is set and to the Vim default value when 'compatible' is reset. | |
This option specifies a function to be used for Insert mode omni
completion with CTRL-X CTRL-O. | |
only for MS-Windows Enable reading and writing from devices. This may get Vim stuck on a device that can be opened but doesn't actually do the I/O. Therefore it is off by default. Note that on MS-Windows editing "aux.h", "lpt1.txt" and the like also result in editing a device. | |
This option specifies a function to be called by the | |
Directories used to find packages. See | |
Specifies the nroff macros that separate paragraphs. These are pairs
of two letters (see | |
Expression which is evaluated to apply a patch to a file and generate
the resulting new version of the file. See | |
When non-empty the oldest version of a file is kept. This can be used
to keep the original version of a file if you are changing files in a
source distribution. Only the first time that a file is written a
copy of the original file will be kept. The name of the copy is the
name of the original file with the string in the 'patchmode' option
appended. This option should start with a dot. Use a string like
".orig" or ".org". 'backupdir' must not be empty for this to work
(Detail: The backup file is renamed to the patchmode file after the
new file has been successfully written, that's why it must be possible
to write a backup file). If there was no file to be backed up, an
empty file is created.
When the 'backupskip' pattern matches, a patchmode file is not made.
Using 'patchmode' for compressed files appends the extension at the
end (e.g., "file.gz.orig"), thus the resulting name isn't always
recognized as a compressed file.
Only normal file name characters can be used, | |
v path | This is a list of directories which will be searched when using the
|
When changing the indent of the current line, preserve as much of the
indent structure as possible. Normally the indent is replaced by a
series of tabs followed by spaces as required (unless | |
Default height for a preview window. Used for | |
Identifies the preview window. Only one window can have this option
set. It's normally not set directly, but by using one of the commands
| |
Determines the maximum number of items to show in the popup menu for
Insert mode completion. When zero as much space as available is used.
| |
Determines the minimum width to use for the popup menu for Insert mode
completion. | |
Specifies the python version used for pyx* functions and commands
| |
This option specifies a function to be used to get the text to display
in the quickfix and location list windows. This can be used to
customize the information displayed in the quickfix or location window
for each entry in the corresponding quickfix or location list. See
| |
The characters that are used to escape quotes in a string. Used for
objects like a', a" and | |
If on, writes fail unless you use a '!'. Protects you from accidentally overwriting a file. Default on when Vim is started in read-only mode ("vim -R") or when the executable is called "view". When using ":w!" the 'readonly' option is reset for the current buffer, unless the 'Z' flag is in 'cpoptions'. When using the ":view" command the 'readonly' option is set for the newly edited buffer. See 'modifiable' for disallowing changes to the buffer. | |
The time in milliseconds for redrawing the display. This applies to
searching for patterns for 'hlsearch', | |
This selects the default regexp engine. | |
Show the line number relative to the line with the cursor in front of
each line. Relative line numbers help you use the | |
Threshold for reporting number of lines changed. When the number of changed lines is more than 'report' a message will be given for most ":" commands. If you want it always, set 'report' to 0. For the ":substitute" command the number of substitutions is used instead of the number of lines. | |
Inserting characters in Insert mode will work backwards. See "typing
backwards" | |
When on, display orientation becomes right-to-left, i.e., characters
that are stored in the file appear from the right to the left.
Using this option, it is possible to edit files for languages that
are written from the right to the left such as Hebrew and Arabic.
This option is per window, so it is possible to edit mixed files
simultaneously, or to view the same file in both ways (this is
useful whenever you have a mixed text file with both right-to-left
and left-to-right strings so that both sets are displayed properly
in different windows). Also see | |
Each word in this option enables the command line editing to work in right-to-left mode for a group of commands: | |
Show the line and column number of the cursor position, separated by a
comma. When there is room, the relative position of the displayed
text in the file is shown on the far right:
Top first line is visible
Bot last line is visible
All first and last line are visible
45% relative position in the file
If 'rulerformat' is set, it will determine the contents of the ruler.
Each window has its own ruler. If a window has a status line, the
ruler is shown there. Otherwise it is shown in the last line of the
screen. If the statusline is given by 'statusline' (i.e. not empty),
this option takes precedence over 'ruler' and 'rulerformat'.
If the number of characters displayed is different from the number of
bytes in the text (e.g., for a TAB or a multibyte character), both
the text column (byte number) and the screen column are shown,
separated with a dash.
For an empty line "0-1" is shown.
For an empty buffer the line number will also be zero: "0,0-1".
This option is reset when 'paste' is set and restored when 'paste' is
reset.
If you don't want to see the ruler all the time but want to know where
you are, use "g CTRL-G" | |
When this option is not empty, it determines the content of the ruler string, as displayed for the 'ruler' option. The format of this option is like that of 'statusline'. This option cannot be set in a modeline when 'modelineexpr' is off. | |
This is a list of directories which will be searched for runtime
files:
filetype.vim filetypes by file name | |
Number of lines to scroll with CTRL-U and CTRL-D commands. Will be
set to half the number of lines in the window when the window size
changes. This may happen when enabling the | |
See also | |
Minimal number of lines to scroll when the cursor gets off the screen (e.g., with "j"). Not used for scroll commands (e.g., CTRL-E, CTRL-D). Useful if your terminal scrolls very slowly. When set to a negative number from -1 to -100 this is used as the percentage of the window height. Thus -50 scrolls half the window height. NOTE: This option is set to 1 when 'compatible' is set. | |
Minimal number of screen lines to keep above and below the cursor. This will make some context visible around where you are working. If you set it to a very large value (999) the cursor line will always be in the middle of the window (except at the start or end of the file or when long lines wrap). After using the local value, go back the global value with one of these two: | |
This is a comma-separated list of words that specifies how
'scrollbind' windows should behave. 'sbo' stands for ScrollBind
Options.
The following words are available:
ver Bind vertical scrolling for 'scrollbind' windows
hor Bind horizontal scrolling for 'scrollbind' windows
jump Applies to the offset between two windows for vertical
scrolling. This offset is the difference in the first
displayed line of the bound windows. When moving
around in a window, another 'scrollbind' window may
reach a position before the start or after the end of
the buffer. The offset is not changed though, when
moving back the 'scrollbind' window will try to scroll
to the desired position when possible.
When now making that window the current one, two
things can be done with the relative offset:
1. When "jump" is not included, the relative offset is
adjusted for the scroll position in the new current
window. When going back to the other window, the
new relative offset will be used.
2. When "jump" is included, the other windows are
scrolled to keep the same relative offset. When
going back to the other window, it still uses the
same relative offset.
Also see | |
Specifies the nroff macros that separate sections. These are pairs of
two letters (See | |
This option defines the behavior of the selection. It is only used in Visual and Select mode. Possible values: value past line inclusive old no yes inclusive yes yes exclusive yes no "past line" means that the cursor is allowed to be positioned one character past the line. "inclusive" means that the last character of the selection is included in an operation. For example, when "x" is used to delete the selection. When "old" is used and 'virtualedit' allows the cursor to move past the end of line the line break still isn't included. Note that when "exclusive" is used and selecting from the end backwards, you cannot include the last character of a line, when starting in Normal mode and 'virtualedit' empty. | |
This is a comma-separated list of words, which specifies when to start
Select mode instead of Visual mode, when a selection is started.
Possible values:
mouse when using the mouse
key when using shifted special keys
cmd when using "v", "V" or CTRL-V
See | |
Changes the effect of the | |
Name of the shell to use for ! and :! commands. When changing the
value also check these options: 'shelltype', 'shellpipe', 'shellslash'
'shellredir', 'shellquote', 'shellxquote' and 'shellcmdflag'.
It is allowed to give an argument to the command, e.g. "csh -f".
See | |
Flag passed to the shell to execute "!" and ":!" commands; e.g.,
"bash.exe -c ls", "powershell.exe -Command dir", or "cmd.exe /c dir".
For MS-Windows, the default is set according to the value of 'shell',
to reduce the need to set this option by the user.
On Unix it can have more than one flag. Each white space separated
part is passed as an argument to the shell command.
See | |
String to be used to put the output of the ":make" command in the
error file. See also | |
Quoting character(s), put around the command passed to the shell, for
the "!" and ":!" commands. The redirection is kept outside of the
quoting. See 'shellxquote' to include the redirection. It's
probably not useful to set both options.
This is an empty string by default. Only known to be useful for
third-party shells on MS-Windows-like systems, such as the MKS Korn
Shell or bash, where it should be """. See | |
String to be used to put the output of a filter command in a temporary
file. See also | |
When set, a forward slash is used when expanding file names. This is useful when a Unix-like shell is used instead of cmd.exe, pwsh.exe, or powershell.exe. Backward slashes can still be typed, but they are changed to forward slashes by Vim. Note that setting or resetting this option has no effect for some existing file names, thus this option needs to be set before opening any file for best results. This might change in the future. 'shellslash' only works when a backslash can be used as a path separator. To test if this is so use: | |
When on, use temp files for shell commands. When off use a pipe. When using a pipe is not possible temp files are used anyway. Currently a pipe is only supported on Unix and MS-Windows 2K and later. You can check it with: | |
When 'shellxquote' is set to "(" then the characters listed in this
option will be escaped with a '^' character. This makes it possible
to execute most external commands with cmd.exe.
This option cannot be set from a | |
Quoting character(s), put around the command passed to the shell, for
the "!" and ":!" commands. Includes the redirection. See
'shellquote' to exclude the redirection. It's probably not useful
to set both options.
When the value is '(' then ')' is appended. When the value is '"('
then ')"' is appended.
When the value is '(' then also see 'shellxescape'.
This is an empty string by default on most systems, but is known to be
useful for on Win32 version, either for cmd.exe, powershell.exe, or
pwsh.exe which automatically strips off the first and last quote on a
command, or 3rd-party shells such as the MKS Korn Shell or bash, where
it should be """. The default is adjusted according the value of
'shell', to reduce the need to set this option by the user. See
| |
Round indent to multiple of 'shiftwidth'. Applies to > and < commands. CTRL-T and CTRL-D in Insert mode always round the indent to a multiple of 'shiftwidth' (this is Vi compatible). NOTE: This option is reset when 'compatible' is set. | |
Number of spaces to use for each step of (auto)indent. Used for
| |
This option helps to avoid all the | |
String to put at the start of lines that have been wrapped. Useful values are "> " or "+++ ": | |
Show (partial) command in the last line of the screen. Set this option off if your terminal is slow. In Visual mode the size of the selected area is shown:
| |
This option can be used to display the (partially) entered command in another location. Possible values are: last Last line of the screen (default). statusline Status line of the current window. tabline First line of the screen if 'showtabline' is enabled. Setting this option to "statusline" or "tabline" means that these will be redrawn whenever the command changes, which can be on every key pressed. The %S 'statusline' item can be used in 'statusline' or 'tabline' to place the text. Without a custom 'statusline' or 'tabline' it will be displayed in a convenient location. | |
When completing a word in insert mode (see | |
When a bracket is inserted, briefly jump to the matching one. The
jump is only done if the match can be seen on the screen. The time to
show the match can be set with 'matchtime'.
A Beep is given if there is no match (no matter if the match can be
seen or not).
This option is reset when 'paste' is set and restored when 'paste' is
reset.
When the 'm' flag is not included in 'cpoptions', typing a character
will immediately move the cursor back to where it belongs.
See the "sm" field in 'guicursor' for setting the cursor shape and
blinking when showing the match.
The 'matchpairs' option can be used to specify the characters to show
matches for. 'rightleft' and 'revins' are used to look for opposite
matches.
Also see the matchparen plugin for highlighting the match when moving
around | |
If in Insert, Replace or Visual mode put a message on the last line.
Use the 'M' flag in 'highlight' to set the type of highlighting for
this message.
When | |
The value of this option specifies when the line with tab page labels
will be displayed:
0: never
1: only if there are at least two tab pages
2: always
This is both for the GUI and non-GUI implementation of the tab pages
line.
See | |
The minimal number of columns to scroll horizontally. Used only when the 'wrap' option is off and the cursor is moved off of the screen. When it is zero the cursor will be put in the middle of the screen. When using a slow terminal set it to a large number or 0. When using a fast terminal use a small number or 1. Not used for "zh" and "zl" commands. | |
The minimal number of screen columns to keep to the left and to the
right of the cursor if 'nowrap' is set. Setting this option to a
value greater than 0 while having | |
Whether or not to draw the signcolumn. Valid values are: "auto" only when there is a sign to display "no" never "yes" always "number" display signs in the 'number' column. If the number column is not present, then behaves like "auto". | |
Override the 'ignorecase' option if the search pattern contains upper
case characters. Only used when the search pattern is typed and
'ignorecase' option is on. Used for the commands "/", "?", "n", "N",
":g" and ":s". Not used for "", "#", "gd", tag search, etc. After
"" and "#" you can make 'smartcase' used by doing a "/" command,
recalling the search pattern from history and hitting | |
Do smart autoindenting when starting a new line. Works for C-like
programs, but can also be used for other languages. 'cindent' does
something like this, works better in most cases, but is more strict,
see
| |
When on, a | |
Number of spaces that a | |
When on spell checking will be done. See | |
Pattern to locate the end of a sentence. The following word will be
checked to start with a capital letter. If not then it is highlighted
with SpellCap | |
Name of the word list file where words are added for the | |
A comma-separated list of word list names. When the 'spell' option is on spellchecking will be done for these languages. Example: | |
A comma-separated list of options for spell checking: camel When a word is CamelCased, assume "Cased" is a separate word: every upper-case character in a word that comes after a lower case character indicates the start of a new word. | |
Methods used for spelling suggestions. Both for the | |
When on, splitting a window will put the new window below the current
one. | |
The value of this option determines the scroll behavior when opening, closing or resizing horizontal splits. | |
When on, splitting a window will put the new window right of the
current one. | |
When "on" the commands listed below move the cursor to the first non-blank of the line. When off the cursor is kept in the same column (if possible). This applies to the commands:
| |
When non-empty, this option determines the content of the status line.
Also see | |
Files with these suffixes get a lower priority when multiple files
match a wildcard. See | |
Comma-separated list of suffixes, which are used when searching for a file for the "gf", "[I", etc. commands. Example: | |
Use a swapfile for the buffer. This option can be reset when a
swapfile is not wanted for a specific buffer. For example, with
confidential information that even root must not be able to access.
Careful: All text will be in memory:
- Don't use this for big files.
- Recovery will be impossible!
A swapfile will only be present when | |
This option controls the behavior when switching between buffers. This option is checked, when
| |
Maximum column in which to search for syntax items. In long lines the text after this column is not highlighted and following lines may not be highlighted correctly, because the syntax state is cleared. This helps to avoid very slow redrawing for an XML file that is one long line. Set to zero to remove the limit. | |
When this option is set, the syntax with this name is loaded, unless syntax highlighting has been switched off with ":syntax off". Otherwise this option does not always reflect the current syntax (the b:current_syntax variable does). This option is most useful in a modeline, for a file which syntax is not automatically recognized. Example, in an IDL file: /* vim: set syntax=idl : * / When a dot appears in the value then this separates two filetype names. Example: /* vim: set syntax=c.doxygen : * / This will use the "c" syntax first, then the "doxygen" syntax. Note that the second one must be prepared to be loaded as an addition, otherwise it will be skipped. More than one dot may appear. To switch off syntax highlighting for the current file, use: | |
When non-empty, this option determines the content of the tab pages
line at the top of the Vim window. When empty Vim will use a default
tab pages line. See | |
Maximum number of tab pages to be opened by the | |
Number of spaces that a | |
When searching for a tag (e.g., for the | |
This option specifies how case is handled when searching the tags file: followic Follow the 'ignorecase' option followscs Follow the 'smartcase' and 'ignorecase' options ignore Ignore case match Match case smart Ignore case unless an upper case letter is used NOTE: This option is set to the Vi default value when 'compatible' is set and to the Vim default value when 'compatible' is reset. | |
This option specifies a function to be used to perform tag searches.
The function gets the tag pattern and should return a List of matching
tags. See | |
If non-zero, tags are significant up to this number of characters. | |
If on and using a tags file in another directory, file names in that tags file are relative to the directory where the tags file is. NOTE: This option is set to the Vi default value when 'compatible' is set and to the Vim default value when 'compatible' is reset. | |
v tags | Filenames for the tag command, separated by spaces or commas. To
include a space or comma in a file name, precede it with backslashes
(see |
When on, the | |
The terminal is in charge of Bi-directionality of text (as specified
by Unicode). The terminal is also expected to do the required shaping
that some languages (such as Arabic) require.
Setting this option implies that 'rightleft' will not be set when
'arabic' is set and the value of 'arabicshape' will be ignored.
Note that setting 'termbidi' has the immediate effect that
'arabicshape' is ignored, but 'rightleft' isn't changed automatically.
This option is reset when the GUI is started.
For further details see | |
When on, uses | |
Maximum width of text that is being inserted. A longer line will be
broken after white space to get this width. A zero value disables
this.
'textwidth' is set to 0 when the 'paste' option is set and restored
when 'paste' is reset.
When 'textwidth' is zero, 'wrapmargin' may be used. See also
'formatoptions' and | |
List of file names, separated by commas, that are used to lookup words
for thesaurus completion commands | |
This option specifies a function to be used for thesaurus completion
with CTRL-X CTRL-T. | |
When on: The tilde command | |
(default on) | |
(default 1000) | |
When on, the title of the window will be set to the value of
'titlestring' (if it is not empty), or to:
filename [+=-] (path) - VIM
Where:
filename the name of the file being edited
- indicates the file cannot be modified, 'ma' off
+ indicates the file was modified
= indicates the file is read-only
=+ indicates the file is read-only and modified
(path) is the path of the file being edited
- VIM the server name | |
Gives the percentage of 'columns' to use for the length of the window
title. When the title is longer, only the end of the path name is
shown. A | |
This option will be used for the window title when exiting Vim if the
original title cannot be restored. Only happens if 'title' is on or
'titlestring' is not empty.
This option cannot be set from a | |
When this option is not empty, it will be used for the title of the
window. This happens only when the 'title' option is on.
Only works if the terminal supports setting window titles (currently
Amiga console, Win32 console, all GUI versions and terminals with a
non-empty 't_ts' option).
When Vim was compiled with HAVE_X11 defined, the original title will
be restored if possible, see | |
These two options together determine the behavior when part of a mapped key sequence or keyboard code has been received: | |
The time in milliseconds that is waited for a key code or mapped key sequence to complete. Also used for CTRL-\ CTRL-N and CTRL-\ CTRL-G when part of a command has been typed. Normally only 'timeoutlen' is used and 'ttimeoutlen' is -1. When a different timeout value for key codes is desired set 'ttimeoutlen' to a non-negative number. | |
List of directory names for undo files, separated with commas.
See | |
When on, Vim automatically saves undo history to an undo file when
writing a buffer to a file, and restores undo history from the same
file on buffer read.
The directory where the undo file is stored is specified by 'undodir'.
For more information about this feature see | |
Maximum number of changes that can be undone. Since undo information is kept in memory, higher numbers will cause more memory to be used. Nevertheless, a single change can already use a large amount of memory. Set to 0 for Vi compatibility: One level of undo and "u" undoes itself: | |
Save the whole buffer for undo when reloading it. This applies to the
":e!" command and reloading for when the buffer changed outside of
Vim. | |
After typing this many characters the swap file will be written to
disk. When zero, no swap file will be created at all (see chapter on
recovery | |
If this many milliseconds nothing is typed the swap file will be
written to disk (see | |
A list of the number of spaces that a | |
A list of the number of spaces that a | |
When bigger than zero, Vim will give messages about what it is doing. Currently, these messages are given:
| |
When not empty all messages are written in a file with this name.
When the file exists messages are appended.
Writing to the file ends when Vim exits or when 'verbosefile' is made
empty. Writes are buffered, thus may not show up for some time.
Setting 'verbosefile' to a new value is like making it empty first.
The difference with | |
Name of the directory where to store files for | |
Changes the effect of the | |
A comma-separated list of these words: block Allow virtual editing in Visual block mode. insert Allow virtual editing in Insert mode. all Allow virtual editing in all modes. onemore Allow the cursor to move just past the end of the line none When used as the local value, do not allow virtual editing even when the global value is set. When used as the global value, "none" is the same as "". NONE Alternative spelling of "none". | |
Use a visual bell instead of beeping. The terminal code to display the visual bell is given with 't_vb'. When no beep or flash is wanted, use: | |
v warn | Give a warning message when a shell command is used while the buffer has been changed. |
Allow specified keys that move the cursor left/right to move to the
previous/next line when the cursor is on the first/last character in
the line. Concatenate characters to allow this for these keys:
char key mode
b | |
Character you have to type to start wildcard expansion in the
command-line, as specified with 'wildmode'.
More info here: | |
'wildcharm' works exactly like 'wildchar', except that it is
recognized when used inside a macro. You can find "spare" command-line
keys suitable for this option by looking at | |
A list of file patterns. A file that matches with one of these
patterns is ignored when expanding | |
When set case is ignored when completing file names and directories. Has no effect when 'fileignorecase' is set. Does not apply when the shell is used to expand wildcards, which happens when there are special characters. | |
When 'wildmenu' is on, command-line completion operates in an enhanced
mode. On pressing 'wildchar' (usually | |
Completion mode that is used for the character specified with 'wildchar'. It is a comma-separated list of up to four parts. Each part specifies what to do for each consecutive use of 'wildchar'. The first part specifies the behavior for the first use of 'wildchar', The second part for the second use, etc. | |
A list of words that change how | |
Some GUI versions allow the access to menu entries by using the ALT
key in combination with a character that appears underlined in the
menu. This conflicts with the use of the ALT key for mappings and
entering special characters. This option tells what to do:
no Don't use ALT keys for menus. ALT key combinations can be
mapped, but there is no automatic handling. This can then be
done with the | |
Window height used for | |
Keep the window height when windows are opened or closed and
'equalalways' is set. Also for | |
Keep the window width when windows are opened or closed and
'equalalways' is set. Also for | |
Minimal number of lines for the current window. This is not a hard
minimum, Vim will use fewer lines if there is not enough room. If the
focus goes to a window that is smaller, its size is increased, at the
cost of the height of other windows.
Set 'winheight' to a small number for normal editing.
Set it to 999 to make the current window fill most of the screen.
Other windows will be only 'winminheight' high. This has the drawback
that ":all" will create only two windows. To avoid "vim -o 1 2 3 4"
to create only two windows, set the option after startup is done,
using the | |
The minimal height of a window, when it's not the current window. This is a hard minimum, windows will never become smaller. When set to zero, windows may be "squashed" to zero lines (i.e. just a status bar) if necessary. They will return to at least one line when they become active (since the cursor has to have somewhere to go.) Use 'winheight' to set the minimal height of the current window. This option is only checked when making a window smaller. Don't use a large number, it will cause errors when opening more than a few windows. A value of 0 to 3 is reasonable. | |
The minimal width of a window, when it's not the current window. This is a hard minimum, windows will never become smaller. When set to zero, windows may be "squashed" to zero columns (i.e. just a vertical separator) if necessary. They will return to at least one line when they become active (since the cursor has to have somewhere to go.) Use 'winwidth' to set the minimal width of the current window. This option is only checked when making a window smaller. Don't use a large number, it will cause errors when opening more than a few windows. A value of 0 to 12 is reasonable. | |
Minimal number of columns for the current window. This is not a hard minimum, Vim will use fewer columns if there is not enough room. If the current window is smaller, its size is increased, at the cost of the width of other windows. Set it to 999 to make the current window always fill the screen. Set it to a small number for normal editing. The width is not adjusted after one of the commands to change the width of the current window. 'winwidth' applies to the current window. Use 'winminwidth' to set the minimal width for other windows. | |
v wrap | This option changes how text is displayed. It doesn't change the text in the buffer, see 'textwidth' for that. When on, lines longer than the width of the window will wrap and displaying continues on the next line. When off lines will not wrap and only part of long lines will be displayed. When the cursor is moved to a part that is not shown, the screen will scroll horizontally. The line will be broken in the middle of a word if necessary. See 'linebreak' to get the break at a word boundary. To make scrolling horizontally a bit more useful, try this: |
Number of characters from the right window border where wrapping
starts. When typing text beyond this limit, an | |
Searches wrap around the end of the file. Also applies to | |
Allows writing files. When not set, writing a file is not allowed.
Can be used for a view-only mode, where modifications to the text are
still allowed. Can be reset with the | |
Allows writing to any file with no need for "!" override. | |
Make a backup before overwriting a file. The backup is removed after
the file was successfully written, unless the 'backup' option is
also on.
WARNING: Switching this option off means that when Vim fails to write
your buffer correctly and then, for whatever reason, Vim exits, you
lose both the original file and what you were writing. Only reset
this option if your file system is almost full and it makes the write
fail (and make sure not to exit Vim until the write was successful).
See | |
The number of milliseconds to wait for each character sent to the screen. When non-zero, characters are sent to the terminal one by one. For debugging purposes. |