-*builtin.txt* For Vim version 9.1. Last change: 2025 Jul 22
+*builtin.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
customlist,{func} custom completion, defined via {func}
diff_buffer |:diffget| and |:diffput| completion
dir directory names
- dir_in_path directory names in |'cdpath'|
+ dir_in_path directory names in 'cdpath'
environment environment variable names
event autocommand events
expression Vim expression
file file and directory names
- file_in_path file and directory names in |'path'|
- filetype filetype names |'filetype'|
+ file_in_path file and directory names in 'path'
+ filetype filetype names 'filetype'
filetypecmd |:filetype| suboptions
function function name
help help subjects
shellcmd Shell command
shellcmdline Shell command line with filename arguments
sign |:sign| suboptions
- syntax syntax file names |'syntax'|
+ syntax syntax file names 'syntax'
syntime |:syntime| suboptions
tag tags
tag_listfiles tags, file names
strtrans({string}) *strtrans()*
The result is a String, which is {string} with all unprintable
- characters translated into printable characters |'isprint'|.
+ characters translated into printable characters 'isprint'.
Like they are shown in a window. Example: >
echo strtrans(@a)
< This displays a newline in register a as "^@" instead of
Refer to |tag-regexp| for more information about the tag
search regular expression pattern.
- Refer to |'tags'| for information about how the tags file is
+ Refer to 'tags' for information about how the tags file is
located by Vim. Refer to |tags-file-format| for the format of
the tags file generated by the different ctags tools.
last character. When "off" is omitted zero is used. When
Virtual editing is active in the current mode, a position
beyond the end of the line can be returned. Also see
- |'virtualedit'|
+ 'virtualedit'
If {list} is present and non-zero then virtcol() returns a
List with the first and last screen position occupied by the
cmdline_compl Compiled with |cmdline-completion| support.
cmdline_hist Compiled with |cmdline-history| support.
cmdline_info Compiled with 'showcmd' and 'ruler' support.
-comments Compiled with |'comments'| support.
+comments Compiled with 'comments' support.
compatible Compiled to be very Vi compatible.
conpty Platform where |ConPTY| can be used.
cryptv Compiled with encryption support |encryption|.
cscope Compiled with |cscope| support.
-cursorbind Compiled with |'cursorbind'| (always true)
+cursorbind Compiled with 'cursorbind' (always true)
debug Compiled with "DEBUG" defined.
dialog_con Compiled with console dialog support.
dialog_con_gui Compiled with console and GUI dialog support.
eval Compiled with expression evaluation support. Always
true, of course!
ex_extra |+ex_extra| (always true)
-extra_search Compiled with support for |'incsearch'| and
- |'hlsearch'|
+extra_search Compiled with support for 'incsearch' and 'hlsearch'
farsi Support for Farsi was removed |farsi|.
file_in_path Compiled with support for |gf| and |<cfile>| (always
true)
tgetent Compiled with tgetent support, able to use a termcap
or terminfo file.
timers Compiled with |timer_start()| support.
-title Compiled with window title support |'title'|.
+title Compiled with window title support 'title'.
(always true)
toolbar Compiled with support for |gui-toolbar|.
ttyin input is a terminal (tty)
unix Unix version of Vim. *+unix*
unnamedplus Compiled with support for "unnamedplus" in 'clipboard'
user_commands User-defined commands. (always true)
-vartabs Compiled with variable tabstop support |'vartabstop'|.
+vartabs Compiled with variable tabstop support 'vartabstop'.
vcon Win32: Virtual console support is working, can use
'termguicolors'. Also see |+vtp|.
vertsplit Compiled with vertically split windows |:vsplit|.
-*change.txt* For Vim version 9.1. Last change: 2025 Jul 15
+*change.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
The <Del> key does not take a [count]. Instead, it
deletes the last character of the count.
See |:fixdel| if the <Del> key does not do what you
- want. See |'whichwrap'| for deleting a line break
+ want. See 'whichwrap' for deleting a line break
(join lines).
*X* *dh*
["x]X Delete [count] characters before the cursor [into
register x] (not |linewise|). Does the same as "dh".
- Also see |'whichwrap'|.
+ Also see 'whichwrap'.
*d*
["x]d{motion} Delete text that {motion} moves over [into register
={motion} Filter {motion} lines through the external program
given with the 'equalprg' option. When the 'equalprg'
option is empty (this is the default), use the
- internal formatting function |C-indenting| and
- |'lisp'|. But when 'indentexpr' is not empty, it will
- be used instead |indent-expression|. When Vim was
- compiled without internal formatting then the "indent"
- program is used as a last resort.
+ internal formatting function |C-indenting| and 'lisp'.
+ But when 'indentexpr' is not empty, it will be used
+ instead |indent-expression|. When Vim was compiled
+ without internal formatting then the "indent" program
+ is used as a last resort.
*==*
== Filter [count] lines like with ={motion}.
-*diff.txt* For Vim version 9.1. Last change: 2025 Jul 26
+*diff.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
==============================================================================
6. Diff options *diff-options*
-Also see |'diffopt'| and the "diff" item of |'fillchars'|.
+Also see 'diffopt' and the "diff" item of 'fillchars'.
*diff-slow* *diff_translations*
For very long lines, the diff syntax highlighting might be slow, especially
-*editing.txt* For Vim version 9.1. Last change: 2025 Jul 20
+*editing.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
:cd[!] {path} Change the current directory to {path}.
If {path} is relative, it is searched for in the
- directories listed in |'cdpath'|.
+ directories listed in 'cdpath'.
Clear any window-local directory.
Does not change the meaning of an already opened file,
because its full path name is remembered. Files from
-*filetype.txt* For Vim version 9.1. Last change: 2025 May 10
+*filetype.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
name, the file $VIMRUNTIME/scripts.vim is used to detect it from the
contents of the file.
When the GUI is running or will start soon, the |menu.vim| script is
- also sourced. See |'go-M'| about avoiding that.
+ also sourced. See 'go-M' about avoiding that.
To add your own file types, see |new-filetype| below. To search for help on a
filetype prepend "ft-" and optionally append "-syntax", "-indent" or
-*ft_ada.txt* For Vim version 9.1. Last change: 2024 Sep 29
+*ft_ada.txt* For Vim version 9.1. Last change: 2025 Aug 06
ADA FILE TYPE PLUG-INS REFERENCE MANUAL~
- user completion (|i_CTRL-X_CTRL-U|)
- tag searches (|tagsrch.txt|)
- Quick Fix (|quickfix.txt|)
- - backspace handling (|'backspace'|)
- - comment handling (|'comments'|, |'commentstring'|)
+ - backspace handling ('backspace')
+ - comment handling ('comments', 'commentstring')
The plug-in only activates the features of the Ada mode whenever an Ada
file is opened and adds Ada related entries to the main and pop-up menu.
*g:gnat.Make_Command*
g:gnat.Make_Command string
- External command used for |g:gnat.Make()| (|'makeprg'|).
+ External command used for |g:gnat.Make()| ('makeprg').
*g:gnat.Pretty_Program*
g:gnat.Pretty_Program string
*g:gnat.Error_Format*
g:gnat.Error_Format string
- Error format (|'errorformat'|)
+ Error format ('errorformat')
------------------------------------------------------------------------------
4.2 Dec Ada ~
*g:decada.Make_Command*
g:decada.Make_Command string
- External command used for |g:decada.Make()| (|'makeprg'|).
+ External command used for |g:decada.Make()| ('makeprg').
*g:decada.Error_Format*
g:decada.Error_Format string
- Error format (|'errorformat'|).
+ Error format ('errorformat').
==============================================================================
5. References ~
-*ft_sql.txt* For Vim version 9.1. Last change: 2022 Apr 06
+*ft_sql.txt* For Vim version 9.1. Last change: 2025 Aug 06
by David Fishburn
1.4 Macros *sql-macros*
----------
-Vim's feature to find macro definitions, |'define'|, is supported using this
+Vim's feature to find macro definitions, 'define', is supported using this
regular expression: >
\c\<\(VARIABLE\|DECLARE\|IN\|OUT\|INOUT\)\>
Executing this function without any parameters will set the indent and syntax
scripts back to their defaults, see |sql-type-default|. If you have turned
-off Vi's compatibility mode, |'compatible'|, you can use the <Tab> key to
+off Vi's compatibility mode, 'compatible', you can use the <Tab> key to
complete the optional parameter.
After typing the function name and a space, you can use the completion to
supply a parameter. The function takes the name of the Vim script you want to
source. Using the |cmdline-completion| feature, the SQLSetType function will
-search the |'runtimepath'| for all Vim scripts with a name containing 'sql'.
+search the 'runtimepath' for all Vim scripts with a name containing 'sql'.
This takes the guess work out of the spelling of the names. The following are
examples: >
:SQLSetType
Begins by editing a Perl file. Vim automatically sets the filetype to
"perl". By default, Vim runs the appropriate filetype file
ftplugin/perl.vim. If you are using the syntax completion plugin by following
-the directions at |ft-syntax-omni| then the |'omnifunc'| option has been set to
+the directions at |ft-syntax-omni| then the 'omnifunc' option has been set to
"syntax#Complete". Pressing <C-X><C-O> will display the omni popup containing
the syntax items for Perl.
been created and the SQL completion plugin has been initialized. All SQL
syntax items have been cached in preparation. The SQL filetype script detects
we are attempting to use two different completion plugins. Since the SQL maps
-begin with <C-C>, the maps will toggle the |'omnifunc'| when in use. So you
+begin with <C-C>, the maps will toggle the 'omnifunc' when in use. So you
can use <C-X><C-O> to continue using the completion for Perl (using the syntax
completion plugin) and <C-C> to use the SQL completion features.
-*gui.txt* For Vim version 9.1. Last change: 2024 Nov 17
+*gui.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
what the key sequence was.
For creating menus in a different language, see |:menutrans|.
-If you don't want to use menus at all, see |'go-M'|.
+If you don't want to use menus at all, see 'go-M'.
*menu.vim*
The default menus are read from the file "$VIMRUNTIME/menu.vim". See
-*gui_w32.txt* For Vim version 9.1. Last change: 2024 Jan 23
+*gui_w32.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
:w >>prn
Vim supports a number of standard MS-Windows features. Some of these are
-detailed elsewhere: see |'mouse'|, |win32-hidden-menus|.
+detailed elsewhere: see 'mouse', |win32-hidden-menus|.
*drag-n-drop-win32*
You can drag and drop one or more files into the Vim window, where they will
Mouse Pointers Available in X11 ~
*X11_mouse_shapes*
-By using the |'mouseshape'| option, the mouse pointer can be automatically
+By using the 'mouseshape' option, the mouse pointer can be automatically
changed whenever Vim enters one of its various modes (e.g., Insert or
Command). Currently, the available pointers are:
-fg -foreground {color} foreground color
-bg -background {color} background color
-To set the font, see |'guifont'|. For GTK, there's also a menu option that
-does this.
+To set the font, see 'guifont'. For GTK, there's also a menu option that does
+this.
Additionally, there are these command line arguments, which are handled by GTK
internally. Look in the GTK documentation for how they are used:
Of these three, Vim uses PRIMARY when reading and writing the "* register
(hence when the X11 selections are available, Vim sets a default value for
-|'clipboard'| of "autoselect"), and CLIPBOARD when reading and writing the "+
+'clipboard' of "autoselect"), and CLIPBOARD when reading and writing the "+
register. Vim does not access the SECONDARY selection.
This applies both to the GUI and the terminal version. For non-X11 systems
-*howto.txt* For Vim version 9.1. Last change: 2006 Apr 02
+*howto.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
|object-motions| text-object motions
|various-motions| various motions
|object-select| text-object selection
-|'whichwrap'| move over line breaks
-|'virtualedit'| move to where there is no text
+'whichwrap' move over line breaks
+'virtualedit' move to where there is no text
|usr_27.txt| specify pattern for searches
|tags-and-searches| do tags and special searches
|29.4| search in include'd files used to find
|K| look up manual for the keyword under cursor
|03.7| scroll
-|'sidescroll'| scroll horizontally/sideways
-|'scrolloff'| set visible context lines
+'sidescroll' scroll horizontally/sideways
+'scrolloff' set visible context lines
|mode-switching| change modes
|04.4| use Visual mode
-|'insertmode'| start Vim in Insert mode
+'insertmode' start Vim in Insert mode
|40.1| map keys
|24.7| create abbreviations
|20.1| do command-line editing
|20.3| do command-line completion
-|'cmdheight'| increase the height of command-line
+'cmdheight' increase the height of command-line
|10.3| specify command-line ranges
|40.3| specify commands to be executed automatically
before/after reading/writing entering/leaving a
buffer/window
-|'autowrite'| write automatically
+'autowrite' write automatically
|30.1| speedup edit-compile-edit cycle or compile and fix
errors within Vim
|term-dependent-settings| set options depending on terminal name
|save-settings| save settings
|:quote| comment my .vim files
-|'helpheight'| change the default help height
-|'highlight'| set various highlighting modes
-|'title'| set the window title
-|'icon'| set window icon title
-|'report'| avoid seeing the change messages on every line
-|'shortmess'| avoid |hit-enter| prompts
+'helpheight' change the default help height
+'highlight' set various highlighting modes
+'title' set the window title
+'icon' set window icon title
+'report' avoid seeing the change messages on every line
+'shortmess' avoid |hit-enter| prompts
|mouse-using| use mouse with Vim
|usr_08.txt| manage multiple windows and buffers
-*index.txt* For Vim version 9.1. Last change: 2025 Jul 20
+*index.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
|&| & 2 repeat last :s
|'| '{a-zA-Z0-9} 1 cursor to the first CHAR on the line with
mark {a-zA-Z0-9}
-|''| '' 1 cursor to the first CHAR of the line where
+'' '' 1 cursor to the first CHAR of the line where
the cursor was before the latest jump.
|'(| '( 1 cursor to the first CHAR on the line of the
start of the current sentence
|c_CTRL-D| CTRL-D list completions that match the pattern in
front of the cursor
|c_CTRL-E| CTRL-E cursor to end of command-line
-|'cedit'| CTRL-F default value for 'cedit': opens the
+'cedit' CTRL-F default value for 'cedit': opens the
command-line window; otherwise not used
|c_CTRL-G| CTRL-G next match when 'incsearch' is active
|c_<BS>| <BS> delete the character in front of the cursor
-*insert.txt* For Vim version 9.1. Last change: 2025 Jul 25
+*insert.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
often use CTRL-Q instead |i_CTRL-Q|.
If you are working in a special language mode when inserting text, see the
-'langmap' option, |'langmap'|, on how to avoid switching this mode on and off
+'langmap' option, 'langmap', on how to avoid switching this mode on and off
all the time.
If you have 'insertmode' set, <Esc> and a few other keys get another meaning.
-See |'insertmode'|.
+See 'insertmode'.
char action ~
-----------------------------------------------------------------------
backspace over autoindent, before column 1 or before where insert started.
For backwards compatibility the values "0", "1", "2" and "3" are also allowed,
-see |'backspace'|.
+see 'backspace'.
If the 'backspace' option does contain "eol" and the cursor is in column 1
when one of the three keys is used, the current line is joined with the
unless "L" is in 'cpoptions'.
Note that the only situations for which characters beyond the cursor should
-appear to move are in List mode |'list'|, and occasionally when 'wrap' is set
+appear to move are in List mode 'list', and occasionally when 'wrap' is set
(and the line changes length to become shorter or wider than the width of the
screen). In other cases spaces may be inserted to avoid following characters
to move.
AUTOCOMPLETION *ins-autocompletion*
Vim can display a completion menu as you type, similar to using |i_CTRL-N|,
-but triggered automatically. See |'autocomplete'|. The menu items are
-collected from the sources listed in the |'complete'| option.
+but triggered automatically. See 'autocomplete'. The menu items are collected
+from the sources listed in the 'complete' option.
Unlike manual |i_CTRL-N| completion, this mode uses a decaying timeout to keep
-Vim responsive. Sources earlier in the |'complete'| list are given more time
+Vim responsive. Sources earlier in the 'complete' list are given more time
(higher priority), but every source is guaranteed a time slice, however small.
This mode is fully compatible with other completion modes. You can invoke
-*intro.txt* For Vim version 9.1. Last change: 2024 Oct 05
+*intro.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
command characters 'showcmd' on off
cursor position 'ruler' off off
-The current mode is "-- INSERT --" or "-- REPLACE --", see |'showmode'|. The
+The current mode is "-- INSERT --" or "-- REPLACE --", see 'showmode'. The
command characters are those that you typed but were not used yet.
If you have a slow terminal you can switch off the status messages to speed
-*map.txt* For Vim version 9.1. Last change: 2025 Jul 14
+*map.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
-complete=cscope |:cscope| suboptions
-complete=diff_buffer diff buffer names
-complete=dir directory names
- -complete=dir_in_path directory names in |'cdpath'|
+ -complete=dir_in_path directory names in 'cdpath'
-complete=environment environment variable names
-complete=event autocommand events
-complete=expression Vim expression
-complete=file file and directory names
- -complete=file_in_path file and directory names in |'path'|
- -complete=filetype filetype names |'filetype'|
+ -complete=file_in_path file and directory names in 'path'
+ -complete=filetype filetype names 'filetype'
-complete=function function name
-complete=help help subjects
-complete=highlight highlight groups
-complete=option options
-complete=packadd optional package |pack-add| names
-complete=retab |:retab| suboptions
- -complete=runtime file and directory names in |'runtimepath'|
+ -complete=runtime file and directory names in 'runtimepath'
-complete=scriptnames sourced script names
-complete=shellcmd Shell command
-complete=shellcmdline First is a shell command and subsequent ones
are filenames. The same behavior as |:!cmd|
-complete=sign |:sign| suboptions
- -complete=syntax syntax file names |'syntax'|
+ -complete=syntax syntax file names 'syntax'
-complete=syntime |:syntime| suboptions
-complete=tag tags
-complete=tag_listfiles tags, file names are shown when CTRL-D is hit
-*message.txt* For Vim version 9.1. Last change: 2024 Dec 06
+*message.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
Vim (and Vi) expect tags files to be sorted in ASCII order. Binary searching
can then be used, which is a lot faster than a linear search. If your tags
-files are not properly sorted, reset the |'tagbsearch'| option.
+files are not properly sorted, reset the 'tagbsearch' option.
This message is only given when Vim detects a problem when searching for a
tag. Sometimes this message is not given, even though the tags file is not
properly sorted.
-*motion.txt* For Vim version 9.1. Last change: 2025 Apr 03
+*motion.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
*:keepj* *:keepjumps*
:keepj[umps] {command}
- Moving around in {command} does not change the |''|,
+ Moving around in {command} does not change the '',
|'.| and |'^| marks, the |jumplist| or the
|changelist|.
Useful when making a change or inserting text
-*options.txt* For Vim version 9.1. Last change: 2025 Jul 25
+*options.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
"nofile" and "nowrite" buffers are similar:
both: The buffer is not to be written to disk, ":w" doesn't
work (":w filename" does work though).
- both: The buffer is never considered to be |'modified'|.
+ both: The buffer is never considered to be 'modified'.
There is no warning when the changes will be lost, for
example when you quit Vim.
both: A swap file is only created when using too much memory
searched for has a relative path, not an absolute part starting with
"/", "./" or "../", the 'cdpath' option is not used then.
The 'cdpath' option's value has the same form and semantics as
- |'path'|. Also see |file-searching|.
+ 'path'. Also see |file-searching|.
The default value is taken from $CDPATH, with a "," prepended to look
in the current directory first.
If the default value taken from $CDPATH is not what you want, include
after that. Therefore do not append an item with += but use ^= to
prepend, e.g.: >
set clipboard^=unnamed
-< When using the GUI see |'go-A'|.
+< When using the GUI see 'go-A'.
These names are recognized:
*clipboard-unnamed*
area extended, Vim tries to become the owner of the
windowing system's global selection or put the
selected text on the clipboard used by the selection
- register "*. See |'go-a'| and |quotestar| for details.
+ register "*. See 'go-a' and |quotestar| for details.
When the GUI is active, the 'a' flag in 'guioptions'
is used, when the GUI is not active, this "autoselect"
flag is used.
controls how completion candidates are reduced from the
list of alternatives. If you want to use |fuzzy-matching|
to gather more alternatives for your candidate list,
- see |'completefuzzycollect'|.
+ see 'completefuzzycollect'.
longest Only insert the longest common text of the matches. If
the menu is displayed you can use CTRL-L to add more
popup Show extra information about the currently selected
completion in a popup window. Only works in combination
with "menu" or "menuone". Overrides "preview".
- See |'completepopup'| for specifying properties.
+ See 'completepopup' for specifying properties.
{only works when compiled with the |+textprop| feature}
popuphidden
local to buffer
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 |'expandtab'| is enabled,
+ tabs followed by spaces as required (unless 'expandtab' is enabled,
in which case only spaces are used). Enabling this option makes the
new line copy whatever characters were used for indenting on the
existing line. 'expandtab' has no effect on these characters, a Tab
*cpo-m*
m When included, a showmatch will always wait half a
second. When not included, a showmatch will wait half
- a second or until a character is typed. |'showmatch'|
+ a second or until a character is typed. 'showmatch'
*cpo-M*
M When excluded, "%" matching will take backslashes into
account. Thus in "( \( )" and "\( ( \)" the outer
'lispoptions' 'lop' string (default "")
local to buffer
Comma-separated list of items that influence the Lisp indenting when
- enabled with the |'lisp'| option. Currently only one item is
- supported:
+ enabled with the 'lisp' option. Currently only one item is supported:
expr:1 use 'indentexpr' for Lisp indenting when it is set
expr:0 do not use 'indentexpr' for Lisp indenting (default)
Note that when using 'indentexpr' the `=` operator indents all the
'lispwords' 'lw' string (default is very long)
global or local to buffer |global-local|
Comma-separated list of words that influence the Lisp indenting when
- enabled with the |'lisp'| option.
+ enabled with the 'lisp' option.
*'list'* *'nolist'*
'list' boolean (default off)
When the mouse is not enabled, the GUI will still use the mouse for
modeless selection. This doesn't move the text cursor.
- See |mouse-using|. Also see |'clipboard'|.
+ See |mouse-using|. Also see 'clipboard'.
Note: When enabling the mouse in a terminal, copy/paste will use the
"* register if there is access to an X-server. The xterm handling of
local to buffer
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 |'expandtab'| is
+ series of tabs followed by spaces as required (unless 'expandtab' is
enabled, in which case only spaces are used). Enabling this option
means the indent will preserve as many existing characters as possible
for indenting, and only add additional tabs or spaces as required.
current window also scrolls other scrollbind windows (windows that
also have this option set). This option is useful for viewing the
differences between two versions of a file, see 'diff'.
- See |'scrollopt'| for options that determine how this option should be
+ See 'scrollopt' for options that determine how this option should be
interpreted.
This option is mostly reset when splitting a window to edit another
file. This means that ":split | edit file" results in two windows
'shiftwidth' 'sw' number (default 8)
local to buffer
Number of columns that make up one level of (auto)indentation. Used
- by |'cindent'|, |<<|, |>>|, etc.
+ by 'cindent', |<<|, |>>|, etc.
If set to 0, Vim uses the current 'tabstop' value. Use |shiftwidth()|
to obtain the effective value in scripts.
global or local to window |global-local|
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 |'sidescroll'| also at a non-zero
+ value greater than 0 while having 'sidescroll' also at a non-zero
value makes some context visible in the line you are scrolling in
horizontally (except at beginning of the line). Setting this option
to a large value (like 999) has the effect of keeping the cursor
setlocal sidescrolloff=-1
< NOTE: This option is set to 0 when 'compatible' is set.
- Example: Try this together with 'sidescroll' and 'listchars' as
- in the following example to never allow the cursor to move
- onto the "extends" character: >
+ Example: Try this together with 'sidescroll' and 'listchars' as in the
+ following example to never allow the cursor to move onto the
+ "extends" character: >
:set nowrap sidescroll=1 listchars=extends:>,precedes:<
:set sidescrolloff=1
in-depth explanations.
If Vim is compiled with the |+vartabs| feature then the value of
- 'softtabstop' will be ignored if |'varsofttabstop'| is set to
- anything other than an empty string.
+ 'softtabstop' will be ignored if 'varsofttabstop' is set to anything
+ other than an empty string.
*'spell'* *'nospell'*
'spell' boolean (default off)
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 |'updatecount'| is non-zero and
+ A swapfile will only be present when 'updatecount' is non-zero and
'swapfile' is set.
When 'swapfile' is reset, the swap file for the current buffer is
immediately deleted. When 'swapfile' is set, and 'updatecount' is
non-zero, a swap file is immediately created.
- Also see |swap-file| and |'swapsync'|.
+ Also see |swap-file| and 'swapsync'.
If you want to open a new buffer without creating a swap file for it,
use the |:noswapfile| modifier.
See 'directory' for where the swap file is created.
character (ASCII 9); a Horizontal Tab always advances to the next tab
stop.
The value must be at least 1 and at most 9999.
- If Vim was compiled with |+vartabs| and |'vartabstop'| is set, this
+ If Vim was compiled with |+vartabs| and 'vartabstop' is set, this
option is ignored.
Leave it at 8 unless you have a strong reason (see usr |30.5|).
When Vim was compiled with HAVE_X11 defined, the original title will
be restored if possible. The output of ":version" will include "+X11"
when HAVE_X11 was defined, otherwise it will be "-X11". This also
- works for the icon name |'icon'|.
+ works for the icon name 'icon'.
But: When Vim was started with the |-X| argument, restoring the title
will not work (except in the GUI).
If the title cannot be restored, it is set to the value of 'titleold'.
global
{only when compiled with the |+persistent_undo| feature}
List of directory names for undo files, separated with commas.
- See |'backupdir'| for details of the format.
+ See 'backupdir' for details of the format.
"." means using the directory of the file. The undo file name for
"file.txt" is ".file.txt.un~".
For other directories the file name is the full path of the edited
recovery |crash-recovery|). 'updatecount' is set to zero by starting
Vim with the "-n" option, see |startup|. When editing in readonly
mode this option will be initialized to 10000.
- The swapfile can be disabled per buffer with |'swapfile'|.
+ The swapfile can be disabled per buffer with 'swapfile'.
When 'updatecount' is set from zero to non-zero, swap files are
created for all buffers that have 'swapfile' set. When 'updatecount'
is set to zero, existing swap files are not deleted.
- Also see |'swapsync'|.
- This option has no meaning in buffers where |'buftype'| is "nofile"
- or "nowrite".
+ Also see 'swapsync'.
+ This option has no meaning in buffers where 'buftype' is "nofile" or
+ "nowrite".
*'updatetime'* *'ut'*
'updatetime' 'ut' number (default 4000)
-*os_390.txt* For Vim version 9.1. Last change: 2019 Dec 07
+*os_390.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Ralf Schandl
- Perl interface (|perl|)
- Hangul input (|hangul|)
- Encryption support (|encryption|)
- - Langmap (|'langmap'|)
+ - Langmap ('langmap')
- Python support (|Python|)
- - Right-to-left mode (|'rightleft'|)
+ - Right-to-left mode ('rightleft')
- TCL interface (|tcl|)
...
-*os_dos.txt* For Vim version 9.1. Last change: 2024 Dec 25
+*os_dos.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
set the color used in five modes with nine terminal options. Note that this
is not necessary since you can set the color directly with the ":highlight"
command; these options are for backward compatibility with older Vim versions.
-The |'highlight'| option specifies which of the five modes is used for which
+The 'highlight' option specifies which of the five modes is used for which
action. >
:set t_mr=^V^[\|xxm start of invert mode
Vim sets 'fileformat' automatically when 'fileformats' is not empty (which is
the default), so you don't really have to worry about what you are doing.
- |'fileformat'| |'fileformats'|
+ 'fileformat' 'fileformats'
If you want to edit a script file or a binary file, you should set the
'binary' option before loading the file. Script files and binary files may
"cmd.exe" on Windows NT. If SHELL is defined, Vim uses SHELL instead, and if
SHELL is not defined but COMSPEC is, Vim uses COMSPEC. Vim starts external
commands with "<shell> /c <command_name>". Typing CTRL-Z starts a new command
-subshell. Return to Vim with "exit". |'shell'| |CTRL-Z|
+subshell. Return to Vim with "exit". 'shell' |CTRL-Z|
If you are running a third-party shell, you may need to set the
-|'shellcmdflag'| ('shcf') and |'shellquote'| ('shq') or |'shellxquote'|
+'shellcmdflag' ('shcf') and 'shellquote' ('shq') or 'shellxquote'
('sxq') options. Unfortunately, this also depends on the version of Vim used.
For example, with the MKS Korn shell or with bash, the values of the options
should be:
-*os_mac.txt* For Vim version 9.1. Last change: 2024 Nov 14
+*os_mac.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar et al.
On older systems files starting with a dot "." are discouraged, thus the rc
files are named "vimrc" or "_vimrc" and "gvimrc" or "_gvimrc". These files
can be in any format (mac, dos or unix). Vim can handle any file format when
-the |'nocompatible'| option is set, otherwise it will only handle mac format
+the 'nocompatible' option is set, otherwise it will only handle mac format
files.
==============================================================================
-*os_qnx.txt* For Vim version 9.1. Last change: 2005 Mar 29
+*os_qnx.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Julian Kinraid
Vim has support for the mouse and clipboard in a pterm, if those options
are compiled in, which they are normally.
-The options that affect mouse support are |'mouse'| and |'ttymouse'|. When
-using the mouse, only simple left and right mouse clicking/dragging is
-supported. If you hold down shift, ctrl, or alt while using the mouse, pterm
-will handle the mouse itself. It will make a selection, separate from what
-vim's doing.
+The options that affect mouse support are 'mouse' and 'ttymouse'. When using
+the mouse, only simple left and right mouse clicking/dragging is supported.
+If you hold down shift, ctrl, or alt while using the mouse, pterm will handle
+the mouse itself. It will make a selection, separate from what vim's doing.
When the mouse is in use, you can press Alt-RightMouse to open the pterm menu.
To turn the mouse off in vim, set the mouse option to nothing, set mouse=
Supported features:
:browse command |:browse|
:confirm command |:confirm|
- Cursor blinking |'guicursor'|
+ Cursor blinking 'guicursor'
Menus, popup menus and menu priorities |:menu|
|popup-menu|
|menu-priority|
Toolbar |gui-toolbar|
- |'toolbar'|
+ 'toolbar'
Font selector (:set guifont=*) |photon-fonts|
- Mouse focus |'mousefocus'|
- Mouse hide |'mousehide'|
- Mouse cursor shapes |'mouseshape'|
+ Mouse focus 'mousefocus'
+ Mouse hide 'mousehide'
+ Mouse cursor shapes 'mouseshape'
Clipboard |gui-clipboard|
Unfinished features:
-*os_win32.txt* For Vim version 9.1. Last change: 2024 May 11
+*os_win32.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by George Reilly
When 'restorescreen' is set (which is the default), Vim will restore the
original contents of the console when exiting or when executing external
-commands. If you don't want this, use ":set nors". |'restorescreen'|
+commands. If you don't want this, use ":set nors". 'restorescreen'
==============================================================================
4. Using the mouse *win32-mouse*
protection bits are set like the original file. However, this doesn't work
properly when working on an NFS-mounted file system where links and other
things exist. The only way to fix this in the current version is not
- making a backup file, by ":set nobackup nowritebackup" |'writebackup'|
+ making a backup file, by ":set nobackup nowritebackup" 'writebackup'
Q. I'm using Vim to edit a file on a Unix file server through Samba. When I
write the file, the owner of the file is changed. Why?
should use this flag only if the application you run doesn't require any
input. Otherwise it will get an EOF error because its input stream
(stdin) would be redirected to \\.\NUL (stdout and stderr too).
- 3) Set the '!' flag in the 'guioptions' option |'go-!'|. This will make Vim
+ 3) Set the '!' flag in the 'guioptions' option 'go-!'. This will make Vim
run the "start" command inside Vims terminal window and not open a
console window.
-*pattern.txt* For Vim version 9.1. Last change: 2025 Jul 10
+*pattern.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
* Search forward for the [count]'th occurrence of the
word nearest to the cursor. The word used for the
search is the first of:
- 1. the keyword under the cursor |'iskeyword'|
+ 1. the keyword under the cursor 'iskeyword'
2. the first keyword after the cursor, in the
current line
3. the non-blank word under the cursor
set nocp " 'compatible' is not set
filetype plugin on " plugins are enabled
<
-(see |'cp'| and |:filetype-plugin-on|)
+(see 'cp' and |:filetype-plugin-on|)
Netrw supports "transparent" editing of files on other machines using urls
(see |netrw-transparent|). As an example of this, let's assume you have an
5. Activation *netrw-activate* {{{1
Network-oriented file transfers are available by default whenever Vim's
-|'nocompatible'| mode is enabled. Netrw's script files reside in your
+'nocompatible' mode is enabled. Netrw's script files reside in your
system's plugin, autoload, and syntax directories; just the
plugin/netrwPlugin.vim script is sourced automatically whenever you bring up
vim. The main script in autoload/netrw.vim is only loaded when you actually
invoked in the session).
The file ".netrwbook" holds bookmarks when netrw (and vim) is not active. By
-default, its stored on the first directory on the user's |'runtimepath'|.
+default, its stored on the first directory on the user's 'runtimepath'.
Related Topics:
|netrw-gb| how to return (go) to a bookmark
See |g:netrw_dirhistmax| for how to control the quantity of history stack
slots. The file ".netrwhist" holds history when netrw (and vim) is not
active. By default, its stored on the first directory on the user's
-|'runtimepath'|.
+'runtimepath'.
Related Topics:
|netrw-U| changing to a successor directory
*netrw-:Explore*
:Explore will open the local-directory browser on the current file's
directory (or on directory [dir] if specified). The window will be
- split only if the file has been modified and |'hidden'| is not set,
+ split only if the file has been modified and 'hidden' is not set,
otherwise the browsing window will take over that window. Normally
the splitting is taken horizontally.
Also see: |netrw-:Rexplore|
*g:netrw_alto* change from above splitting to below splitting
by setting this variable (see |netrw-o|)
- default: =&sb (see |'sb'|)
+ default: =&sb (see 'sb')
*g:netrw_altv* change from left splitting to right splitting
by setting this variable (see |netrw-v|)
- default: =&spr (see |'spr'|)
+ default: =&spr (see 'spr')
*g:netrw_banner* enable/suppress the banner
=0: suppress the banner
*g:netrw_cursor* = 2 (default)
This option controls the use of the
- |'cursorline'| (cul) and |'cursorcolumn'|
+ 'cursorline' (cul) and 'cursorcolumn'
(cuc) settings by netrw:
Value Thin-Long-Tree Wide
=8 cul U-cuc cul cuc
Where
- u-cul : user's |'cursorline'| initial setting used
- u-cuc : user's |'cursorcolumn'| initial setting used
- U-cul : user's |'cursorline'| current setting used
- U-cuc : user's |'cursorcolumn'| current setting used
- cul : |'cursorline'| will be locally set
- cuc : |'cursorcolumn'| will be locally set
+ u-cul : user's 'cursorline' initial setting used
+ u-cuc : user's 'cursorcolumn' initial setting used
+ U-cul : user's 'cursorline' current setting used
+ U-cuc : user's 'cursorcolumn' current setting used
+ cul : 'cursorline' will be locally set
+ cuc : 'cursorcolumn' will be locally set
The "initial setting" means the values of
- the |'cuc'| and |'cul'| settings in effect when
+ the 'cuc' and 'cul' settings in effect when
netrw last saw |g:netrw_cursor| >= 5 or when
netrw was initially run.
*g:netrw_ffkeep* (default: doesn't exist)
If this variable exists and is zero, then
netrw will not do a save and restore for
- |'fileformat'|.
+ 'fileformat'.
*g:netrw_fname_escape* =' ?&;%'
Used on filenames before remote reading/writing
.netrwhist).
Netrw uses |expand()|on the string.
default: the first directory on the
- |'runtimepath'|
+ 'runtimepath'
*g:netrw_keepdir* =1 (default) keep current directory immune from
the browsing directory.
netrwYacc : *.y
In addition, those groups mentioned in
- |'suffixes'| are also added to the special
+ 'suffixes' are also added to the special
file highlighting group.
These syntax highlighting groups are linked
to netrwGray or Folded by default
used to specify the quantity of lines or
columns for the new window.
If g:netrw_winsize is zero, then a normal
- split will be made (ie. |'equalalways'| will
+ split will be made (ie. 'equalalways' will
take effect, for example).
default: 50 (for 50%)
codepoint; a hard tab is one; wide and
narrow CJK are one each; etc.)
=3: virtual length (counting tabs as anything
- between 1 and |'tabstop'|, wide CJK as 2
+ between 1 and 'tabstop', wide CJK as 2
rather than 1, Arabic alif as zero when
immediately preceded by lam, one
otherwise, etc)
Related: if you like this idea, you may also find :Lexplore
(|netrw-:Lexplore|) or |g:netrw_chgwin| of interest
-Also see: |g:netrw_chgwin| |netrw-P| |'previewwindow'| |CTRL-W_z| |:pclose|
+Also see: |g:netrw_chgwin| |netrw-P| 'previewwindow' |CTRL-W_z| |:pclose|
PREVIOUS WINDOW *netrw-P* *netrw-prvwin* {{{2
not by netrw, and there appears to be no way to work around
it. Coupled with the default cmdheight of 1, this message
causes the "Press ENTER..." prompt. So: read |hit-enter|;
- I also suggest that you set your |'cmdheight'| to 2 (or more) in
+ I also suggest that you set your 'cmdheight' to 2 (or more) in
your <.vimrc> file.
*netrw-p10*
I expect both buffers to exist, but only the last one does.
(Lance) Problem is caused by "set autochdir" in .vimrc.
- (drchip) I am able to duplicate this problem with |'acd'| set.
+ (drchip) I am able to duplicate this problem with 'acd' set.
It appears that the buffers are not exactly closed;
a ":ls!" will show them (although ":ls" does not).
-*pi_tar.txt* For Vim version 9.1. Last change: 2025 Jul 15
+*pi_tar.txt* For Vim version 9.1. Last change: 2025 Aug 06
+====================+
| Tar File Interface |
:Vimuntar [vimhome]
This command copies, if necessary, the tarball to the .vim or vimfiles
- directory using the first writable directory in the |'runtimepath'|
- when no [vimhome] is specified. Otherwise, the [vimhome] argument
- allows the user to specify that directory, instead.
+ directory using the first writable directory in the 'runtimepath' when
+ no [vimhome] is specified. Otherwise, the [vimhome] argument allows
+ the user to specify that directory, instead.
The copy is done using the command in *g:tar_copycmd* , which is >
cp for cygwin, unix, macunix
-*pi_vimball.txt* For Vim version 9.1. Last change: 2016 Apr 11
+*pi_vimball.txt* For Vim version 9.1. Last change: 2025 Aug 06
----------------
Vimball Archiver
:RmVimball someplugin
< This operation is not at all easy for zips and tarballs, for example.
- Vimball examines the user's |'runtimepath'| to determine where to put
+ Vimball examines the user's 'runtimepath' to determine where to put
the scripts. The first directory mentioned on the runtimepath is
usually used if possible. Use >
:echo &rtp
The range is composed of lines holding paths to files to be included
in your new vimball, omitting the portion of the paths that is
- normally specified by the runtimepath (|'rtp'|). As an example: >
+ normally specified by the runtimepath ('rtp'). As an example: >
plugin/something.vim
doc/something.txt
< using >
"filename.vba" file already exists, then MkVimball will issue a
warning and not create the file. Note that these paths are relative
to your .vim (vimfiles) directory, and the files should be in that
- directory. The vimball plugin normally uses the first |'runtimepath'|
+ directory. The vimball plugin normally uses the first 'runtimepath'
directory that exists as a prefix; don't use absolute paths, unless
the user has specified such a path.
CONTROLLING THE VIMBALL EXTRACTION DIRECTORY *g:vimball_home*
- You may override the use of the |'runtimepath'| by specifying a
+ You may override the use of the 'runtimepath' by specifying a
variable, g:vimball_home.
*vimball-extract*
vimball. One may choose to execute it by hand instead of sourcing
the vimball; one may also choose to specify a path for the
installation, thereby overriding the automatic choice of the first
- existing directory on the |'runtimepath'|.
+ existing directory on the 'runtimepath'.
REMOVING A VIMBALL *:RmVimball*
This command removes all files generated by the specified vimball
(but not any directories it may have made). One may choose a path
- for de-installation, too (see |'runtimepath'|); otherwise, the
- default is the first existing directory on the |'runtimepath'|.
+ for de-installation, too (see 'runtimepath'); otherwise, the default
+ is the first existing directory on the 'runtimepath'.
To implement this, a file (.VimballRecord) is made in that directory
containing a record of what files need to be removed for all vimballs
used thus far.
prepending the current directory to it.
33 : Apr 02, 2011 * Gave priority to *.vmb over *.vba
* Changed silent! to sil! (shorter)
- * Safed |'swf'| setting (during vimball extraction,
+ * Safed 'swf' setting (during vimball extraction,
its now turned off)
32 : May 19, 2010 * (Christian Brabrandt) :so someplugin.vba and
:so someplugin.vba.gz (and the other supported
14 : May 26, 2006 * bugfixes
13 : May 01, 2006 * exists("&acd") used to determine if the acd
option exists
- 12 : May 01, 2006 * bugfix - the |'acd'| option is not always defined
+ 12 : May 01, 2006 * bugfix - the 'acd' option is not always defined
11 : Apr 27, 2006 * VimballList would create missing subdirectories that
the vimball specified were needed. Fixed.
10 : Apr 27, 2006 * moved all setting saving/restoration to a pair of
-*quickfix.txt* For Vim version 9.1. Last change: 2025 Apr 06
+*quickfix.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
{pattern} is a Vim search pattern. Instead of
enclosing it in / any non-ID character (see
- |'isident'|) can be used, so long as it does not
- appear in {pattern}.
+ 'isident') can be used, so long as it does not appear
+ in {pattern}.
'ignorecase' applies. To overrule it put |/\c| in the
pattern to ignore case or |/\C| to match case.
'smartcase' is not used.
------------------------------------------------------------------------------
*Q_fo* Folding
-|'foldmethod'| set foldmethod=manual manual folding
+'foldmethod' set foldmethod=manual manual folding
set foldmethod=indent folding by indent
set foldmethod=expr folding by 'foldexpr'
set foldmethod=syntax folding by syntax regions
-*spell.txt* For Vim version 9.1. Last change: 2024 Oct 05
+*spell.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
CTRL-N to use the next suggestion, CTRL-P to go back. |i_CTRL-X_s|
The 'spellsuggest' option influences how the list of suggestions is generated
-and sorted. See |'spellsuggest'|.
+and sorted. See 'spellsuggest'.
The 'spellcapcheck' option is used to check the first word of a sentence
starts with a capital. This doesn't work for the first word in the file.
-*starting.txt* For Vim version 9.1. Last change: 2025 Jun 28
+*starting.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
Using the "-u" argument with another argument than DEFAULTS
has the side effect that the 'compatible' option will be on by
default. This can have unexpected effects. See
- |'compatible'|.
+ 'compatible'.
*-U* *E230*
-U {gvimrc} The file {gvimrc} is read for initializations when the GUI
You need to escape special characters, esp. spaces.
Note that when you create a .vimrc file, this can influence the 'compatible'
-option, which has several side effects. See |'compatible'|.
+option, which has several side effects. See 'compatible'.
":mkvimrc", ":mkexrc" and ":mksession" write the command to set or reset the
'compatible' option to the output file first, because of these side effects.
is not set, "$VIM\_viminfo" is used. When $VIM is also not set,
"c:\_viminfo" is used.
- The 'n' flag in the 'viminfo' option can be used to specify another viminfo
- file name |'viminfo'|.
+ file name 'viminfo'.
- The "-i" Vim argument can be used to set another file name, |-i|. When the
file name given is "NONE" (all uppercase), no viminfo file is ever read or
written. Also not for the commands below!
-*syntax.txt* For Vim version 9.1. Last change: 2025 Jul 20
+*syntax.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
are in the "/usr/vim/vim82/syntax" directory, set $VIMRUNTIME to
"/usr/vim/vim82". You must do this in the shell, before starting Vim.
This command also sources the |menu.vim| script when the GUI is running or
-will start soon. See |'go-M'| about avoiding that.
+will start soon. See 'go-M' about avoiding that.
*:syn-on* *:syntax-on*
The `:syntax enable` command will keep most of your current color settings.
colorization levels, unlike non-rainbow highlighting, the rainbow mode
specifies its highlighting using ctermfg and guifg, thereby bypassing the
usual color scheme control using standard highlighting groups. The actual
-highlighting used depends on the dark/bright setting (see |'bg'|).
+highlighting used depends on the dark/bright setting (see 'bg').
LITE *lite.vim* *ft-lite-syntax*
*tex-cchar* *tex-cole* *tex-conceal*
Tex: Taking Advantage of Conceal Mode~
-If you have |'conceallevel'| set to 2 and if your encoding is utf-8, then a
+If you have 'conceallevel' set to 2 and if your encoding is utf-8, then a
number of character sequences can be translated into appropriate utf-8 glyphs,
including various accented characters, Greek characters in MathZones, and
superscripts and subscripts in MathZones. Not all characters can be made into
In fact, only a few characters are supported as subscripts.
One way to use this is to have vertically split windows (see |CTRL-W_v|); one
-with |'conceallevel'| at 0 and the other at 2; and both using |'scrollbind'|.
+with 'conceallevel' at 0 and the other at 2; and both using 'scrollbind'.
*g:tex_conceal*
Tex: Selective Conceal Mode~
Add a highlight group, or change the highlighting for
an existing group. If a given color name is not
recognized, each `colors/lists/default.vim` found on
- |'runtimepath'| will be loaded.
+ 'runtimepath' will be loaded.
See |highlight-args| for the {key}={arg} arguments.
See |:highlight-default| for the optional [default]
argument.
-*tabpage.txt* For Vim version 9.1. Last change: 2025 Jul 20
+*tabpage.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
only one tab page.
Using the mouse: If the tab page line is displayed you can click in the "X" at
-the top right to close the current tab page. A custom |'tabline'| may show
+the top right to close the current tab page. A custom 'tabline' may show
something else.
*:tabc* *:tabclose*
Using the mouse: If the tab page line is displayed you can click in a tab page
label to switch to that tab page. Click where there is no label to go to the
-next tab page. |'tabline'|
+next tab page. 'tabline'
:tabn[ext] *:tabn* *:tabnext* *gt*
<C-PageDown> *CTRL-<PageDown>* *<C-PageDown>*
-*term.txt* For Vim version 9.1. Last change: 2024 Dec 31
+*term.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
t_RV request terminal version string (works for *t_RV* *'t_RV'*
xterm and other terminal emulators) The
response is stored in |v:termresponse| |xterm-8bit|
- |'ttymouse'| |xterm-codes|
+ 'ttymouse' |xterm-codes|
t_XM enable/disable mouse reporting, *t_XM* *'t_XM'*
see |mouse-reporting| below
t_RK request terminal keyboard protocol state; *t_RK* *'t_RK'*
sent after |t_TI|
t_u7 request cursor position (for xterm) *t_u7* *'t_u7'*
- see |'ambiwidth'|
+ see 'ambiwidth'
The response is stored in |v:termu7resp|
t_RF request terminal foreground color *t_RF* *'t_RF'*
The response is stored in |v:termrfgresp|
*xterm-copy-paste*
NOTE: In some (older) xterms, it's not possible to move the cursor past column
95 or 223. This is an xterm problem, not Vim's. Get a newer xterm
-|color-xterm|. Also see |'ttymouse'|.
+|color-xterm|. Also see 'ttymouse'.
Copy/paste in xterm with (current mode NOT included in 'mouse'):
1. Press left mouse button on first letter of text, move mouse pointer to last
-*todo.txt* For Vim version 9.1. Last change: 2025 Jul 21
+*todo.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
*'autosave'* *'as'* *'noautosave'* *'noas'*
'autosave' 'as' number (default 0)
Automatically write the current buffer to file N seconds after the
- last change has been made and when |'modified'| is still set.
+ last change has been made and when 'modified' is still set.
Default: 0 = do not autosave the buffer.
Alternative: have 'autosave' use 'updatetime' and 'updatecount' but make
them save the file itself besides the swapfile.
-*userfunc.txt* For Vim version 9.1. Last change: 2023 May 23
+*userfunc.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
being exported.
*E132*
-The recursiveness of user functions is restricted with the |'maxfuncdepth'|
+The recursiveness of user functions is restricted with the 'maxfuncdepth'
option.
It is also possible to use `:eval`. It does not support a range, but does
-*usr_06.txt* For Vim version 9.1. Last change: 2024 Oct 05
+*usr_06.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM USER MANUAL - by Bram Moolenaar
As a color scheme author, you should be able to rely on some color names for
GUI colors. These are defined in `colors/lists/default.vim`. All such files
-found on the |'runtimepath'| are loaded each time the colorscheme command is
+found on the 'runtimepath' are loaded each time the colorscheme command is
run. A canonical list is provided by the vim distribution, which should
include all X11 colors (previously defined in rgb.txt).
-*various.txt* For Vim version 9.1. Last change: 2025 Jun 28
+*various.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
:redr[aw][!] Redraw the screen right now. When ! is included it is
cleared first.
It can be used to redraw the screen in a script
- or function (or a mapping if |'lazyredraw'| is set).
+ or function (or a mapping if 'lazyredraw' is set).
*:redraws* *:redrawstatus*
:redraws[tatus][!] Redraw the status line of the current window. When !
N *+byte_offset* support for 'o' flag in 'statusline' option, "go"
and ":goto" commands.
m *+channel* inter process communication |channel|
-T *+cindent* |'cindent'|, C indenting; Always enabled
+T *+cindent* 'cindent', C indenting; Always enabled
N *+clientserver* Unix and Win32: Remote invocation |clientserver|
*+clipboard* |clipboard| support compiled-in
*+clipboard_working* |clipboard| support compiled-in and working
T *+cmdline_compl* command line completion |cmdline-completion|
T *+cmdline_hist* command line history |cmdline-history|
-T *+cmdline_info* |'showcmd'| and |'ruler'|; Always enabled since
+T *+cmdline_info* 'showcmd' and 'ruler'; Always enabled since
9.0.0747
T *+cmdwin* |cmdline-window| support; Always enabled since 9.0.0657
-T *+comments* |'comments'| support
+T *+comments* 'comments' support
N *+conceal* "conceal" support, see |conceal| |:syn-conceal| etc.
N *+cryptv* encryption support |encryption|
H *+cscope* |cscope| support
-T *+cursorbind* |'cursorbind'| support
+T *+cursorbind* 'cursorbind' support
m *+cursorshape* |termcap-cursor-shape| support
m *+debug* Compiled for debugging.
N *+dialog_gui* Support for |:confirm| with GUI dialog.
N *+dialog_con_gui* Support for |:confirm| with GUI and console dialog.
N *+diff* |vimdiff| and 'diff'
N *+digraphs* |digraphs| *E196*
- *+directx* Win32 GUI only: DirectX and |'renderoptions'|
+ *+directx* Win32 GUI only: DirectX and 'renderoptions'
*+dnd* Support for DnD into the "~ register |quote_~|.
H *+emacs_tags* |emacs-tags| files
N *+eval* expression evaluation |eval.txt|
T *+ex_extra* always on now, used to be for Vim's extra Ex commands
-N *+extra_search* |'hlsearch'| and |'incsearch'| options.
+N *+extra_search* 'hlsearch' and 'incsearch' options.
- *+farsi* Removed: |farsi| language
T *+file_in_path* |gf|, |CTRL-W_f| and |<cfile>| Always enabled since
9.0.265
m *+ipv6* Support for IPv6 networking |channel|
m *+job* starting and stopping jobs |job|
T *+jumplist* |jumplist|; Always enabled since 8.2.3795
-H *+keymap* |'keymap'|
+H *+keymap* 'keymap'
N *+lambda* |lambda| and |closure|
-H *+langmap* |'langmap'|
+H *+langmap* 'langmap'
N *+libcall* |libcall()|
-N *+linebreak* |'linebreak'|, |'breakat'| and |'showbreak'|
-T *+lispindent* |'lisp'|
+N *+linebreak* 'linebreak', 'breakat' and 'showbreak'
+T *+lispindent* 'lisp'
T *+listcmds* Vim commands for the list of buffers |buffer-hidden|
and argument list |:argdelete|
T *+localmap* Support for mappings local to a buffer |:map-local|
N *+mksession* |:mksession|
T *+modify_fname* |filename-modifiers|
T *+mouse* Mouse handling |mouse-using|
-N *+mouseshape* |'mouseshape'|
+N *+mouseshape* 'mouseshape'
N *+mouse_dec* Unix only: Dec terminal mouse handling |dec-mouse|
N *+mouse_gpm* Unix only: Linux console mouse handling |gpm-mouse|
m *+mouse_gpm/dyn* Same as |+mouse_gpm| with optional library dependency
N *+quickfix* |:make| and |quickfix| commands
N *+reltime* |reltime()| function, 'hlsearch'/'incsearch' timeout,
'redrawtime' option
-H *+rightleft* Right to left typing |'rightleft'|
+H *+rightleft* Right to left typing 'rightleft'
m *+ruby* Ruby interface |ruby|
m *+ruby/dyn* Ruby interface |ruby-dynamic| |/dyn|
-T *+scrollbind* |'scrollbind'|
+T *+scrollbind* 'scrollbind'
N *+signs* |:sign|
-T *+smartindent* |'smartindent'|
+T *+smartindent* 'smartindent'
H *+sodium* compiled with libsodium for better encryption support
H *+sound* |sound_playevent()|, |sound_playfile()| functions, etc.
N *+spell* spell checking support, see |spell|
N *+toolbar* |gui-toolbar|
T *+user_commands* User-defined commands. |user-commands|
Always enabled since 8.1.1210.
-H *+vartabs* Variable-width tab stops. |'vartabstop'|
+H *+vartabs* Variable-width tab stops. 'vartabstop'
T *+vertsplit* Vertically split windows |:vsplit|; Always enabled
since 8.0.1118.
T *+vim9script* |Vim9| script
-N *+viminfo* |'viminfo'|
-T *+virtualedit* |'virtualedit'| Always enabled since 8.1.826.
+N *+viminfo* 'viminfo'
+T *+virtualedit* 'virtualedit' Always enabled since 8.1.826.
T *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
T *+visualextra* extra Visual mode commands |blockwise-operators|
T *+vreplace* |gR| and |gr|
*+vtp* on MS-Windows console: support for 'termguicolors'
N *+wayland* Unix only: support for the Wayland protocol.
N *+wayland_clipboard* Unix only: support for Wayland selections/clipboard.
-T *+wildignore* |'wildignore'| Always enabled since 9.0.0278
-T *+wildmenu* |'wildmenu'| Always enabled since 9.0.0279
+T *+wildignore* 'wildignore' Always enabled since 9.0.0278
+T *+wildmenu* 'wildmenu' Always enabled since 9.0.0279
T *+windows* more than one window; Always enabled since 8.0.1118.
-m *+writebackup* |'writebackup'| is default on
+m *+writebackup* 'writebackup' is default on
m *+xim* X input method |xim|
*+xfontset* X fontset support |xfontset|
N *+xattr* compiled with extended attribute support (Linux only)
to lines that do NOT match {pattern}.
{pattern} is a Vim search pattern. Instead of enclosing
- it in / any non-ID character (see |'isident'|) can be
+ it in / any non-ID character (see 'isident') can be
used, so long as it does not appear in {pattern}.
Without the enclosing character the pattern cannot
include the bar character. 'ignorecase' is not used.
-*version4.txt* For Vim version 9.1. Last change: 2006 Apr 24
+*version4.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
successfully finished, the backup file is deleted. If you want to keep the
backup file, set 'backup' on in your vimrc. The reason for this change is
that many people complained that leaving a backup file behind is not
-Vi-compatible. |'backup'|
+Vi-compatible. 'backup'
Extension for backup file changed *backup-extension*
The key names in <> can be used in mappings directly. This makes it possible
to copy/paste examples or type them literally. The <> notation has been
introduced for this |<>|. The 'B' and '<' flags must not be present in
-'cpoptions' to enable this to work |'cpoptions'|.
+'cpoptions' to enable this to work 'cpoptions'.
old name new name old code old MS-DOS code ~
hex dec hex dec ~
display directly on the screen. Now the 'isprint' option takes care of this
with many more possibilities. The default setting is the same; you only need
to look into this if you previously set the 'graphic' option in your vimrc.
- |'isprint'|
+ 'isprint'
'yankendofline' option gone *ye-option-gone*
The 'title' option is now only set by default if the original title can be
restored. Avoids "Thanks for flying Vim" titles. If you want them anyway,
-put ":set title" in your vimrc. |'title'|
+put ":set title" in your vimrc. 'title'
The default for 'icon' now depends on the possibility of restoring the
original value, just like 'title'. If you don't like your icon titles to be
-changed, add this line to your vimrc: |'icon'|
+changed, add this line to your vimrc: 'icon'
:set noicon
The 'i' flag now means italic highlighting, instead of invert. The 'r' flag
is used for reverse highlighting, which is what 'i' used to be. Normally you
won't see the difference, because italic mode is not supported on most
-terminals and reverse mode is used as a fallback. |'highlight'|
+terminals and reverse mode is used as a fallback. 'highlight'
When an occasion is not present in 'highlight', use the mode from the default
value for 'highlight', instead of reverse mode.
'tildeop' and 'weirdinvert' short names changed *short-name-changed*
-----------------------------------------------
-Renamed 'to' (abbreviation for 'tildeop') to 'top'. |'tildeop'|
-Renamed 'wi' (abbreviation for 'weirdinvert') to 'wiv'. |'weirdinvert'|
+Renamed 'to' (abbreviation for 'tildeop') to 'top'. 'tildeop'
+Renamed 'wi' (abbreviation for 'weirdinvert') to 'wiv'. 'weirdinvert'
This was done because Vi uses 'wi' as the short name for 'window' and 'to' as
the short name for 'timeout'. This means that if you try setting these
CTRL-B in Insert mode used to toggle the 'revins' option. If you don't know
this and accidentally hit CTRL-B, it is very difficult to find out how to undo
it. Since hardly anybody uses this feature, it is disabled by default. If
-you want to use it, define RIGHTLEFT in feature.h before compiling. |'revins'|
+you want to use it, define RIGHTLEFT in feature.h before compiling. 'revins'
vim:tw=78:ts=8:noet:ft=help:norl:
-*vi_diff.txt* For Vim version 9.1. Last change: 2025 Jun 10
+*vi_diff.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
==============================================================================
4. The most interesting additions *vim-additions*
-Vi compatibility. |'compatible'|
+Vi compatibility. 'compatible'
Although Vim is 99% Vi compatible, some things in Vi can be
considered to be a bug, or at least need improvement. But still, Vim
starts in a mode which behaves like the "real" Vi as much as possible.
this is using a |:colorscheme| command.
The highlighted text can be exported as HTML. |convert-to-HTML|
Other items that can be highlighted are matches with the search string
- |'hlsearch'|, matching parens |matchparen| and the cursor line and
- column |'cursorline'| |'cursorcolumn'|.
+ 'hlsearch', matching parens |matchparen| and the cursor line and
+ column 'cursorline' 'cursorcolumn'.
Text properties |textprop.txt|
Vim supports highlighting text by a plugin. Property types can be
|i_CTRL-X_CTRL-R| contents from registers
etc.
-Long line support. |'wrap'| |'linebreak'|
+Long line support. 'wrap' 'linebreak'
If the 'wrap' option is off, long lines will not wrap and only part
of them will be shown. When the cursor is moved to a part that is not
shown, the screen will scroll horizontally. The minimum number of
advanced Vim regexp pattern, works on all systems and also works to
search in compressed files.
-Improved indenting for programs. |'cindent'|
+Improved indenting for programs. 'cindent'
When the 'cindent' option is on the indent of each line is
automatically adjusted. C syntax is mostly recognized. The indent
for various styles can be set with 'cinoptions'. The keys to trigger
executable file, without corrupting it. Vim doesn't remove NUL
characters (they are represented as <NL> internally).
|-b| command-line argument to start editing a binary file
- |'binary'| Option set by |-b|. Prevents adding an <EOL> for the
+ 'binary' Option set by |-b|. Prevents adding an <EOL> for the
last line in the file.
Multi-language support. |multi-lang|
Vim is able to work correctly on filesystems with 8.3 file names, also when
using messydos or crossdos filesystems on the Amiga, or any 8.3 mounted
-filesystem under Unix. See |'shortname'|.
+filesystem under Unix. See 'shortname'.
Error messages are shown at least one second (Vi overwrites error messages).
-*vietnamese.txt* For Vim version 9.1. Last change: 2024 Dec 04
+*vietnamese.txt* For Vim version 9.1. Last change: 2025 Aug 06
VIM REFERENCE MANUAL by Phạm Bình An
below >
:set keymap=vietnamese-telex_utf-8
<
-See |'keymap'| for more information.
+See 'keymap' for more information.
In the latter case, you can type Vietnamese even if you do not have a
Vietnamese input method engine (IME) or you want Vim to be independent from a
-system-wide keyboard settings (when |'imdisable'| is set). You can also |:map|
+system-wide keyboard settings (when 'imdisable' is set). You can also |:map|
a key to switch between keyboards.
Vim comes with the following Vietnamese keymaps: