import * as dduVim from "https://deno.land/x/ddu_vim@v4.0.0/deps.ts";
Namespaces
A module to provide helper functions to manage | |
N fn | A module to provide functions of Vim and Neovim native functions. |
N op | A module to provide accessors of Vim and Neovim native options. |
N vars | A module to provide helper accessor functions to variables |
Classes
Error thrown when | |
c Lock | A mutual exclusion lock that provides safe concurrent access to a shared value. |
Variables
v is | |
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 | |
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 | |
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
| |
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 | |
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! | |
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 | |
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:
| |
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, | |
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. | |
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: | |
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. | |
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. | |
Shorthand for | |
Buffer local variables ( | |
Shorthand for | |
Environment variables ( | |
Shorthand for | |
Global options ( | |
Global variables ( | |
Shorthand for | |
Shorthand for | |
Local options ( | |
Shorthand for | |
Options ( | |
Shorthand for | |
Register ( | |
Shorthand for | |
Tabpage local variables ( | |
Shorthand for | |
Vim variables ( | |
Shorthand for | |
Window local variables ( |
Functions
Make an assertion that | |
Define an autocmd | |
Emit an autocmd in a buffer | |
Emit an autocmd in all buffers | |
Create an autocmd group and define/remove autocmds in that group. | |
List defined autocmds | |
Remove an autocmd | |
Return the last portion of a | |
Call multiple denops functions sequentially without RPC overhead | |
Call multiple denops functions sequentially without RPC overhead and return values | |
Create a promise which will be rejected with | |
Return the directory path of a | |
f echo | Echo message as like |
Ensures that the given value satisfies the provided predicate. | |
Deep equality comparison used in assertions | |
Execute multi-lined Vim script directly | |
Return the absolute value of {expr}. When {expr} evaluates to
a | |
Return the arc cosine of {expr} measured in radians, as a
| |
Append the item {expr} to | |
Bitwise AND on the two arguments. The arguments are converted
to a number. A List, Dict or Float argument causes an error.
Also see | |
When {text} is a | |
Like | |
The result is the number of files in the argument list. See
| |
The result is the current index in the argument list. 0 is
the first file. argc() - 1 is the last one. See | |
Return the argument list ID. This is a number which
identifies the argument list being used. Zero is used for the
global argument list. See | |
The result is the **{nr}**th file in the argument list. See
| |
Return the arc sine of {expr} measured in radians, as a | |
Assert if | |
Assert if | |
Return the principal value of the arc tangent of {expr}, in
the range [-pi/2, +pi/2] radians, as a | |
Return the arc tangent of {expr1} / {expr2}, measured in
radians, as a | |
Return a List containing the number value of each byte in Blob {blob}. Examples: | |
Put up a file requester. This only works when "has("browse")"
returns | |
Put up a directory requester. This only works when
"has("browse")" returns | |
Add a buffer to the buffer list with name {name} (must be a String). If a buffer for file {name} already exists, return that buffer number. Otherwise return the buffer number of the newly created buffer. When {name} is an empty string then a new buffer is always created. The buffer will not have 'buflisted' set and not be loaded yet. To add some text to the buffer use this: | |
The result is a Number, which is | |
The result is a Number, which is | |
Ensure the buffer {buf} is loaded. When the buffer name
refers to an existing file then the file is read. Otherwise
the buffer will be empty. If the buffer was already loaded
then there is no change. If the buffer is not related to a
file then no file is read (e.g., when 'buftype' is "nofile").
If there is an existing swap file for the file of the buffer,
there will be no dialog, the buffer will be loaded anyway.
The {buf} argument is used like with | |
The result is a Number, which is | |
The result is the name of a buffer. Mostly as it is displayed
by the | |
The result is the number of a buffer, as it is displayed by
the | |
The result is a Number, which is the | |
Like | |
Return the line number that contains the character at byte
count {byte} in the current buffer. This includes the
end-of-line character, depending on the 'fileformat' option
for the current buffer. The first character has byte count
one.
Also see | |
Return byte index of the {nr}'th character in the String
{expr}. Use zero for the first character, it then returns
zero.
If there are no multibyte characters the returned value is
equal to {nr}.
Composing characters are not counted separately, their byte
length is added to the preceding base character. See
| |
Like byteidx(), except that a composing character is counted as a separate character. Example: | |
Call function {func} with the items in | |
Return the smallest integral value greater than or equal to
{expr} as a | |
Return the number of the most recent change. This is the same
number as what is displayed with | |
Return Number value of the first char in {string}. Examples: | |
Return the character class of the first character in {string}.
The character class is one of:
0 blank
1 punctuation
2 word character
3 emoji
other specific Unicode class
The class is used in patterns and word motions.
Returns 0 if {string} is not a | |
Same as | |
Return the character index of the byte at {idx} in {string}. The index of the first character is zero. If there are no multibyte characters the returned value is equal to {idx}. | |
Change the current working directory to {dir}. The scope of
the directory change depends on the directory of the current
window:
- If the current window has a window-local directory
( | |
Get the amount of indent for line {lnum} according the C
indenting rules, as with 'cindent'.
The indent is counted in spaces, the value of 'tabstop' is
relevant. {lnum} is used just like in | |
Clears all matches previously defined for the current window
by | |
The result is a Number, which is the byte index of the column
position given with {expr}. The accepted positions are:
. the cursor position
$ the end of the cursor line (the result is the
number of bytes in the cursor line plus one)
'x position of mark x (if the mark is not set, 0 is
returned)
v In Visual mode: the start of the Visual area (the
cursor is the end). When not in Visual mode
returns the cursor position. Differs from | |
Set the matches for Insert mode completion.
Can only be used in Insert mode. You need to use a mapping
with CTRL-R = (see | |
Add {expr} to the list of matches. Only to be used by the
function specified with the 'completefunc' option.
Returns 0 for failure (empty string or out of memory),
1 when the match was added, 2 when the match was already in
the list.
See | |
Check for a key typed while looking for completion matches.
This is to be used when looking for matches takes some time.
Returns | |
Returns a | |
confirm() offers the user a dialog, from which a choice can be
made. It returns the number of the choice. For the first
choice this is 1.
Note: confirm() is only supported when compiled with dialog
support, see | |
Make a copy of {expr}. For Numbers and Strings this isn't
different from using {expr} directly.
When {expr} is a | |
Return the cosine of {expr}, measured in radians, as a | |
Return the hyperbolic cosine of {expr} as a | |
Return the number of times an item with value {expr} appears
in | |
Positions the cursor at the column (byte count) {col} in the line {lnum}. The first column is one. | |
Specifically used to interrupt a program being debugged. It
will cause process {pid} to get a SIGTRAP. Behavior for other
processes is undefined. See | |
Make a copy of {expr}. For Numbers and Strings this isn't
different from using {expr} directly.
When {expr} is a | |
Without {flags} or with {flags} empty: Deletes the file by the name {fname}. | |
Delete lines {first} to {last} (inclusive) from buffer {buf}. If {last} is omitted then delete line {first} only. On success 0 is returned, on failure 1 is returned. | |
Returns | |
Returns the number of filler lines above line {lnum}.
These are the lines that were inserted at this point in
another diff'ed window. These filler lines are shown in the
display but don't exist in the buffer.
{lnum} is used like with | |
Returns the highlight ID for diff mode at line {lnum} column
{col} (byte index). When the current line does not have a
diff change zero is returned.
{lnum} is used like with | |
Return the digraph of {chars}. This should be a string with exactly two characters. If {chars} are not just two characters, or the digraph of {chars} does not exist, an error is given and an empty string is returned. | |
Return a list of digraphs. If the {listall} argument is given and it is TRUE, return all digraphs, including the default digraphs. Otherwise, return only user-defined digraphs. | |
Add digraph {chars} to the list. {chars} must be a string
with two characters. {digraph} is a string with one UTF-8
encoded character.
Be careful, composing characters are NOT ignored. This
function is similar to | |
Similar to | |
Return the Number 1 if {expr} is empty, zero otherwise.
| |
Return all of environment variables as dictionary. You can check if an environment variable exists like this: | |
Escape the characters in {chars} that occur in {string} with a backslash. Example: | |
Evaluate {string} and return the result. Especially useful to
turn the result of | |
Returns 1 when inside an event handler. That is that Vim got interrupted while waiting for the user to type a character, e.g., when dropping a file on Vim. This means interactive commands cannot be used. Otherwise zero is returned. | |
This function checks if an executable with the name {expr}
exists. {expr} must be the name of the program without any
arguments.
executable() uses the value of $PATH and/or the normal
searchpath for programs.
On MS-Windows the ".exe", ".bat", etc. can optionally be
included. Then the extensions in $PATHEXT are tried. Thus if
"foo.exe" does not exist, "foo.exe.bat" can be found. If
$PATHEXT is not set then ".com;.exe;.bat;.cmd" is used. A dot
by itself can be used in $PATHEXT to try using the name
without an extension. When 'shell' looks like a Unix shell,
then the name is also tried without adding an extension.
On MS-Windows it only checks if the file exists and is not a
directory, not if it's really executable.
On MS-Windows an executable in the same directory as Vim is
normally found. Since this directory is added to $PATH it
should also work to execute it | |
Execute an Ex command or commands and return the output as a string. {command} can be a string or a List. In case of a List the lines are executed one by one. This is more or less equivalent to: | |
If {expr} is an executable and is either an absolute path, a relative path or found in $PATH, return the full path. Note that the current directory is used when {expr} starts with "./", which may be a problem for Vim: | |
The result is a Number, which is | |
Return the exponential of {expr} as a | |
Expand wildcards and the following special keywords in {string}. 'wildignorecase' applies. | |
Expand special items in String {string} like what is done for
an Ex command such as | |
{expr1} and {expr2} must be both | |
Like | |
Characters in {string} are queued for processing as if they come from a mapping or were typed by the user. | |
The result is a Number, which is | |
The result is a Number, which is 1 when a file with the name {file} exists, and can be written. If {file} doesn't exist, or is not writable, the result is 0. If {file} is a directory, and we can write to it, the result is 2. | |
{expr1} must be a | |
Find directory {name} in {path}. Supports both downwards and
upwards recursive directory searches. See | |
Just like | |
Flatten {list} up to {maxdepth} levels. Without {maxdepth}
the result is a | |
Like | |
Convert {expr} to a Number by omitting the part after the
decimal point.
{expr} must evaluate to a | |
Return the largest integral value less than or equal to
{expr} as a | |
Return the remainder of {expr1} / {expr2}, even if the
division is not representable. Returns {expr1} - i * {expr2}
for some integer i such that if {expr2} is non-zero, the
result has the same sign as {expr1} and magnitude less than
the magnitude of {expr2}. If {expr2} is zero, the value
returned is zero. The value returned is a | |
Escape {string} for use as file name command argument. All
characters that have a special meaning, such as '%' and '|'
are escaped with a backslash.
For most systems the characters escaped are
| |
Modify file name {fname} according to {mods}. {mods} is a
string of characters like it is used for file names on the
command line. See | |
The result is a Number. If the line {lnum} is in a closed
fold, the result is the number of the first line in that fold.
If the line {lnum} is not in a closed fold, -1 is returned.
{lnum} is used like with | |
The result is a Number. If the line {lnum} is in a closed
fold, the result is the number of the last line in that fold.
If the line {lnum} is not in a closed fold, -1 is returned.
{lnum} is used like with | |
The result is a Number, which is the foldlevel of line {lnum}
in the current buffer. For nested folds the deepest level is
returned. If there is no fold at line {lnum}, zero is
returned. It doesn't matter if the folds are open or closed.
When used while updating folds (from 'foldexpr') -1 is
returned for lines where folds are still to be updated and the
foldlevel is unknown. As a special case the level of the
previous line is usually available.
{lnum} is used like with | |
Returns a String, to be displayed for a closed fold. This is
the default function used for the 'foldtext' option and should
only be called from evaluating 'foldtext'. It uses the
| |
Returns the text that is displayed for the closed fold at line
{lnum}. Evaluates 'foldtext' in the appropriate context.
When there is no closed fold at {lnum} an empty string is
returned.
{lnum} is used like with | |
Get the full command name from a short abbreviated command
name; see | |
Just like | |
Return a | |
Cleanup unused | |
Get item {idx} from | |
Get information about buffers as a List of Dictionaries. | |
Return a | |
Just like | |
The result is the value of option or local buffer variable
{varname} in buffer {buf}. Note that the name without "b:"
must be used.
The {varname} argument is a string.
When {varname} is empty returns a | |
Returns a | |
Returns the | |
Get a single character from the user or input stream.
If [expr] is omitted, wait until a character is available.
If [expr] is 0, only get a character when one is available.
Return zero otherwise.
If [expr] is 1, only check if a character is available, it is
not consumed. Return zero if no character available.
If you prefer always getting a string use | |
The result is a Number which is the state of the modifiers for the last obtained character with getchar() or in another way. These values are added together: 2 shift 4 control 8 alt (meta) 16 meta (when it's different from ALT) 32 mouse double click 64 mouse triple click 96 mouse quadruple click (== 32 + 64) 128 command (Macintosh only) Only the modifiers that have not been included in the character itself are obtained. Thus Shift-a results in "A" without a modifier. Returns 0 if no modifiers are used. | |
Get the position for String {expr}. Same as | |
Return the current character search information as a {dict} with the following entries: | |
Get a single character from the user or input stream as a
string.
If [expr] is omitted, wait until a character is available.
If [expr] is 0 or false, only get a character when one is
available. Return an empty string otherwise.
If [expr] is 1 or true, only check if a character is
available, it is not consumed. Return an empty string
if no character is available.
Otherwise this works like | |
Return the type of the current command-line completion.
Only works when the command line is being edited, thus
requires use of | |
Return the current command-line. Only works when the command
line is being edited, thus requires use of | |
Return the position of the cursor in the command line as a
byte count. The first column is 1.
Only works when editing the command line, thus requires use of
| |
Return the screen position of the cursor in the command line
as a byte count. The first column is 1.
Instead of | |
Return the current command-line type. Possible return values
are:
: normal Ex command
> debug mode command | |
Return the current | |
Return a list of command-line completion matches. The String {type} argument specifies what for. The following completion types are supported: | |
Get the position of the cursor. This is like getpos('.'), but
includes an extra "curswant" item in the list:
[0, lnum, col, off, curswant]
The "curswant" number is the preferred column when moving the
cursor vertically. After | |
Same as | |
The result is a String, which is the name of the current working directory. 'autochdir' is ignored. | |
Return the value of environment variable {name}. The {name} argument is a string, without a leading '$'. Example: | |
Without an argument returns the name of the normal font being
used. Like what is used for the Normal highlight group
| |
The result is a String, which is the read, write, and execute permissions of the given file {fname}. If {fname} does not exist or its directory cannot be read, an empty string is returned. The result is of the form "rwxrwxrwx", where each group of "rwx" flags represent, in turn, the permissions of the owner of the file, the group the file belongs to, and other users. If a user does not have a given permission the flag for this is replaced with the string "-". Examples: | |
The result is a Number, which is the size in bytes of the given file {fname}. If {fname} is a directory, 0 is returned. If the file {fname} can't be found, -1 is returned. If the size of {fname} is too big to fit in a Number then -2 is returned. | |
The result is a Number, which is the last modification time of
the given file {fname}. The value is measured as seconds
since 1st Jan 1970, and may be passed to strftime(). See also
| |
The result is a String, which is a description of the kind of file of the given file {fname}. If {fname} does not exist an empty string is returned. Here is a table over different kinds of files and their results: Normal file "file" Directory "dir" Symbolic link "link" Block device "bdev" Character device "cdev" Socket "socket" FIFO "fifo" All other "other" Example: | |
Returns the | |
Without {end} the result is a String, which is line {lnum} from the current buffer. Example: | |
Returns a | |
Without the {buf} argument returns a | |
Returns a | |
Returns a | |
Return a Number which is the process ID of the Vim process. On Unix and MS-Windows this is a unique number, until Vim exits. | |
Get the position for String {expr}. For possible values of
{expr} see | |
Returns a | |
The result is a String, which is the contents of register {regname}. Example: | |
Returns detailed information about register {regname} as a
Dictionary with the following entries:
regcontents List of lines contained in register
{regname}, like
| |
The result is a String, which is type of register {regname}.
The value will be one of:
"v" for | |
Returns a | |
If {tabnr} is not specified, then information about all the
tab pages is returned as a | |
Get the value of a tab-local variable {varname} in tab page
{tabnr}. | |
Get the value of window-local variable {varname} in window
{winnr} in tab page {tabnr}.
The {varname} argument is a string. When {varname} is empty a
dictionary with all window-local variables is returned.
When {varname} is equal to "&" get the values of all
window-local options in a | |
The result is a Dict, which is the tag stack of window {winnr}.
{winnr} can be the window number or the | |
Translate String {text} if possible. This is mainly for use in the distributed Vim scripts. When generating message translations the {text} is extracted by xgettext, the translator can add the translated message in the .po file and Vim will lookup the translation when gettext() is called. For {text} double quoted strings are preferred, because xgettext does not understand escaping in single quoted strings. | |
Returns information about windows as a | |
The result is a | |
The result is a Number, which is the X coordinate in pixels of
the left hand side of the GUI Vim window. Also works for an
xterm (uses a timeout of 100 msec).
The result will be -1 if the information is not available.
The value can be used with | |
The result is a Number, which is the Y coordinate in pixels of
the top of the GUI Vim window. Also works for an xterm (uses
a timeout of 100 msec).
The result will be -1 if the information is not available.
The value can be used with | |
Like | |
Expand the file wildcards in {expr}. See | |
Convert a file pattern, as used by glob(), into a search pattern. The result can be used to match with a string that is a file name. E.g. | |
Perform glob() for String {expr} on all directories in {path} and concatenate the results. Example: | |
Returns 1 if {feature} is supported, 0 otherwise. The
{feature} argument is a feature name like "nvim-0.2.1" or
"win32", see below. See also | |
The result is a Number, which is TRUE if | |
The result is a Number:
1 when the window has set a local directory via | |
The result is a Number, which is TRUE if there is a mapping
that contains {what} in somewhere in the rhs (what it is
mapped to) and this mapping exists in one of the modes
indicated by {mode}.
The arguments {what} and {mode} are strings.
When {abbr} is there and it is | |
Add the String {item} to the history {history} which can be one of: "cmd" or ":" command line history "search" or "/" search pattern history "expr" or "=" typed expression history "input" or "@" input line history "debug" or ">" debug command history empty the current or last used history The {history} string does not need to be the whole name, one character is sufficient. If {item} does already exist in the history, it will be shifted to become the newest entry. The result is a Number: TRUE if the operation was successful, otherwise FALSE is returned. | |
Clear {history}, i.e. delete all its entries. See | |
The result is a String, the entry with Number {index} from
{history}. See | |
The result is the Number of the current entry in {history}.
See | |
The result is a Number, which is TRUE if a highlight group called {name} exists. This is when the group has been defined in some way. Not necessarily when highlighting has been defined for it, it may also have been used for a syntax item. | |
The result is a Number, which is the ID of the highlight group with name {name}. When the highlight group doesn't exist, zero is returned. This can be used to retrieve information about the highlight group. For example, to get the background color of the "Comment" group: | |
The result is a String, which is the name of the machine on which Vim is currently running. Machine names greater than 256 characters long are truncated. | |
The result is a String, which is the text {string} converted
from encoding {from} to encoding {to}.
When the conversion completely fails an empty string is
returned. When some characters could not be converted they
are replaced with "?".
The encoding names are whatever the iconv() library function
can accept, see ":!man 3 iconv".
Most conversions require Vim to be compiled with the | |
The result is a Number, which is indent of line {lnum} in the
current buffer. The indent is counted in spaces, the value
of 'tabstop' is relevant. {lnum} is used just like in
| |
Find {expr} in {object} and return its index. See
| |
Returns the index of an item in {object} where {expr} is
v:true. {object} must be a | |
The result is a String, which is whatever the user typed on
the command-line. The {prompt} argument is either a prompt
string, or a blank string (for no prompt). A '\n' can be used
in the prompt to start a new line.
The highlighting set with | |
{textlist} must be a | |
Restore typeahead that was saved with a previous | |
Preserve typeahead (also from mappings) and clear it, so that a following prompt gets input from the user. Should be followed by a matching inputrestore() after the prompt. Can be used several times, in which case there must be just as many inputrestore() calls. Returns TRUE when out of memory, FALSE otherwise. | |
This function acts much like the | |
When {object} is a | |
Interrupt script execution. It works more or less like the user typing CTRL-C, most commands won't execute and control returns to the user. This is useful to abort execution from lower down, e.g. in an autocommand. Example: | |
Bitwise invert. The argument is converted to a number. A List, Dict or Float argument causes an error. Example: | |
The result is a Number, which is | |
Return 1 if {expr} is a positive infinity, or -1 a negative infinity, otherwise 0. | |
The result is a Number, which is | |
Return | |
Return true if the value is Position. | |
Return true if the value is ScreenPos. | |
Check if the | |
Return a | |
Join the items in {list} together into one String. When {sep} is specified it is put in between the items. If {sep} is omitted a single space is used. Note that {sep} is not added at the end. You might want to add it there too: | |
This parses a JSON formatted string and returns the equivalent
in Vim values. See
| |
Encode {expr} as JSON and return this as a string.
The encoding is specified in:
https://tools.ietf.org/html/rfc7159.html
Vim values are converted as follows:
| |
Return a | |
Turn the internal byte representation of keys into a form that
can be used for | |
The result is a Number, which is the length of the argument.
When {expr} is a String or a Number the length in bytes is
used, as with | |
Call function {funcname} in the run-time library {libname}
with single argument {argument}.
This is useful to call functions in a library that you
especially made to be used with Vim. Since only one argument
is possible, calling standard library functions is rather
limited.
The result is the String returned by the function. If the
function returns NULL, this will appear as an empty string ""
to Vim.
If the function returns a number, use libcallnr()!
If {argument} is a number, it is passed to the function as an
int; if {argument} is a string, it is passed as a
null-terminated string.
This function will fail in | |
Just like | |
The result is a Number, which is the line number of the file
position given with {expr}. The {expr} argument is a string.
The accepted positions are:
. the cursor position
$ the last line in the current buffer
'x position of mark x (if the mark is not set, 0 is
returned)
w0 first line visible in current window (one if the
display isn't updated, e.g. in silent Ex mode)
w$ last line visible in current window (this is one
less than "w0" if no lines are visible)
v In Visual mode: the start of the Visual area (the
cursor is the end). When not in Visual mode
returns the cursor position. Differs from | |
Return the byte count from the start of the buffer for line {lnum}. This includes the end-of-line character, depending on the 'fileformat' option for the current buffer. The first line returns 1. 'encoding' matters, 'fileencoding' is ignored. This can also be used to get the byte count for the line just below the last line: | |
Get the amount of indent for line {lnum} according the lisp
indenting rules, as with 'lisp'.
The indent is counted in spaces, the value of 'tabstop' is
relevant. {lnum} is used just like in | |
Return a Blob concatenating all the number values in {list}. Examples: | |
Convert each number in {list} to a character string can concatenate them all. Examples: | |
Return the current time, measured as seconds since 1st Jan
1970. See also | |
Return the natural logarithm (base e) of {expr} as a | |
Return the logarithm of Float {expr} to base 10 as a | |
{expr1} must be a | |
When {dict} is omitted or zero: Return the rhs of mapping
{name} in mode {mode}. The returned String has special
characters translated like in the output of the ":map" command
listing. When {dict} is TRUE a dictionary is returned, see
below. To get a list of all mappings see | |
Check if there is a mapping that matches with {name} in mode
{mode}. See | |
Restore a mapping from a dictionary, possibly returned by
| |
When {expr} is a | |
Defines a pattern to be highlighted in the current window (a
"match"). It will be highlighted with {group}. Returns an
identification number (ID), which can be used to delete the
match using | |
Same as | |
Selects the {nr} match item, as set with a | |
Deletes a match with ID {id} previously defined by | |
Same as | |
If {list} is a list of strings, then returns a | |
Same as | |
Same as | |
Same as | |
Same as | |
Return the maximum value of all items in {expr}. Example: | |
Return information about the specified menu {name} in mode {mode}. The menu name should be specified without the shortcut character ('&'). If {name} is "", then the top-level menu names are returned. | |
Return the minimum value of all items in {expr}. Example: | |
Create directory {name}. | |
Return a string that indicates the current mode.
If [expr] is supplied and it evaluates to a non-zero Number or
a non-empty String ( | |
Return the line number of the first line at or below {lnum} that is not blank. Example: | |
Return a string with a single character, which has the number value {expr}. Examples: | |
Bitwise OR on the two arguments. The arguments are converted
to a number. A List, Dict or Float argument causes an error.
Also see | |
Shorten directory names in the path {path} and return the
result. The tail, the file name, is kept as-is. The other
components in the path are reduced to {len} letters in length.
If {len} is omitted or smaller than 1 then 1 is used (single
letters). Leading | |
Evaluate Perl expression {expr} in scalar context and return its result converted to Vim data structures. If value can't be converted, it is returned as a string Perl representation. Note: If you want an array or hash, {expr} must return a reference to it. Example: | |
Return the power of {x} to the exponent {y} as a | |
Return the line number of the first line at or above {lnum} that is not blank. Example: | |
Return a String with {fmt}, where "%" items are replaced by the formatted form of their respective arguments. Example: | |
Returns the effective prompt text for buffer {buf}. {buf} can
be a buffer name or number. See | |
Set prompt callback for buffer {buf} to {expr}. When {expr} is an empty string the callback is removed. This has only effect if {buf} has 'buftype' set to "prompt". | |
Set a callback for buffer {buf} to {expr}. When {expr} is an empty string the callback is removed. This has only effect if {buf} has 'buftype' set to "prompt". | |
Set prompt for buffer {buf} to {text}. You most likely want {text} to end in a space. The result is only visible if {buf} has 'buftype' set to "prompt". Example: | |
If the popup menu (see | |
Returns non-zero when the popup menu is visible, zero
otherwise. See | |
Evaluate Python expression {expr} and return its result
converted to Vim data structures.
Numbers and strings are returned as they are (strings are
copied though, Unicode strings are additionally converted to
'encoding').
Lists are represented as Vim | |
Evaluate Python expression {expr} and return its result
converted to Vim data structures.
Numbers and strings are returned as they are (strings are
copied though).
Lists are represented as Vim | |
Evaluate Python expression {expr} and return its result
converted to Vim data structures.
Uses Python 2 or 3, see | |
Return a pseudo-random Number generated with an xoshiro128**
algorithm using seed {expr}. The returned number is 32 bits,
also on 64 bits systems, for consistency.
{expr} can be initialized by | |
Returns a
| |
Read file {fname} in binary mode and return a | |
Return a list with file and directory names in {directory}.
You can also use | |
Read file {fname} and return a
| |
{func} is called for every item in {object}, which can be a
| |
Returns the single letter name of the register being executed.
Returns an empty string when no register is being executed.
See | |
Returns the single letter name of the register being recorded.
Returns an empty string when not recording. See | |
Return an item that represents a time value. The item is a
list with items that depend on the system. In Vim 9 script
the type list can be used.
The item can be passed to | |
Return a Float that represents the time value of {time}. Example: | |
Return a String that represents the time value of {time}. This is the number of seconds, a dot and the number of microseconds. Example: | |
Without {end}: Remove the item at {idx} from | |
Rename the file by the name {from} to the name {to}. This
should also work to move files across file systems. The
result is a Number, which is 0 if the file was renamed
successfully, and non-zero when the renaming failed.
NOTE: If {to} exists it is overwritten without warning.
This function is not available in the | |
Repeat {expr} {count} times and return the concatenated result. Example: | |
On MS-Windows, when {filename} is a shortcut (a .lnk file),
returns the path the shortcut points to in a simplified form.
When {filename} is a symbolic link or junction point, return
the full path to the target. If the target of junction is
removed, return {filename}.
On Unix, repeat resolving symbolic links in all path
components of {filename} and return the simplified result.
To cope with link cycles, resolving of symbolic links is
stopped after 100 iterations.
On other systems, return the simplified {filename}.
The simplification step is done as by | |
Reverse the order of items in {object}. {object} can be a
| |
Round off {expr} to the nearest integral value and return it
as a | |
Evaluate Ruby expression {expr} and return its result
converted to Vim data structures.
Numbers, floats and strings are returned as they are (strings
are copied though).
Arrays are represented as Vim | |
Like | |
The result is a Number, which is the character at position [row, col] on the screen. This works for every possible screen position, also status lines, window separators and the command line. The top left position is row one, column one The character excludes composing characters. For double-byte encodings it may only be the first byte. This is mainly to be used for testing. Returns -1 when row or col is out of range. | |
The result is a | |
The result is a Number, which is the current screen column of the cursor. The leftmost column has number 1. This function is mainly used for testing. | |
The result is a Dict with the screen position of the text
character in window {winid} at buffer line {lnum} and column
{col}. {col} is a one-based byte index.
The Dict has these members:
row screen row
col first screen column
endcol last screen column
curscol cursor screen column
If the specified position is not visible, all values are zero.
The "endcol" value differs from "col" when the character
occupies more than one screen cell. E.g. for a Tab "col" can
be 1 and "endcol" can be 8.
The "curscol" value is where the cursor would be placed. For
a Tab it would be the same as "endcol", while for a double
width character it would be the same as "col".
The | |
The result is a Number, which is the current screen row of the
cursor. The top line has number one.
This function is mainly used for testing.
Alternatively you can use | |
The result is a String that contains the base character and
any composing characters at position [row, col] on the screen.
This is like | |
Search for regexp pattern {pattern}. The search starts at the
cursor position (you can use | |
Get or update the last search count, like what is displayed without the "S" flag in 'shortmess'. This works even if 'shortmess' does contain the "S" flag. | |
Search for the declaration of {name}. | |
Search for the match of a nested start-end pair. This can be used to find the "endif" that matches an "if", while other if/endif pairs in between are ignored. The search starts at the cursor. The default is to search forward, include 'b' in {flags} to search backward. If a match is found, the cursor is positioned at it and the line number is returned. If no match is found 0 or -1 is returned and the cursor doesn't move. No error message is given. | |
Same as | |
Same as | |
Return a list of available server names, one per line.
When there are no servers or the information is not available
an empty string is returned. See also | |
Set line {lnum} to {text} in buffer {buf}. This works like
| |
Set option or local variable {varname} in buffer {buf} to
{val}.
This also works for a global or local window option, but it
doesn't work for a global or local window variable.
For a local window option the global value is unchanged.
For the use of {buf}, see | |
Specify overrides for cell widths of character ranges. This tells Vim how wide characters are when displayed in the terminal, counted in screen cells. The values override 'ambiwidth'. Example: | |
Same as | |
Set the current character search information to {dict}, which contains one or more of the following entries: | |
Set the command line to {str} and set the cursor position to {pos}. If {pos} is omitted, the cursor is positioned after the text. Returns 0 when successful, 1 when not editing the command line. | |
Set the cursor position in the command line to byte position
{pos}. The first position is 1.
Use | |
Same as | |
Set environment variable {name} to {val}. Example: | |
Set the file permissions for {fname} to {mode}. {mode} must be a string with 9 characters. It is of the form "rwxrwxrwx", where each group of "rwx" flags represent, in turn, the permissions of the owner of the file, the group the file belongs to, and other users. A '-' character means the permission is off, any other character means on. Multi-byte characters are not supported. | |
Set line {lnum} of the current buffer to {text}. To insert
lines use | |
Create or replace or add to the location list for window {nr}.
{nr} can be the window number or the | |
Restores a list of matches saved by | |
Set the position for String {expr}. Possible values: . the cursor 'x mark x | |
Create or replace or add to the quickfix list. | |
Set the register {regname} to {value}.
If {regname} is "" or "@", the unnamed register '"' is used.
The {regname} argument is a string. In | |
Set tab-local variable {varname} to {val} in tab page {tabnr}.
| |
Set option or local variable {varname} in window {winnr} to
{val}.
Tabs are numbered starting with one. For the current tabpage
use | |
Modify the tag stack of the window {nr} using {dict}.
{nr} can be the window number or the | |
Like | |
Returns a String with 64 hex characters, which is the SHA256 checksum of {string}. | |
Escape {string} for use as a shell command argument. When the 'shell' contains powershell (MS-Windows) or pwsh (MS-Windows, Linux, and macOS) then it will enclose {string} in single quotes and will double up all internal single quotes. On MS-Windows, when 'shellslash' is not set, it will enclose {string} in double quotes and double all double quotes within {string}. Otherwise it will enclose {string} in single quotes and replace all "'" with "'''". | |
Returns the effective value of 'shiftwidth'. This is the 'shiftwidth' value unless it is zero, in which case it is the 'tabstop' value. This function was introduced with patch 7.3.694 in 2012, everybody should have it by now (however it did not allow for the optional {col} argument until 8.1.542). | |
Define a new sign named {name} or modify the attributes of an
existing sign. This is similar to the | |
Get a list of defined signs and their attributes.
This is similar to the | |
Return a list of signs placed in a buffer or all the buffers.
This is similar to the | |
Open the buffer {buf} or jump to the window that contains
{buf} and position the cursor at sign {id} in group {group}.
This is similar to the | |
Place the sign defined as {name} at line {lnum} in file or
buffer {buf} and assign {id} and {group} to sign. This is
similar to the | |
Place one or more signs. This is similar to the
| |
Deletes a previously defined sign {name}. This is similar to
the | |
Remove a previously placed sign in one or more buffers. This
is similar to the | |
Remove previously placed signs from one or more buffers. This
is similar to the | |
Simplify the file name as much as possible without changing the meaning. Shortcuts (on MS-Windows) or symbolic links (on Unix) are not resolved. If the first path component in {filename} designates the current directory, this will be valid for the result as well. A trailing path separator is not removed either. On Unix "//path" is unchanged, but "///path" is simplified to "/path" (this follows the Posix standard). Example: | |
Return the sine of {expr}, measured in radians, as a | |
Return the hyperbolic sine of {expr} as a | |
Sort the items in {list} in-place. Returns {list}. | |
Return the sound-folded equivalent of {word}. Uses the first language in 'spelllang' for the current window that supports soundfolding. 'spell' must be set. When no sound folding is possible the {word} is returned unmodified. This can be used for making spelling suggestions. Note that the method can be quite slow. | |
Without argument: The result is the badly spelled word under or after the cursor. The cursor is moved to the start of the bad word. When no bad word is found in the cursor line the result is an empty string and the cursor doesn't move. | |
Return a | |
Make a | |
Return the non-negative square root of Float {expr} as a
| |
Initialize seed used by
| |
Convert String {string} to a Float. This mostly works the
same as when using a floating point number in an expression,
see | |
Return a list containing the number values which represent each character in String {string}. Examples: | |
Convert string {string} to a number. {base} is the conversion base, it can be 2, 8, 10 or 16. When {quoted} is present and non-zero then embedded single quotes are ignored, thus "1'000'000" is a million. | |
The result is a Number, which is the number of characters
in String {string}. Composing characters are ignored.
| |
Like | |
The result is a Number, which is the number of characters
in String {string}.
When {skipcc} is omitted or zero, composing characters are
counted separately.
When {skipcc} set to 1, Composing characters are ignored.
| |
The result is a Number, which is the number of display cells
String {string} occupies on the screen when it starts at {col}
(first column is zero). When {col} is omitted zero is used.
Otherwise it is the screen column where to start. This
matters for Tab characters.
The option settings of the current window are used. This
matters for anything that's displayed differently, such as
'tabstop' and 'display'.
When {string} contains characters with East Asian Width Class
Ambiguous, this function's return value depends on 'ambiwidth'.
Returns zero on error.
Also see | |
The result is a String, which is a formatted date and time, as
specified by the {format} string. The given {time} is used,
or the current time if no time is given. The accepted
{format} depends on your system, thus this is not portable!
See the manual page of the C function strftime() for the
format. The maximum length of the result is 80 characters.
See also | |
Get a Number corresponding to the character at {index} in
{str}. This uses a zero-based character index, not a byte
index. Composing characters are considered separate
characters here. Use | |
The result is a Number, which gives the byte index in {haystack} of the first occurrence of the String {needle}. If {start} is specified, the search starts at index {start}. This can be used to find a second match: | |
Return {expr} converted to a String. If {expr} is a Number,
Float, String, Blob or a composition of them, then the result
can be parsed back with | |
The result is a Number, which is the length of the String
{string} in bytes.
If the argument is a Number it is first converted to a String.
For other types an error is given and zero is returned.
If you want to count the number of multibyte characters use
| |
The result is a String, which is part of {src}, starting from
byte {start}, with the byte length {len}.
When {chars} is present and TRUE then {len} is the number of
characters positions (composing characters are not counted
separately, thus "1" means one base character and any
following composing characters).
To count {start} as characters instead of bytes use
| |
The result is a Number, which is a unix timestamp representing the date and time in {timestring}, which is expected to match the format specified in {format}. | |
The result is a Number, which gives the byte index in {haystack} of the last occurrence of the String {needle}. When {start} is specified, matches beyond this index are ignored. This can be used to find a match before a previous match: | |
The result is a String, which is {string} with all unprintable
characters translated into printable characters | |
The result is a Number, which is the number of display cells
String {string} occupies. A Tab character is counted as one
cell, alternatively use | |
Only for an expression in a | |
The result is a String, which is a copy of {string}, in which the first match of {pat} is replaced with {sub}. When {flags} is "g", all matches of {pat} in {string} are replaced. Otherwise {flags} should be "". | |
The result is a dictionary, which holds information about the swapfile {fname}. The available fields are: version Vim version user user name host host name fname original file name pid PID of the Vim process that created the swap file mtime last modification time in seconds inode Optional: INODE number of the file dirty 1 if file was modified, 0 if not Note that "user" and "host" are truncated to at most 39 bytes. In case of failure an "error" item is added with the reason: Cannot open file: file not found or in accessible Cannot read file: cannot read first block Not a swap file: does not contain correct block ID Magic number mismatch: Info in first block is invalid | |
The result is the swap file path of the buffer {expr}.
For the use of {buf}, see | |
The result is a
| |
The result is a Number, which is the syntax ID at the position
{lnum} and {col} in the current window.
The syntax ID can be used with | |
The result is a String, which is the {what} attribute of
syntax ID {synID}. This can be used to obtain information
about a syntax item.
{mode} can be "gui", "cterm" or "term", to get the attributes
for that mode. When {mode} is omitted, or an invalid value is
used, the attributes for the currently active highlighting are
used (GUI, cterm or term).
Use synIDtrans() to follow linked highlight groups.
{what} result
"name" the name of the syntax item
"fg" foreground color (GUI: color name used to set
the color, cterm: color number as a string,
term: empty string)
"bg" background color (as with "fg")
"font" font name (only available in the GUI)
| |
The result is a Number, which is the translated syntax ID of {synID}. This is the syntax group ID of what is being used to highlight the character. Highlight links given with ":highlight link" are followed. | |
Return a | |
Get the output of the shell command {expr} as a | |
Same as | |
The result is a | |
The result is a Number, which is the number of the current tab page. The first tab page has number 1. | |
Like
| |
Returns a | |
Returns a | |
Return the tangent of {expr}, measured in radians, as a | |
Return the hyperbolic tangent of {expr} as a | |
The result is a String, which is the name of a file that doesn't exist. It can be used for a temporary file. The name is different for at least 26 consecutive calls. Example: | |
Return a list with information about timers. When {id} is given only information about this timer is returned. When timer {id} does not exist an empty list is returned. When {id} is omitted information about all timers is returned. | |
Pause or unpause a timer. A paused timer does not invoke its callback when its time expires. Unpausing a timer may cause the callback to be invoked almost immediately if enough time has passed. | |
Create a timer and return the timer ID. | |
Stop a timer. The timer callback will no longer be invoked. {timer} is an ID returned by timer_start(), thus it must be a Number. If {timer} does not exist there is no error. | |
Stop all timers. The timer callbacks will no longer be invoked. Useful if a timer is misbehaving. If there are no timers there is no error. | |
The result is a copy of the String given, with all uppercase
characters turned into lowercase (just like applying | |
The result is a copy of the String given, with all lowercase
characters turned into uppercase (just like applying | |
The result is a copy of the {src} string with all characters which appear in {fromstr} replaced by the character in that position in the {tostr} string. Thus the first character in {fromstr} is translated into the first character in {tostr} and so on. Exactly like the unix "tr" command. This code also deals with multibyte characters properly. | |
Return {text} as a String where any character in {mask} is removed from the beginning and/or end of {text}. | |
Return the largest integral value with magnitude less than or
equal to {expr} as a | |
The result is a Number representing the type of {expr}.
Instead of using the number directly, it is better to use the
v:t_ variable that has the value:
Number: 0 | |
Return the name of the undo file that would be used for a file
with name {name} when writing. This uses the 'undodir'
option, finding directories that exist. It does not check if
the undo file exists.
{name} is always expanded to the full path, since that is what
is used internally.
If {name} is empty undofile() returns an empty string, since a
buffer without a file name will not write an undo file.
Useful in combination with | |
Return the current state of the undo tree for the current
buffer, or for a specific buffer if {buf} is given. The
result is a dictionary with the following items:
"seq_last" The highest undo sequence number used.
"seq_cur" The sequence number of the current position in
the undo tree. This differs from "seq_last"
when some changes were undone.
"time_cur" Time last used for | |
Remove second and succeeding copies of repeated adjacent {list} items in-place. Returns {list}. If you want a list to remain unmodified make a copy first: | |
Return a | |
The result is a Number, which is the screen column of the file
position given with {expr}. That is, the last screen position
occupied by the character at that position, when the screen
would be of unlimited width. When there is a | |
The result is a Number, which is the byte index of the character in window {winid} at buffer line {lnum} and virtual column {col}. | |
The result is a String, which describes the last Visual mode
used in the current buffer. Initially it returns an empty
string, but once Visual mode has been used, it returns "v",
"V", or | |
Returns | |
Like | |
Returns a | |
Get the | |
Return the type of the window:
"autocmd" autocommand window. Temporary window
used to execute autocommands.
"command" command-line window | |
Go to window with ID {expr}. This may also change the current tabpage. Return TRUE if successful, FALSE if the window cannot be found. | |
Return a list with the tab number and window number of window with ID {expr}: [tabnr, winnr]. Return [0, 0] if the window cannot be found. | |
Return the window number of window with ID {expr}. Return 0 if the window cannot be found in the current tabpage. | |
Move window {nr}'s vertical separator (i.e., the right border)
by {offset} columns, as if being dragged by the mouse. {nr}
can be a window number or | |
Move window {nr}'s status line (i.e., the bottom border) by
{offset} rows, as if being dragged by the mouse. {nr} can be a
window number or | |
Return the screen position of window {nr} as a list with two
numbers: [row, col]. The first window always has position
[1, 1], unless there is a tabline, then it is [2, 1].
{nr} can be the window number or the | |
Move the window {nr} to a new split of the window {target}.
This is similar to moving to {target}, creating a new window
using | |
The result is a Number, which is the number of the buffer
associated with window {nr}. {nr} can be the window number or
the | |
The result is a Number, which is the virtual column of the cursor in the window. This is counting screen cells from the left side of the window. The leftmost column is one. | |
The result is a String. For MS-Windows it indicates the OS version. E.g, Windows 10 is "10.0", Windows 8 is "6.2", Windows XP is "5.1". For non-MS-Windows systems the result is an empty string. | |
The result is a Number, which is the height of window {nr}.
{nr} can be the window number or the | |
The result is a nested List containing the layout of windows in a tabpage. | |
The result is a Number, which is the screen line of the cursor in the window. This is counting screen lines from the top of the window. The first line is one. If the cursor was moved the view on the file will be updated first, this may cause a scroll. | |
The result is a Number, which is the number of the current window. The top window has number 1. Returns zero for a popup window. | |
Returns a sequence of | |
Uses the | |
Returns a | |
The result is a Number, which is the width of window {nr}.
{nr} can be the window number or the | |
The result is a dictionary of byte/chars/word statistics for
the current buffer. This is the same info as provided by
| |
When {object} is a | |
Bitwise XOR on the two arguments. The arguments are converted
to a number. A List, Dict or Float argument causes an error.
Also see | |
Returns the input value if it satisfies the provided predicate, or | |
Return a | |
Converts a path string to a file URL. |
Interfaces
Denops is a facade instance visible from each denops plugin. | |
Type of | |
Type of | |
Only the buffers matching the specified criteria are returned. | |
Type of | |
Type of |
Type Aliases
If the {buf} argument is a number, buffer numbers are used. Number zero is the alternate buffer for the current window. | |
For {lnum} and {end} "$" can be used for the last line of the buffer. Otherwise a number must be used. | |
If {buf} is omitted the current buffer is used.
If {buf} is a Number, that buffer number's name is given.
Number zero is the alternate buffer for the current window.
If {buf} is a String, it is used as a | |
Builtin completion | |
Type of | |
Type of | |
Type of | |
Type of |