aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc/options.txt
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2023-11-29 22:39:54 +0000
committerJosh Rahm <joshuarahm@gmail.com>2023-11-29 22:39:54 +0000
commit21cb7d04c387e4198ca8098a884c78b56ffcf4c2 (patch)
tree84fe5690df1551f0bb2bdfe1a13aacd29ebc1de7 /runtime/doc/options.txt
parentd9c904f85a23a496df4eb6be42aa43f007b22d50 (diff)
parent4a8bf24ac690004aedf5540fa440e788459e5e34 (diff)
downloadrneovim-colorcolchar.tar.gz
rneovim-colorcolchar.tar.bz2
rneovim-colorcolchar.zip
Merge remote-tracking branch 'upstream/master' into colorcolcharcolorcolchar
Diffstat (limited to 'runtime/doc/options.txt')
-rw-r--r--runtime/doc/options.txt1480
1 files changed, 707 insertions, 773 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 2bdff2fbb2..c6fe18eb04 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -52,14 +52,16 @@ achieve special effects. These options come in three forms:
'lines'
Warning: This may have a lot of side effects.
- *:set-args* *E487* *E521*
+ *:set-args* *:set=* *E487* *E521*
:se[t] {option}={value} or
:se[t] {option}:{value}
Set string or number option to {value}.
For numeric options the value can be given in decimal,
hex (preceded with 0x) or octal (preceded with '0').
The old value can be inserted by typing 'wildchar' (by
- default this is a <Tab>). See |cmdline-completion|.
+ default this is a <Tab>). Many string options with
+ fixed syntax also support completing known values.
+ See |cmdline-completion| and |complete-set-option|.
White space between {option} and '=' is allowed and
will be ignored. White space between '=' and {value}
is not allowed.
@@ -93,6 +95,9 @@ achieve special effects. These options come in three forms:
When the option is a list of flags, {value} must be
exactly as they appear in the option. Remove flags
one by one to avoid problems.
+ The individual values from a comma separated list or
+ list of flags can be inserted by typing 'wildchar'.
+ See |complete-set-option|.
Also see |:set-args| above.
The {option} arguments to ":set" may be repeated. For example: >
@@ -131,10 +136,26 @@ To include white space in a string option value it has to be preceded with a
backslash. To include a backslash you have to use two. Effectively this
means that the number of backslashes in an option value is halved (rounded
down).
+In options 'path', 'cdpath', and 'tags', spaces have to be preceded with three
+backslashes instead because they can be separated by either commas or spaces.
+Comma-separated options like 'backupdir' and 'tags' will also require commas
+to be escaped with two backslashes, whereas this is not needed for
+non-comma-separated ones like 'makeprg'.
+When setting options using |:let| and |literal-string|, you need to use one
+fewer layer of backslash.
A few examples: >
- :set tags=tags\ /usr/tags results in "tags /usr/tags"
- :set tags=tags\\,file results in "tags\,file"
- :set tags=tags\\\ file results in "tags\ file"
+ :set makeprg=make\ file results in "make file"
+ :let &makeprg='make file' (same as above)
+ :set makeprg=make\\\ file results in "make\ file"
+ :set tags=tags\ /usr/tags results in "tags" and "/usr/tags"
+ :set tags=tags\\\ file results in "tags file"
+ :let &tags='tags\ file' (same as above)
+
+ :set makeprg=make,file results in "make,file"
+ :set makeprg=make\\,file results in "make\,file"
+ :set tags=tags,file results in "tags" and "file"
+ :set tags=tags\\,file results in "tags,file"
+ :let &tags='tags\,file' (same as above)
The "|" character separates a ":set" command from a following command. To
include the "|" in the option value, use "\|" instead. This example sets the
@@ -189,6 +210,8 @@ opt+=val" the expansion is done before the adding or removing.
Handling of local options *local-options*
+Note: The following also applies to |global-local| options.
+
Some of the options only apply to a window or buffer. Each window or buffer
has its own copy of this option, thus each can have its own value. This
allows you to set 'list' in one window but not in another. And set
@@ -238,6 +261,30 @@ The options local to a window are remembered for each buffer. This also
happens when the buffer is not loaded, but they are lost when the buffer is
wiped out |:bwipe|.
+Special local window options *local-noglobal*
+
+The following local window options won't be copied over when new windows are
+created, thus they behave slightly differently:
+
+ Option Reason ~
+ 'previewwindow' there can only be a single one
+ 'scroll' specific to existing window
+ 'winfixheight' specific to existing window
+ 'winfixwidth' specific to existing window
+
+Special local buffer options
+
+The following local buffer options won't be copied over when new buffers are
+created, thus they behave slightly differently:
+
+ Option Reason ~
+ 'filetype' explicitly set by autocommands
+ 'syntax' explicitly set by autocommands
+ 'bufhidden' denote |special-buffers|
+ 'buftype' denote |special-buffers|
+ 'readonly' will be detected automatically
+ 'modified' will be detected automatically
+
*:setl* *:setlocal*
:setl[ocal][!] ... Like ":set" but set only the value local to the
current buffer or window. Not all options have a
@@ -311,7 +358,6 @@ used. Thus it does the same as: >
Note: In the future more global options can be made |global-local|. Using
":setlocal" on a global option might work differently then.
-
*option-value-function*
Some options ('completefunc', 'omnifunc', 'operatorfunc', 'quickfixtextfunc',
'tagfunc' and 'thesaurusfunc') are set to a function name or a function
@@ -401,20 +447,15 @@ the system, mostly it is something like 256 or 1024 characters.
==============================================================================
2. Automatically setting options *auto-setting*
-Besides changing options with the ":set" command, there are three alternatives
-to set options automatically for one or more files:
-
-1. When starting Vim initializations are read from various places. See
- |initialization|. Most of them are performed for all editing sessions,
- and some of them depend on the directory where Vim is started.
- You can create an initialization file with |:mkvimrc|, |:mkview| and
- |:mksession|.
-2. If you start editing a new file, the automatic commands are executed.
- This can be used to set options for files matching a particular pattern and
- many other things. See |autocommand|.
-3. If you start editing a new file, and the 'modeline' option is on, a
- number of lines at the beginning and end of the file are checked for
- modelines. This is explained here.
+Besides changing options with the ":set" command, you can set options
+automatically in various ways:
+
+1. With a |config| file or a |startup| argument. You can create an
+ initialization file with |:mkvimrc|, |:mkview| and |:mksession|.
+2. |autocommand|s executed when you edit a file.
+3. ".nvim.lua" files in the current directory, if 'exrc' is enabled.
+4. |editorconfig| in the current buffer's directory or ancestors.
+5. 'modeline' settings found at the beginning or end of the file. See below.
*modeline* *vim:* *vi:* *ex:* *E520*
There are two forms of modelines. The first form:
@@ -580,16 +621,6 @@ supported use something like this: >
*E355*
A jump table for the options with a short description can be found at |Q_op|.
- *'aleph'* *'al'* *aleph* *Aleph*
-'aleph' 'al' number (default 224)
- global
- The ASCII code for the first letter of the Hebrew alphabet. The
- routine that maps the keyboard in Hebrew mode, both in Insert mode
- (when hkmap is set) and on the command-line (when hitting CTRL-_)
- outputs the Hebrew characters in the range [aleph..aleph+26].
- aleph=128 applies to PC code, and aleph=224 applies to ISO 8859-8.
- See |rileft.txt|.
-
*'allowrevins'* *'ari'* *'noallowrevins'* *'noari'*
'allowrevins' 'ari' boolean (default off)
global
@@ -599,7 +630,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'revins'.
*'ambiwidth'* *'ambw'*
-'ambiwidth' 'ambw' string (default: "single")
+'ambiwidth' 'ambw' string (default "single")
global
Tells Vim what to do with characters with East Asian Width Class
Ambiguous (such as Euro, Registered Sign, Copyright Sign, Greek
@@ -632,18 +663,8 @@ A jump table for the options with a short description can be found at |Q_op|.
set to one of CJK locales. See Unicode Standard Annex #11
(https://www.unicode.org/reports/tr11).
- *'autochdir'* *'acd'* *'noautochdir'* *'noacd'*
-'autochdir' 'acd' boolean (default off)
- global
- 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.
-
*'arabic'* *'arab'* *'noarabic'* *'noarab'*
-'arabic' 'arab' boolean (default off)
+'arabic' 'arab' boolean (default off)
local to window
This option can be set to start editing Arabic text.
Setting this option will:
@@ -660,9 +681,8 @@ A jump table for the options with a short description can be found at |Q_op|.
option).
Also see |arabic.txt|.
- *'arabicshape'* *'arshape'*
- *'noarabicshape'* *'noarshape'*
-'arabicshape' 'arshape' boolean (default on)
+ *'arabicshape'* *'arshape'* *'noarabicshape'* *'noarshape'*
+'arabicshape' 'arshape' boolean (default on)
global
When on and 'termbidi' is off, the required visual character
corrections that need to take place for displaying the Arabic language
@@ -677,6 +697,16 @@ A jump table for the options with a short description can be found at |Q_op|.
Arabic is a complex language which requires other settings, for
further details see |arabic.txt|.
+ *'autochdir'* *'acd'* *'noautochdir'* *'noacd'*
+'autochdir' 'acd' boolean (default off)
+ global
+ 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.
+
*'autoindent'* *'ai'* *'noautoindent'* *'noai'*
'autoindent' 'ai' boolean (default on)
local to buffer
@@ -691,13 +721,8 @@ A jump table for the options with a short description can be found at |Q_op|.
line.
When 'smartindent' or 'cindent' is on the indent is changed in
a different way.
- The 'autoindent' option is reset when the 'paste' option is set and
- restored when 'paste' is reset.
- {small difference from Vi: After the indent is deleted when typing
- <Esc> or <CR>, the cursor position when moving up or down is after the
- deleted indent; Vi puts the cursor somewhere in the deleted indent}.
- *'autoread'* *'ar'* *'noautoread'* *'noar'*
+ *'autoread'* *'ar'* *'noautoread'* *'noar'*
'autoread' 'ar' boolean (default on)
global or local to buffer |global-local|
When a file has been detected to have been changed outside of Vim and
@@ -709,7 +734,8 @@ A jump table for the options with a short description can be found at |Q_op|.
using the global value: >
:set autoread<
<
- *'autowrite'* *'aw'* *'noautowrite'* *'noaw'*
+
+ *'autowrite'* *'aw'* *'noautowrite'* *'noaw'*
'autowrite' 'aw' boolean (default off)
global
Write the contents of the file, if it has been modified, on each
@@ -723,8 +749,11 @@ A jump table for the options with a short description can be found at |Q_op|.
'autowriteall' for that.
Some buffers will not be written, specifically when 'buftype' is
"nowrite", "nofile", "terminal" or "prompt".
+ USE WITH CARE: If you make temporary changes to a buffer that you
+ don't want to be saved this option may cause it to be saved anyway.
+ Renaming the buffer with ":file {name}" may help avoid this.
- *'autowriteall'* *'awa'* *'noautowriteall'* *'noawa'*
+ *'autowriteall'* *'awa'* *'noautowriteall'* *'noawa'*
'autowriteall' 'awa' boolean (default off)
global
Like 'autowrite', but also used for commands ":edit", ":enew", ":quit",
@@ -732,7 +761,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Setting this option also implies that Vim behaves like 'autowrite' has
been set.
- *'background'* *'bg'*
+ *'background'* *'bg'*
'background' 'bg' string (default "dark")
global
When set to "dark" or "light", adjusts the default color groups for
@@ -762,7 +791,7 @@ A jump table for the options with a short description can be found at |Q_op|.
option, you must load syntax.vim again to see the result. This can be
done with ":syntax on".
- *'backspace'* *'bs'*
+ *'backspace'* *'bs'*
'backspace' 'bs' string (default "indent,eol,start")
global
Influences the working of <BS>, <Del>, CTRL-W and CTRL-U in Insert
@@ -779,13 +808,6 @@ A jump table for the options with a short description can be found at |Q_op|.
When the value is empty, Vi compatible backspacing is used, none of
the ways mentioned for the items above are possible.
- For backwards compatibility with version 5.4 and earlier:
- value effect ~
- 0 same as ":set backspace=" (Vi compatible)
- 1 same as ":set backspace=indent,eol"
- 2 same as ":set backspace=indent,eol,start"
- 3 same as ":set backspace=indent,eol,nostop"
-
*'backup'* *'bk'* *'nobackup'* *'nobk'*
'backup' 'bk' boolean (default off)
global
@@ -801,7 +823,7 @@ A jump table for the options with a short description can be found at |Q_op|.
oldest version of a file.
*'backupcopy'* *'bkc'*
-'backupcopy' 'bkc' string (default: "auto")
+'backupcopy' 'bkc' string (default "auto")
global or local to buffer |global-local|
When writing a file and a backup is made, this option tells how it's
done. This is a comma-separated list of words.
@@ -897,8 +919,7 @@ A jump table for the options with a short description can be found at |Q_op|.
- Careful with '\' characters, type one before a space, type two to
get one in the option (see |option-backslash|), for example: >
:set bdir=c:\\tmp,\ dir\\,with\\,commas,\\\ dir\ with\ spaces
-< - For backwards compatibility with Vim version 3.0 a '>' at the start
- of the option is removed.
+<
See also 'backup' and 'writebackup' options.
If you want to hide your backup files on Unix, consider this value: >
:set backupdir=./.backup,~/.backup,.,/tmp
@@ -910,7 +931,7 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
- *'backupext'* *'bex'* *E589*
+ *'backupext'* *'bex'* *E589*
'backupext' 'bex' string (default "~")
global
String which is appended to a file name to make the name of the
@@ -918,7 +939,7 @@ A jump table for the options with a short description can be found at |Q_op|.
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; "/\*?[|<>" are illegal.
+ Only normal file name characters can be used; `/\*?[|<>` are illegal.
If you like to keep a lot of backups, you could use a BufWritePre
autocommand to change 'backupext' just before writing the file to
@@ -927,9 +948,9 @@ A jump table for the options with a short description can be found at |Q_op|.
< Use 'backupdir' to put the backup in a different directory.
*'backupskip'* *'bsk'*
-'backupskip' 'bsk' string (default: "$TMPDIR/*,$TMP/*,$TEMP/*"
- Unix: "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*"
- Mac: "/private/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*")
+'backupskip' 'bsk' string (default "$TMPDIR/*,$TMP/*,$TEMP/*"
+ Unix: "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*"
+ Mac: "/private/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*")
global
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
@@ -945,7 +966,7 @@ A jump table for the options with a short description can be found at |Q_op|.
backups if you don't care about losing the file.
Note that environment variables are not expanded. If you want to use
- $HOME you must expand it explicitly, e.g.: >
+ $HOME you must expand it explicitly, e.g.: >vim
:let &backupskip = escape(expand('$HOME'), '\') .. '/tmp/*'
< Note that the default also makes sure that "crontab -e" works (when a
@@ -990,7 +1011,7 @@ A jump table for the options with a short description can be found at |Q_op|.
indicate that an error occurred. It can be silenced by adding the
"error" keyword.
- *'binary'* *'bin'* *'nobinary'* *'nobin'*
+ *'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin' boolean (default off)
local to buffer
This option should be set before editing a binary file. You can also
@@ -1020,7 +1041,7 @@ A jump table for the options with a short description can be found at |Q_op|.
the last line if there is none; this would make the file longer). See
the 'endofline' option.
- *'bomb'* *'nobomb'*
+ *'bomb'* *'nobomb'*
'bomb' boolean (default off)
local to buffer
When writing a file and the following conditions are met, a BOM (Byte
@@ -1046,14 +1067,14 @@ A jump table for the options with a short description can be found at |Q_op|.
break if 'linebreak' is on. Only works for ASCII characters.
*'breakindent'* *'bri'* *'nobreakindent'* *'nobri'*
-'breakindent' 'bri' boolean (default off)
+'breakindent' 'bri' boolean (default off)
local to window
Every wrapped line will continue visually indented (same amount of
space as the beginning of that line), thus preserving horizontal blocks
of text.
- *'breakindentopt'* *'briopt'*
-'breakindentopt' 'briopt' string (default empty)
+ *'breakindentopt'* *'briopt'*
+'breakindentopt' 'briopt' string (default "")
local to window
Settings for 'breakindent'. It can consist of the following optional
items and must be separated by a comma:
@@ -1084,7 +1105,7 @@ A jump table for the options with a short description can be found at |Q_op|.
(default: off)
*'browsedir'* *'bsdir'*
-'browsedir' 'bsdir' string (default: "last")
+'browsedir' 'bsdir' string (default "last")
global
Which directory to use for the file browser:
last Use same directory as with last file browser, where a
@@ -1094,8 +1115,8 @@ A jump table for the options with a short description can be found at |Q_op|.
{path} Use the specified directory
*'bufhidden'* *'bh'*
-'bufhidden' 'bh' string (default: "")
- local to buffer
+'bufhidden' 'bh' string (default "")
+ local to buffer |local-noglobal|
This option specifies what happens when a buffer is no longer
displayed in a window:
<empty> follow the global 'hidden' option
@@ -1117,7 +1138,7 @@ A jump table for the options with a short description can be found at |Q_op|.
special kinds of buffers. See |special-buffers|.
*'buflisted'* *'bl'* *'nobuflisted'* *'nobl'* *E85*
-'buflisted' 'bl' boolean (default: on)
+'buflisted' 'bl' boolean (default on)
local to buffer
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.
@@ -1126,8 +1147,8 @@ A jump table for the options with a short description can be found at |Q_op|.
But not when moving to a buffer with ":buffer".
*'buftype'* *'bt'* *E382*
-'buftype' 'bt' string (default: "")
- local to buffer
+'buftype' 'bt' string (default "")
+ local to buffer |local-noglobal|
The value of this option specifies the type of a buffer:
<empty> normal buffer
acwrite buffer will always be written with |BufWriteCmd|s
@@ -1174,7 +1195,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|FileWriteCmd| or |FileAppendCmd| autocommands.
*'casemap'* *'cmp'*
-'casemap' 'cmp' string (default: "internal,keepascii")
+'casemap' 'cmp' string (default "internal,keepascii")
global
Specifies details about changing the case of letters. It may contain
these words, separated by a comma:
@@ -1186,16 +1207,18 @@ A jump table for the options with a short description can be found at |Q_op|.
case mapping, the current locale is not effective.
This probably only matters for Turkish.
- *'cdhome'* *'cdh'*
-'cdhome' 'cdh' boolean (default: off)
+ *'cdhome'* *'cdh'* *'nocdhome'* *'nocdh'*
+'cdhome' 'cdh' boolean (default off)
global
When on, |:cd|, |:tcd| and |:lcd| without an argument changes the
current working directory to the |$HOME| directory like in Unix.
When off, those commands just print the current directory name.
On Unix this option has no effect.
+ This option cannot be set from a |modeline| or in the |sandbox|, for
+ security reasons.
- *'cdpath'* *'cd'* *E344* *E346*
-'cdpath' 'cd' string (default: equivalent to $CDPATH or ",,")
+ *'cdpath'* *'cd'* *E344* *E346*
+'cdpath' 'cd' string (default equivalent to $CDPATH or ",,")
global
This is a list of directories which will be searched when using the
|:cd|, |:tcd| and |:lcd| commands, provided that the directory being
@@ -1213,8 +1236,8 @@ A jump table for the options with a short description can be found at |Q_op|.
security reasons.
(parts of 'cdpath' can be passed to the shell to expand file names).
- *'cedit'*
-'cedit' string (default: CTRL-F)
+ *'cedit'*
+'cedit' string (default CTRL-F)
global
The key used in Command-line Mode to open the command-line window.
Only non-printable keys are allowed.
@@ -1225,15 +1248,15 @@ A jump table for the options with a short description can be found at |Q_op|.
< |Nvi| also has this option, but it only uses the first character.
See |cmdwin|.
- *'channel'*
-'channel' number (default: 0)
+ *'channel'*
+'channel' number (default 0)
local to buffer
|channel| connected to the buffer, or 0 if no channel is connected.
In a |:terminal| buffer this is the terminal channel.
Read-only.
*'charconvert'* *'ccv'* *E202* *E214* *E513*
-'charconvert' 'ccv' string (default "")
+'charconvert' 'ccv' string (default "")
global
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
@@ -1268,7 +1291,7 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
- *'cindent'* *'cin'* *'nocindent'* *'nocin'*
+ *'cindent'* *'cin'* *'nocindent'* *'nocin'*
'cindent' 'cin' boolean (default off)
local to buffer
Enables automatic C program indenting. See 'cinkeys' to set the keys
@@ -1281,9 +1304,8 @@ A jump table for the options with a short description can be found at |Q_op|.
See |C-indenting|.
When you don't like the way 'cindent' works, try the 'smartindent'
option or 'indentexpr'.
- This option is not used when 'paste' is set.
- *'cinkeys'* *'cink'*
+ *'cinkeys'* *'cink'*
'cinkeys' 'cink' string (default "0{,0},0),0],:,0#,!^F,o,O,e")
local to buffer
A list of keys that, when typed in Insert mode, cause reindenting of
@@ -1299,6 +1321,14 @@ A jump table for the options with a short description can be found at |Q_op|.
program. See |cinoptions-values| for the values of this option, and
|C-indenting| for info on C indenting in general.
+ *'cinscopedecls'* *'cinsd'*
+'cinscopedecls' 'cinsd' string (default "public,protected,private")
+ local to buffer
+ Keywords that are interpreted as a C++ scope declaration by |cino-g|.
+ Useful e.g. for working with the Qt framework that defines additional
+ scope declarations "signals", "public slots" and "private slots": >
+ set cinscopedecls+=signals,public\ slots,private\ slots
+<
*'cinwords'* *'cinw'*
'cinwords' 'cinw' string (default "if,else,while,do,for,switch")
@@ -1310,15 +1340,7 @@ A jump table for the options with a short description can be found at |Q_op|.
matter, include the keyword both the uppercase and lowercase:
"if,If,IF".
- *'cinscopedecls'* *'cinsd'*
-'cinscopedecls' 'cinsd' string (default "public,protected,private")
- local to buffer
- Keywords that are interpreted as a C++ scope declaration by |cino-g|.
- Useful e.g. for working with the Qt framework that defines additional
- scope declarations "signals", "public slots" and "private slots": >
- set cinscopedecls+=signals,public\ slots,private\ slots
-
-< *'clipboard'* *'cb'*
+ *'clipboard'* *'cb'*
'clipboard' 'cb' string (default "")
global
This option is a list of comma-separated names.
@@ -1342,11 +1364,11 @@ A jump table for the options with a short description can be found at |Q_op|.
register. When "unnamed" is also included to the
option, yank and delete operations (but not put)
will additionally copy the text into register
- '*'. See |clipboard|.
+ "*". See |clipboard|.
*'cmdheight'* *'ch'*
'cmdheight' 'ch' number (default 1)
- global or local to tab page
+ global or local to tab page |global-local|
Number of screen lines to use for the command-line. Helps avoiding
|hit-enter| prompts.
The value of this option is stored with the tab page, so that each tab
@@ -1377,7 +1399,7 @@ A jump table for the options with a short description can be found at |Q_op|.
The screen column can be an absolute number, or a number preceded with
'+' or '-', which is added to or subtracted from 'textwidth'. >
- :set cc=+1 " highlight column after 'textwidth'
+ :set cc=+1 " highlight column after 'textwidth'
:set cc=+1,+2,+3 " highlight three columns after 'textwidth'
:hi ColorColumn ctermbg=lightgrey guibg=lightgrey
<
@@ -1401,22 +1423,21 @@ A jump table for the options with a short description can be found at |Q_op|.
< Minimum value is 12, maximum value is 10000.
*'comments'* *'com'* *E524* *E525*
-'comments' 'com' string (default
- "s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-")
+'comments' 'com' string (default "s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-,fb:•")
local to buffer
A comma-separated list of strings that can start a comment line. See
|format-comments|. See |option-backslash| about using backslashes to
insert a space.
*'commentstring'* *'cms'* *E537*
-'commentstring' 'cms' string (default "/*%s*/")
+'commentstring' 'cms' string (default "")
local to buffer
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
- |fold-marker|.
+ comment text. For example, C uses "/*%s*/". Currently only used to
+ add markers for folding, see |fold-marker|.
*'complete'* *'cpt'* *E535*
-'complete' 'cpt' string (default: ".,w,b,u,t")
+'complete' 'cpt' string (default ".,w,b,u,t")
local to buffer
This option specifies how keyword completion |ins-completion| works
when CTRL-P or CTRL-N are used. It is also used for whole-line
@@ -1440,6 +1461,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|i_CTRL-X_CTRL-D|
] tag completion
t same as "]"
+ f scan the buffer names (as opposed to buffer contents)
Unloaded buffers are not loaded, thus their autocmds |:autocmd| are
not executed, this may lead to unexpected completions from some files
@@ -1451,7 +1473,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|i_CTRL-X_CTRL-I|, tags |i_CTRL-X_CTRL-]| and normal expansions).
*'completefunc'* *'cfu'*
-'completefunc' 'cfu' string (default: empty)
+'completefunc' 'cfu' string (default "")
local to buffer
This option specifies a function to be used for Insert mode completion
with CTRL-X CTRL-U. |i_CTRL-X_CTRL-U|
@@ -1462,23 +1484,8 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
- *'completeslash'* *'csl'*
-'completeslash' 'csl' string (default: "")
- local to buffer
- {only for MS-Windows}
- When this option is set it overrules 'shellslash' for completion:
- - When this option is set to "slash", a forward slash is used for path
- completion in insert mode. This is useful when editing HTML tag, or
- Makefile with 'noshellslash' on MS-Windows.
- - When this option is set to "backslash", backslash is used. This is
- useful when editing a batch file with 'shellslash' set on MS-Windows.
- - When this option is empty, same character is used as for
- 'shellslash'.
- For Insert mode completion the buffer-local value is used. For
- command line completion the global value is used.
-
*'completeopt'* *'cot'*
-'completeopt' 'cot' string (default: "menu,preview")
+'completeopt' 'cot' string (default "menu,preview")
global
A comma-separated list of options for Insert mode completion
|ins-completion|. The supported values are:
@@ -1509,9 +1516,23 @@ A jump table for the options with a short description can be found at |Q_op|.
select one from the menu. Only works in combination with
"menu" or "menuone".
+ *'completeslash'* *'csl'*
+'completeslash' 'csl' string (default "")
+ local to buffer
+ only for MS-Windows
+ When this option is set it overrules 'shellslash' for completion:
+ - When this option is set to "slash", a forward slash is used for path
+ completion in insert mode. This is useful when editing HTML tag, or
+ Makefile with 'noshellslash' on MS-Windows.
+ - When this option is set to "backslash", backslash is used. This is
+ useful when editing a batch file with 'shellslash' set on MS-Windows.
+ - When this option is empty, same character is used as for
+ 'shellslash'.
+ For Insert mode completion the buffer-local value is used. For
+ command line completion the global value is used.
- *'concealcursor'* *'cocu'*
-'concealcursor' 'cocu' string (default: "")
+ *'concealcursor'* *'cocu'*
+'concealcursor' 'cocu' string (default "")
local to window
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
@@ -1529,9 +1550,8 @@ A jump table for the options with a short description can be found at |Q_op|.
Keep in mind that the cursor position is not always where it's
displayed. E.g., when moving vertically it may change column.
-
*'conceallevel'* *'cole'*
-'conceallevel' 'cole' number (default 0)
+'conceallevel' 'cole' number (default 0)
local to window
Determine how text with the "conceal" syntax attribute |:syn-conceal|
is shown:
@@ -1553,7 +1573,7 @@ A jump table for the options with a short description can be found at |Q_op|.
option.
*'confirm'* *'cf'* *'noconfirm'* *'nocf'*
-'confirm' 'cf' boolean (default off)
+'confirm' 'cf' boolean (default off)
global
When 'confirm' is on, certain operations that would normally
fail because of unsaved changes to a buffer, e.g. ":q" and ":e",
@@ -1578,7 +1598,7 @@ A jump table for the options with a short description can be found at |Q_op|.
See 'preserveindent'.
*'cpoptions'* *'cpo'* *cpo*
-'cpoptions' 'cpo' string (default: "aABceFs_")
+'cpoptions' 'cpo' string (default "aABceFs_")
global
A sequence of single character flags. When a character is present
this indicates Vi-compatible behavior. This is used for things where
@@ -1812,7 +1832,7 @@ A jump table for the options with a short description can be found at |Q_op|.
whitespace following the word in the motion.
*'cursorbind'* *'crb'* *'nocursorbind'* *'nocrb'*
-'cursorbind' 'crb' boolean (default off)
+'cursorbind' 'crb' boolean (default off)
local to window
When this option is set, as the cursor in the current
window moves other cursorbound windows (windows that also have
@@ -1822,7 +1842,6 @@ A jump table for the options with a short description can be found at |Q_op|.
inserted and deleted lines (though not characters within a line) are
taken into account.
-
*'cursorcolumn'* *'cuc'* *'nocursorcolumn'* *'nocuc'*
'cursorcolumn' 'cuc' boolean (default off)
local to window
@@ -1843,9 +1862,8 @@ A jump table for the options with a short description can be found at |Q_op|.
When Visual mode is active the highlighting isn't used to make it
easier to see the selected text.
-
- *'cursorlineopt'* *'culopt'*
-'cursorlineopt' 'culopt' string (default: "number,line")
+ *'cursorlineopt'* *'culopt'*
+'cursorlineopt' 'culopt' string (default "both")
local to window
Comma-separated list of settings for how 'cursorline' is displayed.
Valid values:
@@ -1861,8 +1879,7 @@ A jump table for the options with a short description can be found at |Q_op|.
"line" and "screenline" cannot be used together.
-
- *'debug'*
+ *'debug'*
'debug' string (default "")
global
These values can be used:
@@ -1877,17 +1894,16 @@ A jump table for the options with a short description can be found at |Q_op|.
'indentexpr'.
*'define'* *'def'*
-'define' 'def' string (default "^\s*#\s*define")
+'define' 'def' string (default "")
global or local to buffer |global-local|
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" |include-search|. The 'isident' option is
- used to recognize the defined name after the match:
+ used to recognize the defined name after the match: >
{match with 'define'}{non-ID chars}{defined name}{non-ID char}
- See |option-backslash| about inserting backslashes to include a space
+< See |option-backslash| about inserting backslashes to include a space
or backslash.
- The default value is for C programs. For C++ this value would be
- useful, to include const type declarations: >
+ For C++ this value would be useful, to include const type declarations: >
^\(#\s*define\|[a-z]*\s*const\s*[a-z]*\)
< You can also use "\ze" just before the name and continue the pattern
to check what is following. E.g. for Javascript, if a function is
@@ -1901,7 +1917,7 @@ A jump table for the options with a short description can be found at |Q_op|.
<
*'delcombine'* *'deco'* *'nodelcombine'* *'nodeco'*
-'delcombine' 'deco' boolean (default off)
+'delcombine' 'deco' boolean (default off)
global
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
@@ -1939,13 +1955,13 @@ A jump table for the options with a short description can be found at |Q_op|.
uses another default.
Backticks cannot be used in this option for security reasons.
- *'diff'* *'nodiff'*
+ *'diff'* *'nodiff'*
'diff' boolean (default off)
local to window
Join the current window in the group of windows that shows differences
between files. See |diff-mode|.
- *'dex'* *'diffexpr'*
+ *'diffexpr'* *'dex'*
'diffexpr' 'dex' string (default "")
global
Expression which is evaluated to obtain a diff file (either ed-style
@@ -1953,7 +1969,7 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
- *'dip'* *'diffopt'*
+ *'diffopt'* *'dip'*
'diffopt' 'dip' string (default "internal,filler,closeoff")
global
Option settings for diff mode. It can consist of the following items.
@@ -1970,7 +1986,8 @@ A jump table for the options with a short description can be found at |Q_op|.
When omitted a context of six lines is used.
When using zero the context is actually one,
since folds require a line in between, also
- for a deleted line.
+ for a deleted line. Set it to a very large
+ value (999999) to disable folding completely.
See |fold-diff|.
iblank Ignore changes where lines are all blank. Adds
@@ -2046,7 +2063,7 @@ A jump table for the options with a short description can be found at |Q_op|.
hunks of up to 30 lines each, or a 3 buffer
diff with hunks of up to 20 lines each.
- algorithm:{text} Use the specified diff algorithm with the
+ algorithm:{text} Use the specified diff algorithm with the
internal diff engine. Currently supported
algorithms are:
myers the default algorithm
@@ -2061,7 +2078,8 @@ A jump table for the options with a short description can be found at |Q_op|.
:set diffopt=internal,filler,foldcolumn:3
:set diffopt-=internal " do NOT use the internal diff parser
<
- *'digraph'* *'dg'* *'nodigraph'* *'nodg'*
+
+ *'digraph'* *'dg'* *'nodigraph'* *'nodg'*
'digraph' 'dg' boolean (default off)
global
Enable the entering of digraphs in Insert mode with {char1} <BS>
@@ -2074,7 +2092,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Possible items:
- The swap file will be created in the first directory where this is
- possible. If it is not possible in any directory, but last
+ possible. If it is not possible in any directory, but last
directory listed in the option does not exist, it is created.
- Empty means that no swap file will be used (recovery is
impossible!) and no |E303| error will be given.
@@ -2103,23 +2121,17 @@ A jump table for the options with a short description can be found at |Q_op|.
- Careful with '\' characters, type one before a space, type two to
get one in the option (see |option-backslash|), for example: >
:set dir=c:\\tmp,\ dir\\,with\\,commas,\\\ dir\ with\ spaces
-< - For backwards compatibility with Vim version 3.0 a '>' at the start
- of the option is removed.
- Using "." first in the list is recommended. This means that editing
- the same file twice will result in a warning. Using "/tmp" on Unix is
- discouraged: When the system crashes you lose the swap file.
- "/var/tmp" is often not cleared when rebooting, thus is a better
- choice than "/tmp". But others on the computer may be able to see the
- files, and it can contain a lot of files, your swap files get lost in
- the crowd. That is why a "tmp" directory in your home directory is
- tried first.
- The use of |:set+=| and |:set-=| is preferred when adding or removing
- directories from the list. This avoids problems when a future version
- uses another default.
+<
+ Editing the same file twice will result in a warning. Using "/tmp" on
+ is discouraged: if the system crashes you lose the swap file. And
+ others on the computer may be able to see the files.
+ Use |:set+=| and |:set-=| when adding or removing directories from the
+ list, this avoids problems if the Nvim default is changed.
+
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
- *'display'* *'dy'*
+ *'display'* *'dy'*
'display' 'dy' string (default "lastline")
global
Change the way text is displayed. This is a comma-separated list of
@@ -2148,8 +2160,8 @@ A jump table for the options with a short description can be found at |Q_op|.
hor horizontally, height of windows is not affected
both width and height of windows is affected
- *'emoji'* *'emo'* *'noemoji'* *'noemo'*
-'emoji' 'emo' boolean (default: on)
+ *'emoji'* *'emo'* *'noemoji'* *'noemo'*
+'emoji' 'emo' boolean (default on)
global
When on all Unicode emoji characters are considered to be full width.
This excludes "text emoji" characters, which are normally displayed as
@@ -2157,8 +2169,9 @@ A jump table for the options with a short description can be found at |Q_op|.
and it has been determined on trial-and-error basis. Use the
|setcellwidths()| function to change the behavior.
- *'encoding'* *'enc'* *E543*
-'encoding' 'enc'
+ *'encoding'* *'enc'*
+'encoding' 'enc' string (default "utf-8")
+ global
String-encoding used internally and for |RPC| communication.
Always UTF-8.
@@ -2190,7 +2203,7 @@ A jump table for the options with a short description can be found at |Q_op|.
be kept. But you can change it if you want to.
See |eol-and-eof| for example settings.
- *'equalalways'* *'ea'* *'noequalalways'* *'noea'*
+ *'equalalways'* *'ea'* *'noequalalways'* *'noea'*
'equalalways' 'ea' boolean (default on)
global
When on, all the windows are automatically made the same size after
@@ -2229,7 +2242,7 @@ A jump table for the options with a short description can be found at |Q_op|.
or do nothing. See 'belloff' to finetune when to ring the bell.
*'errorfile'* *'ef'*
-'errorfile' 'ef' string (default: "errors.err")
+'errorfile' 'ef' string (default "errors.err")
global
Name of the errorfile for the QuickFix mode (see |:cf|).
When the "-q" command-line argument is used, 'errorfile' is set to the
@@ -2255,34 +2268,31 @@ A jump table for the options with a short description can be found at |Q_op|.
Otherwise this is a comma-separated list of event names. Example: >
:set ei=WinEnter,WinLeave
<
- *'expandtab'* *'et'* *'noexpandtab'* *'noet'*
+
+ *'expandtab'* *'et'* *'noexpandtab'* *'noet'*
'expandtab' 'et' boolean (default off)
local to buffer
In Insert mode: Use the appropriate number of spaces to insert a
<Tab>. Spaces are used in indents with the '>' and '<' commands and
when 'autoindent' is on. To insert a real tab when 'expandtab' is
on, use CTRL-V<Tab>. See also |:retab| and |ins-expandtab|.
- This option is reset when the 'paste' option is set and restored when
- the 'paste' option is reset.
*'exrc'* *'ex'* *'noexrc'* *'noex'*
-'exrc' 'ex' boolean (default off)
+'exrc' 'ex' boolean (default off)
global
- Enables the reading of .nvim.lua, .nvimrc, and .exrc files in the current
- directory.
-
- The file is only sourced if the user indicates the file is trusted. If
- it is, the SHA256 hash of the file contents and the full path of the
- file are persisted to a trust database. The user is only prompted
- again if the file contents change. See |vim.secure.read()|.
+ Automatically execute .nvim.lua, .nvimrc, and .exrc files in the
+ current directory, if the file is in the |trust| list. Use |:trust| to
+ manage trusted files. See also |vim.secure.read()|.
- Use |:trust| to manage the trusted file database.
+ Compare 'exrc' to |editorconfig|:
+ - 'exrc' can execute any code; editorconfig only specifies settings.
+ - 'exrc' is Nvim-specific; editorconfig works in other editors.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
- *'fileencoding'* *'fenc'* *E213*
-'fileencoding' 'fenc' string (default: "")
+ *'fileencoding'* *'fenc'* *E213*
+'fileencoding' 'fenc' string (default "")
local to buffer
File-content encoding for the current buffer. Conversion is done with
iconv() or as specified with 'charconvert'.
@@ -2323,7 +2333,7 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be changed when 'modifiable' is off.
*'fileencodings'* *'fencs'*
-'fileencodings' 'fencs' string (default: "ucs-bom,utf-8,default,latin1")
+'fileencodings' 'fencs' string (default "ucs-bom,utf-8,default,latin1")
global
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
@@ -2372,9 +2382,8 @@ A jump table for the options with a short description can be found at |Q_op|.
Setting this option does not have an effect until the next time a file
is read.
- *'fileformat'* *'ff'*
-'fileformat' 'ff' string (Windows default: "dos",
- Unix default: "unix")
+ *'fileformat'* *'ff'*
+'fileformat' 'ff' string (default Windows: "dos", Unix: "unix")
local to buffer
This gives the <EOL> of the current buffer, which is used for
reading/writing the buffer from/to a file:
@@ -2392,10 +2401,8 @@ A jump table for the options with a short description can be found at |Q_op|.
option is set, because the file would be different when written.
This option cannot be changed when 'modifiable' is off.
- *'fileformats'* *'ffs'*
-'fileformats' 'ffs' string (default:
- Win32: "dos,unix",
- Unix: "unix,dos")
+ *'fileformats'* *'ffs'*
+'fileformats' 'ffs' string (default Windows: "dos,unix", Unix: "unix,dos")
global
This gives the end-of-line (<EOL>) formats that will be tried when
starting to edit a new buffer and when reading a file into an existing
@@ -2445,14 +2452,14 @@ A jump table for the options with a short description can be found at |Q_op|.
*'fileignorecase'* *'fic'* *'nofileignorecase'* *'nofic'*
'fileignorecase' 'fic' boolean (default on for systems where case in file
- names is normally ignored)
+ names is normally ignored)
global
When set case is ignored when using file names and directories.
See 'wildignorecase' for only ignoring case when doing completion.
- *'filetype'* *'ft'*
-'filetype' 'ft' string (default: "")
- local to buffer
+ *'filetype'* *'ft'*
+'filetype' 'ft' string (default "")
+ local to buffer |local-noglobal|
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
@@ -2473,7 +2480,7 @@ A jump table for the options with a short description can be found at |Q_op|.
one dot may appear.
This option is not copied to another buffer, independent of the 's' or
'S' flag in 'cpoptions'.
- Only normal file name characters can be used, "/\*?[|<>" are illegal.
+ Only normal file name characters can be used, `/\*?[|<>` are illegal.
*'fillchars'* *'fcs'*
'fillchars' 'fcs' string (default "")
@@ -2484,8 +2491,8 @@ A jump table for the options with a short description can be found at |Q_op|.
and the value of that item:
item default Used for ~
- stl ' ' or '^' statusline of the current window
- stlnc ' ' or '=' statusline of the non-current windows
+ stl ' ' statusline of the current window
+ stlnc ' ' statusline of the non-current windows
wbr ' ' window bar
horiz '─' or '-' horizontal separators |:split|
horizup '┴' or '-' upwards facing horizontal separator
@@ -2505,9 +2512,7 @@ A jump table for the options with a short description can be found at |Q_op|.
colorcol ' ' character to display in the colorcolumn
lastline '@' 'display' contains lastline/truncate
- Any one that is omitted will fall back to the default. For "stl" and
- "stlnc" the space will be used when there is highlighting, '^' or '='
- otherwise.
+ Any one that is omitted will fall back to the default.
Note that "horiz", "horizup", "horizdown", "vertleft", "vertright" and
"verthoriz" are only used when 'laststatus' is 3, since only vertical
@@ -2518,10 +2523,8 @@ A jump table for the options with a short description can be found at |Q_op|.
default to single-byte alternatives.
Example: >
- :set fillchars=stl:^,stlnc:=,vert:│,fold:·,diff:-
-< This is similar to the default, except that these characters will also
- be used when there is highlighting.
-
+ :set fillchars=stl:\ ,stlnc:\ ,vert:│,fold:·,diff:-
+<
For the "stl", "stlnc", "foldopen", "foldclose" and "foldsep" items
single-byte and multibyte characters are supported. But double-width
characters are not supported.
@@ -2556,25 +2559,25 @@ A jump table for the options with a short description can be found at |Q_op|.
See |eol-and-eof| for example settings.
*'foldclose'* *'fcl'*
-'foldclose' 'fcl' string (default "")
+'foldclose' 'fcl' string (default "")
global
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.
*'foldcolumn'* *'fdc'*
-'foldcolumn' 'fdc' string (default "0")
+'foldcolumn' 'fdc' string (default "0")
local to window
When and how to draw the foldcolumn. Valid values are:
"auto": resize to the minimum amount of folds to display.
"auto:[1-9]": resize to accommodate multiple folds up to the
selected level
- 0: to disable foldcolumn
+ "0": to disable foldcolumn
"[1-9]": to display a fixed number of columns
See |folding|.
*'foldenable'* *'fen'* *'nofoldenable'* *'nofen'*
-'foldenable' 'fen' boolean (default on)
+'foldenable' 'fen' boolean (default on)
local to window
When off, all folds are open. This option can be used to quickly
switch between showing all text unfolded and viewing the text with
@@ -2585,10 +2588,12 @@ A jump table for the options with a short description can be found at |Q_op|.
See |folding|.
*'foldexpr'* *'fde'*
-'foldexpr' 'fde' string (default: "0")
+'foldexpr' 'fde' string (default "0")
local to window
The expression used for when 'foldmethod' is "expr". It is evaluated
- for each line to obtain its fold level. See |fold-expr|.
+ 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 |fold-expr| for the usage.
The expression will be evaluated in the |sandbox| if set from a
modeline, see |sandbox-option|.
@@ -2599,7 +2604,7 @@ A jump table for the options with a short description can be found at |Q_op|.
evaluating 'foldexpr' |textlock|.
*'foldignore'* *'fdi'*
-'foldignore' 'fdi' string (default: "#")
+'foldignore' 'fdi' string (default "#")
local to window
Used only when 'foldmethod' is "indent". Lines starting with
characters in 'foldignore' will get their fold level from surrounding
@@ -2607,7 +2612,7 @@ A jump table for the options with a short description can be found at |Q_op|.
The default "#" works well for C programs. See |fold-indent|.
*'foldlevel'* *'fdl'*
-'foldlevel' 'fdl' number (default: 0)
+'foldlevel' 'fdl' number (default 0)
local to window
Sets the fold level: Folds with a higher level will be closed.
Setting this option to zero will close all folds. Higher numbers will
@@ -2615,8 +2620,8 @@ A jump table for the options with a short description can be found at |Q_op|.
This option is set by commands like |zm|, |zM| and |zR|.
See |fold-foldlevel|.
- *'foldlevelstart'* *'fdls'*
-'foldlevelstart' 'fdls' number (default: -1)
+ *'foldlevelstart'* *'fdls'*
+'foldlevelstart' 'fdls' number (default -1)
global
Sets 'foldlevel' when starting to edit another buffer in a window.
Useful to always start editing with all folds closed (value zero),
@@ -2628,8 +2633,8 @@ A jump table for the options with a short description can be found at |Q_op|.
overrule the 'foldlevel' value for specific files.
When the value is negative, it is not used.
- *'foldmarker'* *'fmr'* *E536*
-'foldmarker' 'fmr' string (default: "{{{,}}}")
+ *'foldmarker'* *'fmr'* *E536*
+'foldmarker' 'fmr' string (default "{{{,}}}")
local to window
The start and end marker used when 'foldmethod' is "marker". There
must be one comma, which separates the start and end marker. The
@@ -2637,7 +2642,7 @@ A jump table for the options with a short description can be found at |Q_op|.
See |fold-marker|.
*'foldmethod'* *'fdm'*
-'foldmethod' 'fdm' string (default: "manual")
+'foldmethod' 'fdm' string (default "manual")
local to window
The kind of folding used for the current window. Possible values:
|fold-manual| manual Folds are created manually.
@@ -2648,7 +2653,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|fold-diff| diff Fold text that is not changed.
*'foldminlines'* *'fml'*
-'foldminlines' 'fml' number (default: 1)
+'foldminlines' 'fml' number (default 1)
local to window
Sets the number of screen lines above which a fold can be displayed
closed. Also for manually closed folds. With the default value of
@@ -2659,15 +2664,14 @@ A jump table for the options with a short description can be found at |Q_op|.
than 'foldminlines', a following "zc" may close a containing fold.
*'foldnestmax'* *'fdn'*
-'foldnestmax' 'fdn' number (default: 20)
+'foldnestmax' 'fdn' number (default 20)
local to window
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.
*'foldopen'* *'fdo'*
-'foldopen' 'fdo' string (default: "block,hor,mark,percent,quickfix,
- search,tag,undo")
+'foldopen' 'fdo' string (default "block,hor,mark,percent,quickfix,search,tag,undo")
global
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
@@ -2678,7 +2682,7 @@ A jump table for the options with a short description can be found at |Q_op|.
item commands ~
all any
- block "(", "{", "[[", "[{", etc.
+ block (, {, [[, [{, etc.
hor horizontal movements: "l", "w", "fx", etc.
insert any command in Insert mode
jump far jumps: "G", "gg", etc.
@@ -2701,10 +2705,12 @@ A jump table for the options with a short description can be found at |Q_op|.
set the 'foldclose' option to "all".
*'foldtext'* *'fdt'*
-'foldtext' 'fdt' string (default: "foldtext()")
+'foldtext' 'fdt' string (default "foldtext()")
local to window
An expression which is used to specify the text displayed for a closed
- fold. See |fold-foldtext|.
+ fold. The context is set to the script where 'foldexpr' was set,
+ script-local items can be accessed. See |fold-foldtext| for the
+ usage.
The expression will be evaluated in the |sandbox| if set from a
modeline, see |sandbox-option|.
@@ -2714,7 +2720,7 @@ A jump table for the options with a short description can be found at |Q_op|.
evaluating 'foldtext' |textlock|.
*'formatexpr'* *'fex'*
-'formatexpr' 'fex' string (default "")
+'formatexpr' 'fex' string (default "")
local to buffer
Expression which is evaluated to format a range of lines for the |gq|
operator or automatic formatting (see 'formatoptions'). When this
@@ -2745,15 +2751,17 @@ A jump table for the options with a short description can be found at |Q_op|.
the script ID (|local-function|). Example: >
set formatexpr=s:MyFormatExpr()
set formatexpr=<SID>SomeFormatExpr()
-<
+< Otherwise, the expression is evaluated in the context of the script
+ where the option was set, thus script-local items are available.
+
The expression will be evaluated in the |sandbox| when set from a
modeline, see |sandbox-option|. That stops the option from working,
since changing the buffer text is not allowed.
This option cannot be set in a modeline when 'modelineexpr' is off.
NOTE: This option is set to "" when 'compatible' is set.
- *'formatlistpat'* *'flp'*
-'formatlistpat' 'flp' string (default: "^\s*\d\+[\]:.)}\t ]\s*")
+ *'formatlistpat'* *'flp'*
+'formatlistpat' 'flp' string (default "^\s*\d\+[\]:.)}\t ]\s*")
local to buffer
A pattern that is used to recognize a list header. This is used for
the "n" flag in 'formatoptions'.
@@ -2765,18 +2773,18 @@ A jump table for the options with a short description can be found at |Q_op|.
The default recognizes a number, followed by an optional punctuation
character and white space.
- *'formatoptions'* *'fo'*
-'formatoptions' 'fo' string (default: "tcqj")
+ *'formatoptions'* *'fo'*
+'formatoptions' 'fo' string (default "tcqj")
local to buffer
This is a sequence of letters which describes how automatic
- formatting is to be done. See |fo-table|. When the 'paste' option is
- on, no formatting is done (like 'formatoptions' is empty). Commas can
- be inserted for readability.
+ formatting is to be done.
+ See |fo-table| for possible values and |gq| for how to format text.
+ Commas can be inserted for readability.
To avoid problems with flags that are added in the future, use the
"+=" and "-=" feature of ":set" |add-option-flags|.
*'formatprg'* *'fp'*
-'formatprg' 'fp' string (default "")
+'formatprg' 'fp' string (default "")
global or local to buffer |global-local|
The name of an external program that will be used to format the lines
selected with the |gq| operator. The program must take the input on
@@ -2791,11 +2799,11 @@ A jump table for the options with a short description can be found at |Q_op|.
security reasons.
*'fsync'* *'fs'* *'nofsync'* *'nofs'*
-'fsync' 'fs' boolean (default off)
+'fsync' 'fs' boolean (default on)
global
When on, the OS function fsync() will be called after saving a file
- (|:write|, |writefile()|, …), |swap-file| and |shada-file|. This
- flushes the file to disk, ensuring that it is safely written.
+ (|:write|, |writefile()|, …), |swap-file|, |undo-persistence| and |shada-file|.
+ This flushes the file to disk, ensuring that it is safely written.
Slow on some systems: writing buffers, quitting Nvim, and other
operations may sometimes take a few seconds.
@@ -2808,7 +2816,7 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
- *'gdefault'* *'gd'* *'nogdefault'* *'nogd'*
+ *'gdefault'* *'gd'* *'nogdefault'* *'nogd'*
'gdefault' 'gd' boolean (default off)
global
When on, the ":substitute" flag 'g' is default on. This means that
@@ -2834,7 +2842,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'grepprg'* *'gp'*
'grepprg' 'gp' string (default "grep -n ",
- Unix: "grep -n $* /dev/null")
+ Unix: "grep -n $* /dev/null")
global or local to buffer |global-local|
Program to use for the |:grep| command. This option may contain '%'
and '#' characters, which are expanded like when used in a command-
@@ -2852,7 +2860,7 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
- *'guicursor'* *'gcr'* *E545* *E546* *E548* *E549*
+ *'guicursor'* *'gcr'* *E545* *E546* *E548* *E549*
'guicursor' 'gcr' string (default "n-v-c-sm:block,i-ci-ve:ver25,r-cr-o:hor20")
global
Configures the cursor style for each mode. Works in the GUI and many
@@ -2918,10 +2926,10 @@ A jump table for the options with a short description can be found at |Q_op|.
n-v-c-sm:block,i-ci-ve:ver25-Cursor,r-cr-o:hor20
In Normal et al. modes, use a block cursor
with the default colors defined by the host
- terminal. In Insert-likes modes, use
+ terminal. In Insert-like modes, use
a vertical bar cursor with colors from
- "Cursor" highlight group. In Replace-likes
- modes, use a underline cursor with
+ "Cursor" highlight group. In Replace-like
+ modes, use an underline cursor with
default colors.
i-ci:ver30-iCursor-blinkwait300-blinkon200-blinkoff150
In Insert and Command-line Insert mode, use a
@@ -2938,8 +2946,8 @@ A jump table for the options with a short description can be found at |Q_op|.
:highlight Cursor gui=reverse guifg=NONE guibg=NONE
:highlight Cursor gui=NONE guifg=bg guibg=fg
<
- *'guifont'* *'gfn'*
- *E235* *E596*
+
+ *'guifont'* *'gfn'* *E235* *E596*
'guifont' 'gfn' string (default "")
global
This is a list of fonts which will be used for the GUI version of Vim.
@@ -2999,6 +3007,7 @@ A jump table for the options with a short description can be found at |Q_op|.
:set guifont=courier_new:h12:w5:b:cRUSSIAN
:set guifont=Andale_Mono:h7.5:w4.5
<
+
*'guifontwide'* *'gfw'* *E231* *E533* *E534*
'guifontwide' 'gfw' string (default "")
global
@@ -3114,7 +3123,7 @@ A jump table for the options with a short description can be found at |Q_op|.
removing GUI components.
*'guitablabel'* *'gtl'*
-'guitablabel' 'gtl' string (default empty)
+'guitablabel' 'gtl' string (default "")
global
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
@@ -3131,7 +3140,7 @@ A jump table for the options with a short description can be found at |Q_op|.
used.
*'guitabtooltip'* *'gtt'*
-'guitabtooltip' 'gtt' string (default empty)
+'guitabtooltip' 'gtt' string (default "")
global
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.
@@ -3142,7 +3151,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'helpfile'* *'hf'*
'helpfile' 'hf' string (default (MS-Windows) "$VIMRUNTIME\doc\help.txt"
- (others) "$VIMRUNTIME/doc/help.txt")
+ (others) "$VIMRUNTIME/doc/help.txt")
global
Name of the main help file. All distributed help files should be
placed together in one directory. Additionally, all "doc" directories
@@ -3164,7 +3173,7 @@ A jump table for the options with a short description can be found at |Q_op|.
set to 'helpheight'. Set to zero to disable.
*'helplang'* *'hlg'*
-'helplang' 'hlg' string (default: messages language or empty)
+'helplang' 'hlg' string (default messages language or empty)
global
Comma-separated list of languages. Vim will use the first language
for which the desired help can be found. The English help will always
@@ -3179,7 +3188,7 @@ A jump table for the options with a short description can be found at |Q_op|.
try to find the tag in the current language before using this option.
See |help-translated|.
- *'hidden'* *'hid'* *'nohidden'* *'nohid'*
+ *'hidden'* *'hid'* *'nohidden'* *'nohid'*
'hidden' 'hid' boolean (default on)
global
When off a buffer is unloaded (including loss of undo information)
@@ -3198,28 +3207,14 @@ A jump table for the options with a short description can be found at |Q_op|.
'hidden' is set for one command with ":hide {command}" |:hide|.
*'history'* *'hi'*
-'history' 'hi' number (default: 10000)
+'history' 'hi' number (default 10000)
global
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 |cmdline-editing|).
The maximum value is 10000.
- *'hkmap'* *'hk'* *'nohkmap'* *'nohk'*
-'hkmap' 'hk' boolean (default off)
- global
- When on, the keyboard is mapped for the Hebrew character set.
- Normally you would set 'allowrevins' and use CTRL-_ in insert mode to
- toggle this option. See |rileft.txt|.
-
- *'hkmapp'* *'hkp'* *'nohkmapp'* *'nohkp'*
-'hkmapp' 'hkp' boolean (default off)
- global
- When on, phonetic keyboard mapping is used. 'hkmap' must also be on.
- This is useful if you have a non-Hebrew keyboard.
- See |rileft.txt|.
-
- *'hlsearch'* *'hls'* *'nohlsearch'* *'nohls'*
+ *'hlsearch'* *'hls'* *'nohlsearch'* *'nohls'*
'hlsearch' 'hls' boolean (default on)
global
When there is a previous search pattern, highlight all its matches.
@@ -3251,7 +3246,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Overridden by the 'iconstring' option.
Only works if the terminal supports setting window icons.
- *'iconstring'*
+ *'iconstring'*
'iconstring' string (default "")
global
When this option is not empty, it will be used for the icon text of
@@ -3265,14 +3260,14 @@ A jump table for the options with a short description can be found at |Q_op|.
*'ignorecase'* *'ic'* *'noignorecase'* *'noic'*
'ignorecase' 'ic' boolean (default off)
global
- Ignore case in search patterns. Also used when searching in the tags
- file.
+ Ignore case in search patterns, |cmdline-completion|, when
+ searching in the tags file, and |expr-==|.
Also see 'smartcase' and 'tagcase'.
Can be overruled by using "\c" or "\C" in the pattern, see
|/ignorecase|.
- *'imcmdline'* *'imc'* *'noimcmdline'* *'noimc'*
-'imcmdline' 'imc' boolean (default off)
+ *'imcmdline'* *'imc'* *'noimcmdline'* *'noimc'*
+'imcmdline' 'imc' boolean (default off)
global
When set the Input Method is always on when starting to edit a command
line, unless entering a search pattern (see 'imsearch' for that).
@@ -3280,8 +3275,8 @@ A jump table for the options with a short description can be found at |Q_op|.
English characters directly, e.g., when it's used to type accented
characters with dead keys.
- *'imdisable'* *'imd'* *'noimdisable'* *'noimd'*
-'imdisable' 'imd' boolean (default off, on for some systems (SGI))
+ *'imdisable'* *'imd'* *'noimdisable'* *'noimd'*
+'imdisable' 'imd' boolean (default off, on for some systems (SGI))
global
When set the Input Method is never used. This is useful to disable
the IM when it doesn't work properly.
@@ -3289,7 +3284,7 @@ A jump table for the options with a short description can be found at |Q_op|.
may change in later releases.
*'iminsert'* *'imi'*
-'iminsert' 'imi' number (default 0)
+'iminsert' 'imi' number (default 0)
local to buffer
Specifies whether :lmap or an Input Method (IM) is to be used in
Insert mode. Valid values:
@@ -3307,7 +3302,7 @@ A jump table for the options with a short description can be found at |Q_op|.
It is also used for the argument of commands like "r" and "f".
*'imsearch'* *'ims'*
-'imsearch' 'ims' number (default -1)
+'imsearch' 'ims' number (default -1)
local to buffer
Specifies whether :lmap or an Input Method (IM) is to be used when
entering a search pattern. Valid values:
@@ -3324,7 +3319,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'inccommand'* *'icm'*
'inccommand' 'icm' string (default "nosplit")
global
-
When nonempty, shows the effects of |:substitute|, |:smagic|,
|:snomagic| and user commands with the |:command-preview| flag as you
type.
@@ -3340,12 +3334,11 @@ A jump table for the options with a short description can be found at |Q_op|.
|Command-line-mode| is done.
*'include'* *'inc'*
-'include' 'inc' string (default "^\s*#\s*include")
+'include' 'inc' string (default "")
global or local to buffer |global-local|
Pattern to be used to find an include command. It is a search
- pattern, just like for the "/" command (See |pattern|). The default
- value is for C programs. This option is used for the commands "[i",
- "]I", "[d", etc.
+ pattern, just like for the "/" command (See |pattern|). This option
+ is used for the commands "[i", "]I", "[d", etc.
Normally the 'isfname' option is used to recognize the file name that
comes after the matched pattern. But if "\zs" appears in the pattern
then the text matched from "\zs" to the end, or until "\ze" if it
@@ -3372,9 +3365,11 @@ A jump table for the options with a short description can be found at |Q_op|.
If the expression starts with s: or |<SID>|, then it is replaced with
the script ID (|local-function|). Example: >
- set includeexpr=s:MyIncludeExpr(v:fname)
- set includeexpr=<SID>SomeIncludeExpr(v:fname)
-<
+ setlocal includeexpr=s:MyIncludeExpr(v:fname)
+ setlocal includeexpr=<SID>SomeIncludeExpr(v:fname)
+< Otherwise, the expression is evaluated in the context of the script
+ where the option was set, thus script-local items are available.
+
The expression will be evaluated in the |sandbox| when set from a
modeline, see |sandbox-option|.
This option cannot be set in a modeline when 'modelineexpr' is off.
@@ -3382,7 +3377,7 @@ A jump table for the options with a short description can be found at |Q_op|.
It is not allowed to change text or jump to another window while
evaluating 'includeexpr' |textlock|.
- *'incsearch'* *'is'* *'noincsearch'* *'nois'*
+ *'incsearch'* *'is'* *'noincsearch'* *'nois'*
'incsearch' 'is' boolean (default on)
global
While typing a search command, show where the pattern, as it was typed
@@ -3426,15 +3421,17 @@ A jump table for the options with a short description can be found at |Q_op|.
When this option is not empty, it overrules the 'cindent' and
'smartindent' indenting. When 'lisp' is set, this option is
is only used when 'lispoptions' contains "expr:1".
- When 'paste' is set this option is not used for indenting.
The expression is evaluated with |v:lnum| set to the line number for
which the indent is to be computed. The cursor is also in this line
when the expression is evaluated (but it may be moved around).
+
If the expression starts with s: or |<SID>|, then it is replaced with
the script ID (|local-function|). Example: >
set indentexpr=s:MyIndentExpr()
set indentexpr=<SID>SomeIndentExpr()
-<
+< Otherwise, the expression is evaluated in the context of the script
+ where the option was set, thus script-local items are available.
+
The expression must return the number of spaces worth of indent. It
can return "-1" to keep the current indent (this means 'autoindent' is
used for the indent).
@@ -3456,7 +3453,6 @@ A jump table for the options with a short description can be found at |Q_op|.
It is not allowed to change text or jump to another window while
evaluating 'indentexpr' |textlock|.
-
*'indentkeys'* *'indk'*
'indentkeys' 'indk' string (default "0{,0},0),0],:,0#,!^F,o,O,e")
local to buffer
@@ -3479,8 +3475,8 @@ A jump table for the options with a short description can be found at |Q_op|.
*'isfname'* *'isf'*
'isfname' 'isf' string (default for Windows:
- "@,48-57,/,\,.,-,_,+,,,#,$,%,{,},[,],:,@-@,!,~,="
- otherwise: "@,48-57,/,.,-,_,+,,,#,$,%,~,=")
+ "@,48-57,/,\,.,-,_,+,,,#,$,%,{,},[,],@-@,!,~,="
+ otherwise: "@,48-57,/,.,-,_,+,,,#,$,%,~,=")
global
The characters specified by this option are included in file names and
path names. Filenames are used for commands like "gf", "[i" and in
@@ -3530,8 +3526,8 @@ A jump table for the options with a short description can be found at |Q_op|.
*'isident'* *'isi'*
'isident' 'isi' string (default for Windows:
- "@,48-57,_,128-167,224-235"
- otherwise: "@,48-57,_,192-255")
+ "@,48-57,_,128-167,224-235"
+ otherwise: "@,48-57,_,192-255")
global
The characters given by this option are included in identifiers.
Identifiers are used in recognizing environment variables and after a
@@ -3544,7 +3540,7 @@ A jump table for the options with a short description can be found at |Q_op|.
change 'iskeyword' instead.
*'iskeyword'* *'isk'*
-'iskeyword' 'isk' string (default: @,48-57,_,192-255)
+'iskeyword' 'isk' string (default "@,48-57,_,192-255")
local to buffer
Keywords are used in searching and recognizing with many commands:
"w", "*", "[i", etc. It is also used for "\k" in a |pattern|. See
@@ -3553,14 +3549,14 @@ A jump table for the options with a short description can be found at |Q_op|.
that is not white space or punctuation).
For C programs you could use "a-z,A-Z,48-57,_,.,-,>".
For a help file it is set to all non-blank printable characters except
- '*', '"' and '|' (so that CTRL-] on a command finds the help for that
+ "*", '"' and '|' (so that CTRL-] on a command finds the help for that
command).
When the 'lisp' option is on the '-' character is always included.
This option also influences syntax highlighting, unless the syntax
uses |:syn-iskeyword|.
*'isprint'* *'isp'*
-'isprint' 'isp' string (default: "@,161-255")
+'isprint' 'isp' string (default "@,161-255")
global
The characters given by this option are displayed directly on the
screen. It is also used for "\p" in a |pattern|. The characters from
@@ -3589,37 +3585,36 @@ A jump table for the options with a short description can be found at |Q_op|.
Unprintable and zero-width Unicode characters are displayed as <xxxx>.
There is no option to specify these characters.
+ *'joinspaces'* *'js'* *'nojoinspaces'* *'nojs'*
+'joinspaces' 'js' boolean (default off)
+ global
+ Insert two spaces after a '.', '?' and '!' with a join command.
+ Otherwise only one space is inserted.
+
*'jumpoptions'* *'jop'*
'jumpoptions' 'jop' string (default "")
global
List of words that change the behavior of the |jumplist|.
- stack Make the jumplist behave like the tagstack or like a
- web browser. Relative location of entries in the
- jumplist is preserved at the cost of discarding
- subsequent entries when navigating backwards in the
- jumplist and then jumping to a location.
- |jumplist-stack|
+ stack Make the jumplist behave like the tagstack.
+ Relative location of entries in the jumplist is
+ preserved at the cost of discarding subsequent entries
+ when navigating backwards in the jumplist and then
+ jumping to a location. |jumplist-stack|
view When moving through the jumplist, |changelist|,
|alternate-file| or using |mark-motions| try to
restore the |mark-view| in which the action occurred.
- *'joinspaces'* *'js'* *'nojoinspaces'* *'nojs'*
-'joinspaces' 'js' boolean (default off)
- global
- Insert two spaces after a '.', '?' and '!' with a join command.
- Otherwise only one space is inserted.
-
- *'keymap'* *'kmp'* *E544*
+ *'keymap'* *'kmp'*
'keymap' 'kmp' string (default "")
local to buffer
Name of a keyboard mapping. See |mbyte-keymap|.
Setting this option to a valid keymap name has the side effect of
setting 'iminsert' to one, so that the keymap becomes effective.
'imsearch' is also set to one, unless it was -1
- Only normal file name characters can be used, "/\*?[|<>" are illegal.
+ Only normal file name characters can be used, `/\*?[|<>` are illegal.
- *'keymodel'* *'km'*
+ *'keymodel'* *'km'*
'keymodel' 'km' string (default "")
global
List of comma-separated words, which enable special things that keys
@@ -3630,9 +3625,8 @@ A jump table for the options with a short description can be found at |Q_op|.
stopsel Using a not-shifted special key stops selection.
Special keys in this context are the cursor keys, <End>, <Home>,
<PageUp> and <PageDown>.
- The 'keymodel' option is set by the |:behave| command.
- *'keywordprg'* *'kp'*
+ *'keywordprg'* *'kp'*
'keywordprg' 'kp' string (default ":Man", Windows: ":help")
global or local to buffer |global-local|
Program to use for the |K| command. Environment variables are
@@ -3693,7 +3687,7 @@ A jump table for the options with a short description can be found at |Q_op|.
allowing to switch between mappings for different languages/encodings.
Use a mapping to avoid having to type it each time!
- *'langmenu'* *'lm'*
+ *'langmenu'* *'lm'*
'langmenu' 'lm' string (default "")
global
Language to use for menu translation. Tells which file is loaded
@@ -3703,7 +3697,7 @@ A jump table for the options with a short description can be found at |Q_op|.
matter what $LANG is set to: >
:set langmenu=nl_NL.ISO_8859-1
< When 'langmenu' is empty, |v:lang| is used.
- Only normal file name characters can be used, "/\*?[|<>" are illegal.
+ Only normal file name characters can be used, `/\*?[|<>` are illegal.
If your $LANG is set to a non-English language but you do want to use
the English menus: >
:set langmenu=none
@@ -3716,13 +3710,13 @@ A jump table for the options with a short description can be found at |Q_op|.
< Warning: This deletes all menus that you defined yourself!
*'langremap'* *'lrm'* *'nolangremap'* *'nolrm'*
-'langremap' 'lrm' boolean (default off)
+'langremap' 'lrm' boolean (default off)
global
When off, setting 'langmap' does not apply to characters resulting from
a mapping. If setting 'langmap' disables some of your mappings, make
sure this option is off.
- *'laststatus'* *'ls'*
+ *'laststatus'* *'ls'*
'laststatus' 'ls' number (default 2)
global
The value of this option influences when the last window will have a
@@ -3758,7 +3752,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Note that <Tab> characters after an <EOL> are mostly not displayed
with the right amount of white space.
- *'lines'* *E593*
+ *'lines'* *E593*
'lines' number (default 24 or terminal height)
global
Number of lines of the Vim window.
@@ -3775,7 +3769,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'linespace'* *'lsp'*
'linespace' 'lsp' number (default 0)
global
- {only in the GUI}
+ only in the GUI
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.
@@ -3795,7 +3789,6 @@ A jump table for the options with a short description can be found at |Q_op|.
The '-' character is included in keyword characters. Redefines the
"=" operator to use this same indentation algorithm rather than
calling an external program if 'equalprg' is empty.
- This option is not used when 'paste' is set.
*'lispoptions'* *'lop'*
'lispoptions' 'lop' string (default "")
@@ -3825,14 +3818,14 @@ A jump table for the options with a short description can be found at |Q_op|.
The cursor is displayed at the start of the space a Tab character
occupies, not at the end as usual in Normal mode. To get this cursor
position while displaying Tabs with spaces, use: >
- :set list lcs=tab:\ \
+ :set list lcs=tab:\ \
<
Note that list mode will also affect formatting (set with 'textwidth'
or 'wrapmargin') when 'cpoptions' includes 'L'. See 'listchars' for
changing the way tabs are displayed.
*'listchars'* *'lcs'*
-'listchars' 'lcs' string (default: "tab:> ,trail:-,nbsp:+")
+'listchars' 'lcs' string (default "tab:> ,trail:-,nbsp:+")
global or local to window |global-local|
Strings to use in 'list' mode and for the |:list| command. It is a
comma-separated list of string settings.
@@ -3867,8 +3860,8 @@ A jump table for the options with a short description can be found at |Q_op|.
are left blank.
*lcs-multispace*
multispace:c...
- One or more characters to use cyclically to show for
- multiple consecutive spaces. Overrides the "space"
+ One or more characters to use cyclically to show for
+ multiple consecutive spaces. Overrides the "space"
setting, except for single spaces. When omitted, the
"space" setting is used. For example,
`:set listchars=multispace:---+` shows ten consecutive
@@ -3931,7 +3924,7 @@ A jump table for the options with a short description can be found at |Q_op|.
"precedes". |hl-Whitespace| for "nbsp", "space", "tab", "multispace",
"lead" and "trail".
- *'lpl'* *'nolpl'* *'loadplugins'* *'noloadplugins'*
+ *'loadplugins'* *'lpl'* *'noloadplugins'* *'nolpl'*
'loadplugins' 'lpl' boolean (default on)
global
When on the plugin scripts are loaded when starting up |load-plugins|.
@@ -3952,7 +3945,7 @@ A jump table for the options with a short description can be found at |Q_op|.
when you want to |/\M|.
*'makeef'* *'mef'*
-'makeef' 'mef' string (default: "")
+'makeef' 'mef' string (default "")
global
Name of the errorfile for the |:make| command (see |:make_makeprg|)
and the |:grep| command.
@@ -3966,7 +3959,7 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
- *'makeencoding'* *'menc'*
+ *'makeencoding'* *'menc'*
'makeencoding' 'menc' string (default "")
global or local to buffer |global-local|
Encoding used for reading the output of external commands. When empty,
@@ -3980,6 +3973,7 @@ A jump table for the options with a short description can be found at |Q_op|.
setting to the system locale encoding. Example: >
:set makeencoding=char " system locale is used
<
+
*'makeprg'* *'mp'*
'makeprg' 'mp' string (default "make")
global or local to buffer |global-local|
@@ -4036,7 +4030,7 @@ A jump table for the options with a short description can be found at |Q_op|.
command recursion, see |E169|.
See also |:function|.
- *'maxmapdepth'* *'mmd'* *E223*
+ *'maxmapdepth'* *'mmd'* *E223*
'maxmapdepth' 'mmd' number (default 1000)
global
Maximum number of times a mapping is done without resulting in a
@@ -4077,9 +4071,9 @@ A jump table for the options with a short description can be found at |Q_op|.
per word depends very much on how similar the words are, that's why
this tuning is complicated.
- There are three numbers, separated by commas:
+ There are three numbers, separated by commas: >
{start},{inc},{added}
-
+<
For most languages the uncompressed word tree fits in memory. {start}
gives the amount of memory in Kbyte that can be used before any
compression is done. It should be a bit smaller than the amount of
@@ -4104,17 +4098,18 @@ A jump table for the options with a short description can be found at |Q_op|.
< If you have less than 512 Mbyte |:mkspell| may fail for some
languages, no matter what you set 'mkspellmem' to.
- This option cannot be set from a |modeline| or in the |sandbox|.
+ This option cannot be set from a |modeline| or in the |sandbox|, for
+ security reasons.
- *'modeline'* *'ml'* *'nomodeline'* *'noml'*
-'modeline' 'ml' boolean (default: on (off for root))
+ *'modeline'* *'ml'* *'nomodeline'* *'noml'*
+'modeline' 'ml' boolean (default on (off for root))
local to buffer
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 |modeline|.
- *'modelineexpr'* *'mle'* *'nomodelineexpr'* *'nomle'*
-'modelineexpr' 'mle' boolean (default: off)
+ *'modelineexpr'* *'mle'* *'nomodelineexpr'* *'nomle'*
+'modelineexpr' 'mle' boolean (default off)
global
When on allow some options that are an expression to be set in the
modeline. Check the option for whether it is affected by
@@ -4129,8 +4124,8 @@ A jump table for the options with a short description can be found at |Q_op|.
checked for set commands. If 'modeline' is off or 'modelines' is zero
no lines are checked. See |modeline|.
- *'modifiable'* *'ma'* *'nomodifiable'* *'noma'*
- *E21*
+
+ *'modifiable'* *'ma'* *'nomodifiable'* *'noma'* *E21*
'modifiable' 'ma' boolean (default on)
local to buffer
When off the buffer contents cannot be changed. The 'fileformat' and
@@ -4139,7 +4134,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'modified'* *'mod'* *'nomodified'* *'nomod'*
'modified' 'mod' boolean (default off)
- local to buffer
+ local to buffer |local-noglobal|
When on, the buffer is considered to be modified. This option is set
when:
1. A change was made to the text since it was last written. Using the
@@ -4163,16 +4158,15 @@ A jump table for the options with a short description can be found at |Q_op|.
when using "rA" on an "A".
*'more'* *'nomore'*
-'more' boolean (default: on)
+'more' boolean (default on)
global
When on, listings pause when the whole screen is filled. You will get
the |more-prompt|. When this option is off there are no pauses, the
listing continues until finished.
- *'mouse'*
+ *'mouse'*
'mouse' string (default "nvi")
global
-
Enables mouse support. For example, to enable the mouse in Normal mode
and Visual mode: >
:set mouse=nv
@@ -4210,22 +4204,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'mousehide' hide mouse pointer while typing text
'selectmode' whether to start Select mode or Visual mode
- The :behave command provides some "profiles" for mouse behavior.
- *:behave* *:be*
- :be[have] {model} Set behavior for mouse and selection. Valid
- arguments are:
- mswin MS-Windows behavior
- xterm Xterm behavior
-
- Using ":behave" changes these options:
- option mswin xterm ~
- 'selectmode' "mouse,key" ""
- 'mousemodel' "popup" "extend"
- 'keymodel' "startsel,stopsel" ""
- 'selection' "exclusive" "inclusive"
-
-
- *'mousefocus'* *'mousef'* *'nomousefocus'* *'nomousef'*
+ *'mousefocus'* *'mousef'* *'nomousefocus'* *'nomousef'*
'mousefocus' 'mousef' boolean (default off)
global
The window that the mouse pointer is on is automatically activated.
@@ -4234,10 +4213,10 @@ A jump table for the options with a short description can be found at |Q_op|.
default because it makes using the pull down menus a little goofy, as
a pointer transit may activate a window unintentionally.
- *'mousehide'* *'mh'* *'nomousehide'* *'nomh'*
+ *'mousehide'* *'mh'* *'nomousehide'* *'nomh'*
'mousehide' 'mh' boolean (default on)
global
- {only works in the GUI}
+ only in the GUI
When on, the mouse pointer is hidden when characters are typed.
The mouse pointer is restored when the mouse is moved.
@@ -4292,10 +4271,8 @@ A jump table for the options with a short description can be found at |Q_op|.
"g<LeftMouse>" is "<C-LeftMouse> (jump to tag under mouse click)
"g<RightMouse>" is "<C-RightMouse> ("CTRL-T")
- The 'mousemodel' option is set by the |:behave| command.
-
- *'mousemoveevent'* *'mousemev'*
-'mousemoveevent' 'mousemev' boolean (default off)
+ *'mousemoveevent'* *'mousemev'* *'nomousemoveevent'* *'nomousemev'*
+'mousemoveevent' 'mousemev' boolean (default off)
global
When on, mouse move events are delivered to the input queue and are
available for mapping. The default, off, avoids the mouse movement
@@ -4303,12 +4280,13 @@ A jump table for the options with a short description can be found at |Q_op|.
Warning: Setting this option can make pending mappings to be aborted
when the mouse is moved.
- *'mousescroll'*
+ *'mousescroll'* *E5080*
'mousescroll' string (default "ver:3,hor:6")
global
This option controls the number of lines / columns to scroll by when
- scrolling with a mouse. The option is a comma separated list of parts.
- Each part consists of a direction and a count as follows:
+ scrolling with a mouse wheel (|scroll-mouse-wheel|). The option is
+ a comma-separated list. Each part consists of a direction and a count
+ as follows:
direction:count,direction:count
Direction is one of either "hor" or "ver". "hor" controls horizontal
scrolling and "ver" controls vertical scrolling. Count sets the amount
@@ -4325,7 +4303,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'mouseshape'* *'mouses'* *E547*
'mouseshape' 'mouses' string (default "i:beam,r:beam,s:updown,sd:cross,
- m:no,ml:up-arrow,v:rightup-arrow")
+ m:no,ml:up-arrow,v:rightup-arrow")
global
This option tells Vim what the mouse pointer should look like in
different modes. The option is a comma-separated list of parts, much
@@ -4392,7 +4370,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Defines the maximum time in msec between two mouse clicks for the
second click to be recognized as a multi click.
- *'nrformats'* *'nf'*
+ *'nrformats'* *'nf'*
'nrformats' 'nf' string (default "bin,hex")
local to buffer
This defines what bases Vim will consider for numbers when using the
@@ -4440,14 +4418,15 @@ A jump table for the options with a short description can be found at |Q_op|.
'nonu' 'nu' 'nonu' 'nu'
'nornu' 'nornu' 'rnu' 'rnu'
->
+ >
|apple | 1 apple | 2 apple | 2 apple
|pear | 2 pear | 1 pear | 1 pear
|nobody | 3 nobody | 0 nobody |3 nobody
|there | 4 there | 1 there | 1 there
<
+
*'numberwidth'* *'nuw'*
-'numberwidth' 'nuw' number (default: 4)
+'numberwidth' 'nuw' number (default 4)
local to window
Minimal number of columns to use for the line number. Only relevant
when the 'number' or 'relativenumber' option is set or printing lines
@@ -4461,7 +4440,7 @@ A jump table for the options with a short description can be found at |Q_op|.
The minimum value is 1, the maximum value is 20.
*'omnifunc'* *'ofu'*
-'omnifunc' 'ofu' string (default: empty)
+'omnifunc' 'ofu' string (default "")
local to buffer
This option specifies a function to be used for Insert mode omni
completion with CTRL-X CTRL-O. |i_CTRL-X_CTRL-O|
@@ -4474,20 +4453,18 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
-
- *'opendevice'* *'odev'* *'noopendevice'* *'noodev'*
+ *'opendevice'* *'odev'* *'noopendevice'* *'noodev'*
'opendevice' 'odev' boolean (default off)
global
- {only for Windows}
+ only for 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 Windows editing "aux.h", "lpt1.txt" and the like also
result in editing a device.
-
- *'operatorfunc'* *'opfunc'*
-'operatorfunc' 'opfunc' string (default: empty)
+ *'operatorfunc'* *'opfunc'*
+'operatorfunc' 'opfunc' string (default "")
global
This option specifies a function to be called by the |g@| operator.
See |:map-operator| for more info and an example. The value can be
@@ -4497,10 +4474,13 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
- *'packpath'* *'pp'*
-'packpath' 'pp' string (default: see 'runtimepath')
- Directories used to find packages. See |packages| and |rtp-packages|.
-
+ *'packpath'* *'pp'*
+'packpath' 'pp' string (default see 'runtimepath')
+ global
+ Directories used to find packages.
+ See |packages| and |packages-runtimepath|.
+ This option cannot be set from a |modeline| or in the |sandbox|, for
+ security reasons.
*'paragraphs'* *'para'*
'paragraphs' 'para' string (default "IPLPPPQPP TPHPLIPpLpItpplpipbp")
@@ -4508,82 +4488,13 @@ A jump table for the options with a short description can be found at |Q_op|.
Specifies the nroff macros that separate paragraphs. These are pairs
of two letters (see |object-motions|).
- *'paste'* *'nopaste'*
-'paste' boolean (default off)
- global
- This option is obsolete; |bracketed-paste-mode| is built-in.
-
- Put Vim in Paste mode. This is useful if you want to cut or copy
- some text from one window and paste it in Vim. This will avoid
- unexpected effects.
- Setting this option is useful when using Vim in a terminal, where Vim
- cannot distinguish between typed text and pasted text. In the GUI, Vim
- knows about pasting and will mostly do the right thing without 'paste'
- being set. The same is true for a terminal where Vim handles the
- mouse clicks itself.
- This option is reset when starting the GUI. Thus if you set it in
- your vimrc it will work in a terminal, but not in the GUI. Setting
- 'paste' in the GUI has side effects: e.g., the Paste toolbar button
- will no longer work in Insert mode, because it uses a mapping.
- When the 'paste' option is switched on (also when it was already on):
- - mapping in Insert mode and Command-line mode is disabled
- - abbreviations are disabled
- - 'autoindent' is reset
- - 'expandtab' is reset
- - 'hkmap' is reset
- - 'revins' is reset
- - 'ruler' is reset
- - 'showmatch' is reset
- - 'smarttab' is reset
- - 'softtabstop' is set to 0
- - 'textwidth' is set to 0
- - 'wrapmargin' is set to 0
- - 'varsofttabstop' is made empty
- These options keep their value, but their effect is disabled:
- - 'cindent'
- - 'formatoptions' is used like it is empty
- - 'indentexpr'
- - 'lisp'
- - 'smartindent'
- NOTE: When you start editing another file while the 'paste' option is
- on, settings from the modelines or autocommands may change the
- settings again, causing trouble when pasting text. You might want to
- set the 'paste' option again.
- When the 'paste' option is reset the mentioned options are restored to
- the value before the moment 'paste' was switched from off to on.
- Resetting 'paste' before ever setting it does not have any effect.
- Since mapping doesn't work while 'paste' is active, you need to use
- the 'pastetoggle' option to toggle the 'paste' option with some key.
-
- *'pastetoggle'* *'pt'*
-'pastetoggle' 'pt' string (default "")
- global
- When non-empty, specifies the key sequence that toggles the 'paste'
- option. This is like specifying a mapping: >
- :map {keys} :set invpaste<CR>
-< Where {keys} is the value of 'pastetoggle'.
- The difference is that it will work even when 'paste' is set.
- 'pastetoggle' works in Insert mode and Normal mode, but not in
- Command-line mode.
- Mappings are checked first, thus overrule 'pastetoggle'. However,
- when 'paste' is on mappings are ignored in Insert mode, thus you can do
- this: >
- :map <F10> :set paste<CR>
- :map <F11> :set nopaste<CR>
- :imap <F10> <C-O>:set paste<CR>
- :imap <F11> <nop>
- :set pastetoggle=<F11>
-< This will make <F10> start paste mode and <F11> stop paste mode.
- Note that typing <F10> in paste mode inserts "<F10>", since in paste
- mode everything is inserted literally, except the 'pastetoggle' key
- sequence.
- When the value has several bytes 'ttimeoutlen' applies.
-
- *'pex'* *'patchexpr'*
+ *'patchexpr'* *'pex'*
'patchexpr' 'pex' string (default "")
global
Expression which is evaluated to apply a patch to a file and generate
the resulting new version of the file. See |diff-patchexpr|.
+ This option cannot be set from a |modeline| or in the |sandbox|, for
+ security reasons.
*'patchmode'* *'pm'* *E205* *E206*
'patchmode' 'pm' string (default "")
@@ -4603,11 +4514,10 @@ A jump table for the options with a short description can be found at |Q_op|.
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, "/\*?[|<>" are illegal.
+ Only normal file name characters can be used, `/\*?[|<>` are illegal.
*'path'* *'pa'* *E343* *E345* *E347* *E854*
-'path' 'pa' string (default on Unix: ".,/usr/include,,"
- other systems: ".,,")
+'path' 'pa' string (default ".,,")
global or local to buffer |global-local|
This is a list of directories which will be searched when using the
|gf|, [f, ]f, ^Wf, |:find|, |:sfind|, |:tabfind| and other commands,
@@ -4616,9 +4526,9 @@ A jump table for the options with a short description can be found at |Q_op|.
option may be relative or absolute.
- Use commas to separate directory names: >
:set path=.,/usr/local/include,/usr/include
-< - Spaces can also be used to separate directory names (for backwards
- compatibility with version 3.0). To have a space in a directory
- name, precede it with an extra backslash, and escape the space: >
+< - Spaces can also be used to separate directory names. To have a
+ space in a directory name, precede it with an extra backslash, and
+ escape the space: >
:set path=.,/dir/with\\\ space
< - To include a comma in a directory name precede it with an extra
backslash: >
@@ -4657,7 +4567,7 @@ A jump table for the options with a short description can be found at |Q_op|.
< Replace the ';' with a ':' or whatever separator is used. Note that
this doesn't work when $INCL contains a comma or white space.
- *'preserveindent'* *'pi'* *'nopreserveindent'* *'nopi'*
+ *'preserveindent'* *'pi'* *'nopreserveindent'* *'nopi'*
'preserveindent' 'pi' boolean (default off)
local to buffer
When changing the indent of the current line, preserve as much of the
@@ -4673,16 +4583,15 @@ A jump table for the options with a short description can be found at |Q_op|.
Also see 'copyindent'.
Use |:retab| to clean up white space.
- *'previewheight'* *'pvh'*
-'previewheight' 'pvh' number (default 12)
+ *'previewheight'* *'pvh'*
+'previewheight' 'pvh' number (default 12)
global
Default height for a preview window. Used for |:ptag| and associated
commands. Used for |CTRL-W_}| when no count is given.
- *'previewwindow'* *'nopreviewwindow'*
- *'pvw'* *'nopvw'* *E590*
-'previewwindow' 'pvw' boolean (default off)
- local to window
+ *'previewwindow'* *'pvw'* *'nopreviewwindow'* *'nopvw'* *E590*
+'previewwindow' 'pvw' boolean (default off)
+ local to window |local-noglobal|
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
|:ptag|, |:pedit|, etc.
@@ -4726,8 +4635,8 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
- *'quickfixtextfunc'* *'qftf'*
-'quickfixtextfunc' 'qftf' string (default "")
+ *'quickfixtextfunc'* *'qftf'*
+'quickfixtextfunc' 'qftf' string (default "")
global
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
@@ -4750,9 +4659,9 @@ A jump table for the options with a short description can be found at |Q_op|.
the following character will be skipped. The default value makes the
text "foo\"bar\\" considered to be one string.
- *'readonly'* *'ro'* *'noreadonly'* *'noro'*
+ *'readonly'* *'ro'* *'noreadonly'* *'noro'*
'readonly' 'ro' boolean (default off)
- local to buffer
+ local to buffer |local-noglobal|
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".
@@ -4763,12 +4672,12 @@ A jump table for the options with a short description can be found at |Q_op|.
See 'modifiable' for disallowing changes to the buffer.
*'redrawdebug'* *'rdb'*
-'redrawdebug' 'rdb' string (default '')
+'redrawdebug' 'rdb' string (default "")
global
Flags to change the way redrawing works, for debugging purposes.
Most useful with 'writedelay' set to some reasonable value.
Supports the following flags:
- compositor Indicate what redraws come from the compositor
+ compositor Indicate each redraw event handled by the compositor
by briefly flashing the redrawn regions in colors
indicating the redraw type. These are the highlight
groups used (and their default colors):
@@ -4780,6 +4689,11 @@ A jump table for the options with a short description can be found at |Q_op|.
RedrawDebugRecompose guibg=Red redraw generated by the
compositor itself, due to a
grid being moved or deleted.
+ line introduce a delay after each line drawn on the screen.
+ When using the TUI or another single-grid UI, "compositor"
+ gives more information and should be preferred (every
+ line is processed as a separate event by the compositor)
+ flush introduce a delay after each "flush" event.
nothrottle Turn off throttling of the message grid. This is an
optimization that joins many small scrolls to one
larger scroll when drawing the message area (with
@@ -4789,7 +4703,7 @@ A jump table for the options with a short description can be found at |Q_op|.
useful when running nvim inside a debugger (and
the test suite).
nodelta Send all internally redrawn cells to the UI, even if
- they are unchanged from the already displayed state.
+ they are unchanged from the already displayed state.
*'redrawtime'* *'rdt'*
'redrawtime' 'rdt' number (default 2000)
@@ -4841,7 +4755,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'number', see |number_relativenumber| for all combinations of the two
options.
- *'report'*
+ *'report'*
'report' number (default 2)
global
Threshold for reporting number of lines changed. When the number of
@@ -4856,10 +4770,8 @@ A jump table for the options with a short description can be found at |Q_op|.
Inserting characters in Insert mode will work backwards. See "typing
backwards" |ins-reverse|. This option can be toggled with the CTRL-_
command in Insert mode, when 'allowrevins' is set.
- This option is reset when 'paste' is set and restored when 'paste' is
- reset.
- *'rightleft'* *'rl'* *'norightleft'* *'norl'*
+ *'rightleft'* *'rl'* *'norightleft'* *'norl'*
'rightleft' 'rl' boolean (default off)
local to window
When on, display orientation becomes right-to-left, i.e., characters
@@ -4872,7 +4784,7 @@ A jump table for the options with a short description can be found at |Q_op|.
and left-to-right strings so that both sets are displayed properly
in different windows). Also see |rileft.txt|.
- *'rightleftcmd'* *'rlc'*
+ *'rightleftcmd'* *'rlc'*
'rightleftcmd' 'rlc' string (default "search")
local to window
Each word in this option enables the command line editing to work in
@@ -4883,7 +4795,7 @@ A jump table for the options with a short description can be found at |Q_op|.
This is useful for languages such as Hebrew, Arabic and Farsi.
The 'rightleft' option must be set for 'rightleftcmd' to take effect.
- *'ruler'* *'ru'* *'noruler'* *'noru'*
+ *'ruler'* *'ru'* *'noruler'* *'noru'*
'ruler' 'ru' boolean (default on)
global
Show the line and column number of the cursor position, separated by a
@@ -4906,13 +4818,11 @@ A jump table for the options with a short description can be found at |Q_op|.
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" |g_CTRL-G|.
*'rulerformat'* *'ruf'*
-'rulerformat' 'ruf' string (default empty)
+'rulerformat' 'ruf' string (default "")
global
When this option is not empty, it determines the content of the ruler
string, as displayed for the 'ruler' option.
@@ -4924,24 +4834,25 @@ A jump table for the options with a short description can be found at |Q_op|.
Example: >
:set rulerformat=%15(%c%V\ %p%%%)
<
- *'runtimepath'* *'rtp'* *vimfiles*
-'runtimepath' 'rtp' string (default: "$XDG_CONFIG_HOME/nvim,
- $XDG_CONFIG_DIRS[1]/nvim,
- $XDG_CONFIG_DIRS[2]/nvim,
- …
- $XDG_DATA_HOME/nvim[-data]/site,
- $XDG_DATA_DIRS[1]/nvim/site,
- $XDG_DATA_DIRS[2]/nvim/site,
- …
- $VIMRUNTIME,
- …
- $XDG_DATA_DIRS[2]/nvim/site/after,
- $XDG_DATA_DIRS[1]/nvim/site/after,
- $XDG_DATA_HOME/nvim[-data]/site/after,
- …
- $XDG_CONFIG_DIRS[2]/nvim/after,
- $XDG_CONFIG_DIRS[1]/nvim/after,
- $XDG_CONFIG_HOME/nvim/after")
+
+ *'runtimepath'* *'rtp'* *vimfiles*
+'runtimepath' 'rtp' string (default "$XDG_CONFIG_HOME/nvim,
+ $XDG_CONFIG_DIRS[1]/nvim,
+ $XDG_CONFIG_DIRS[2]/nvim,
+ …
+ $XDG_DATA_HOME/nvim[-data]/site,
+ $XDG_DATA_DIRS[1]/nvim/site,
+ $XDG_DATA_DIRS[2]/nvim/site,
+ …
+ $VIMRUNTIME,
+ …
+ $XDG_DATA_DIRS[2]/nvim/site/after,
+ $XDG_DATA_DIRS[1]/nvim/site/after,
+ $XDG_DATA_HOME/nvim[-data]/site/after,
+ …
+ $XDG_CONFIG_DIRS[2]/nvim/after,
+ $XDG_CONFIG_DIRS[1]/nvim/after,
+ $XDG_CONFIG_HOME/nvim/after")
global
List of directories to be searched for these runtime files:
filetype.lua filetypes |new-filetype|
@@ -4958,7 +4869,7 @@ A jump table for the options with a short description can be found at |Q_op|.
pack/ packages |:packadd|
parser/ |treesitter| syntax parsers
plugin/ plugin scripts |write-plugin|
- query/ |treesitter| queries
+ queries/ |treesitter| queries
rplugin/ |remote-plugin| scripts
spell/ spell checking files |spell|
syntax/ syntax files |mysyntaxfile|
@@ -4969,7 +4880,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Defaults are setup to search these locations:
1. Your home directory, for personal preferences.
Given by `stdpath("config")`. |$XDG_CONFIG_HOME|
- 2. Directories which must contain configuration files according to
+ 2. Directories which must contain configuration files according to
|xdg| ($XDG_CONFIG_DIRS, defaults to /etc/xdg). This also contains
preferences from system administrator.
3. Data home directory, for plugins installed by user.
@@ -5011,8 +4922,8 @@ A jump table for the options with a short description can be found at |Q_op|.
With |--clean| the home directory entries are not included.
*'scroll'* *'scr'*
-'scroll' 'scr' number (default: half the window height)
- local to window
+'scroll' 'scr' number (default half the window height)
+ local to window |local-noglobal|
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 |status-line| or
@@ -5022,19 +4933,22 @@ A jump table for the options with a short description can be found at |Q_op|.
height with ":set scroll=0".
*'scrollback'* *'scbk'*
-'scrollback' 'scbk' number (default: 10000)
+'scrollback' 'scbk' number (default 10000)
local to buffer
Maximum number of lines kept beyond the visible screen. Lines at the
top are deleted if new lines exceed this limit.
Minimum is 1, maximum is 100000.
Only in |terminal| buffers.
+ Note: Lines that are not visible and kept in scrollback are not
+ reflown when the terminal buffer is resized horizontally.
+
*'scrollbind'* *'scb'* *'noscrollbind'* *'noscb'*
-'scrollbind' 'scb' boolean (default off)
+'scrollbind' 'scb' boolean (default off)
local to window
- See also |scroll-binding|. When this option is set, the current
- window scrolls as other scrollbind windows (windows that also have
- this option set) scroll. This option is useful for viewing the
+ See also |scroll-binding|. When this option is set, scrolling the
+ 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
interpreted.
@@ -5125,8 +5039,6 @@ A jump table for the options with a short description can be found at |Q_op|.
backwards, you cannot include the last character of a line, when
starting in Normal mode and 'virtualedit' empty.
- The 'selection' option is set by the |:behave| command.
-
*'selectmode'* *'slm'*
'selectmode' 'slm' string (default "")
global
@@ -5137,11 +5049,9 @@ A jump table for the options with a short description can be found at |Q_op|.
key when using shifted special keys
cmd when using "v", "V" or CTRL-V
See |Select-mode|.
- The 'selectmode' option is set by the |:behave| command.
- *'sessionoptions'* *'ssop'*
-'sessionoptions' 'ssop' string (default: "blank,buffers,curdir,folds,
- help,tabpages,winsize,terminal")
+ *'sessionoptions'* *'ssop'*
+'sessionoptions' 'ssop' string (default "blank,buffers,curdir,folds,help,tabpages,winsize,terminal")
global
Changes the effect of the |:mksession| command. It is a comma-
separated list of words. Each word enables saving and restoring
@@ -5180,10 +5090,11 @@ A jump table for the options with a short description can be found at |Q_op|.
filenames are stored as absolute paths.
If you leave out "options" many things won't work well after restoring
the session.
- *'shada'* *'sd'* *E526* *E527* *E528*
+
+ *'shada'* *'sd'* *E526* *E527* *E528*
'shada' 'sd' string (default for
- Win32: !,'100,<50,s10,h,rA:,rB:
- others: !,'100,<50,s10,h)
+ Win32: !,'100,<50,s10,h,rA:,rB:
+ others: !,'100,<50,s10,h)
global
When non-empty, the shada file is read upon startup and written
when exiting Vim (see |shada-file|). The string should be a comma-
@@ -5209,8 +5120,8 @@ A jump table for the options with a short description can be found at |Q_op|.
% When included, save and restore the buffer list. If Vim is
started with a file name argument, the buffer list is not
restored. If Vim is started without a file name argument, the
- buffer list is restored from the shada file. Quickfix
- ('buftype'), unlisted ('buflisted'), unnamed and buffers on
+ buffer list is restored from the shada file. Quickfix
+ ('buftype'), unlisted ('buflisted'), unnamed and buffers on
removable media (|shada-r|) are not saved.
When followed by a number, the number specifies the maximum
number of buffers that are stored. Without a number all
@@ -5238,8 +5149,8 @@ A jump table for the options with a short description can be found at |Q_op|.
@ Maximum number of items in the input-line history to be
saved. When not included, the value of 'history' is used.
*shada-c*
- c Dummy option, kept for compatibility reasons. Has no actual
- effect: ShaDa always uses UTF-8 and 'encoding' value is fixed
+ c Dummy option, kept for compatibility reasons. Has no actual
+ effect: ShaDa always uses UTF-8 and 'encoding' value is fixed
to UTF-8 as well.
*shada-f*
f Whether file marks need to be stored. If zero, file marks ('0
@@ -5264,13 +5175,13 @@ A jump table for the options with a short description can be found at |Q_op|.
could use "ra:,rb:". You can also use it for temp files,
e.g., for Unix: "r/tmp". Case is ignored.
*shada-s*
- s Maximum size of an item contents in KiB. If zero then nothing
- is saved. Unlike Vim this applies to all items, except for
- the buffer list and header. Full item size is off by three
- unsigned integers: with `s10` maximum item size may be 1 byte
- (type: 7-bit integer) + 9 bytes (timestamp: up to 64-bit
- integer) + 3 bytes (item size: up to 16-bit integer because
- 2^8 < 10240 < 2^16) + 10240 bytes (requested maximum item
+ s Maximum size of an item contents in KiB. If zero then nothing
+ is saved. Unlike Vim this applies to all items, except for
+ the buffer list and header. Full item size is off by three
+ unsigned integers: with `s10` maximum item size may be 1 byte
+ (type: 7-bit integer) + 9 bytes (timestamp: up to 64-bit
+ integer) + 3 bytes (item size: up to 16-bit integer because
+ 2^8 < 10240 < 2^16) + 10240 bytes (requested maximum item
contents size) = 10253 bytes.
Example: >
@@ -5280,7 +5191,7 @@ A jump table for the options with a short description can be found at |Q_op|.
edited.
<1000 Contents of registers (up to 1000 lines each) will be
remembered.
- s100 Items with contents occupying more then 100 KiB are
+ s100 Items with contents occupying more then 100 KiB are
skipped.
:0 Command-line history will not be saved.
n~/nvim/shada The name of the file to use is "~/nvim/shada".
@@ -5296,8 +5207,8 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
- *'shadafile'* *'sdf'*
-'shadafile' 'sdf' string (default: "")
+ *'shadafile'* *'sdf'*
+'shadafile' 'sdf' string (default "")
global
When non-empty, overrides the file name used for |shada| (viminfo).
When equal to "NONE" no shada file will be read or written.
@@ -5319,44 +5230,44 @@ A jump table for the options with a short description can be found at |Q_op|.
If the name of the shell contains a space, you need to enclose it in
quotes. Example with quotes: >
:set shell=\"c:\program\ files\unix\sh.exe\"\ -f
-< Note the backslash before each quote (to avoid starting a comment) and
- each space (to avoid ending the option value), so better use |:let-&|
+< Note the backslash before each quote (to avoid starting a comment) and
+ each space (to avoid ending the option value), so better use |:let-&|
like this: >
:let &shell='"C:\Program Files\unix\sh.exe" -f'
-< Also note that the "-f" is not inside the quotes, because it is not
+< Also note that the "-f" is not inside the quotes, because it is not
part of the command name.
*shell-unquoting*
Rules regarding quotes:
- 1. Option is split on space and tab characters that are not inside
- quotes: "abc def" runs shell named "abc" with additional argument
- "def", '"abc def"' runs shell named "abc def" with no additional
- arguments (here and below: additional means “additional to
+ 1. Option is split on space and tab characters that are not inside
+ quotes: "abc def" runs shell named "abc" with additional argument
+ "def", '"abc def"' runs shell named "abc def" with no additional
+ arguments (here and below: additional means “additional to
'shellcmdflag'”).
- 2. Quotes in option may be present in any position and any number:
- '"abc"', '"a"bc', 'a"b"c', 'ab"c"' and '"a"b"c"' are all equivalent
+ 2. Quotes in option may be present in any position and any number:
+ '"abc"', '"a"bc', 'a"b"c', 'ab"c"' and '"a"b"c"' are all equivalent
to just "abc".
- 3. Inside quotes backslash preceding backslash means one backslash.
- Backslash preceding quote means one quote. Backslash preceding
- anything else means backslash and next character literally:
- '"a\\b"' is the same as "a\b", '"a\\"b"' runs shell named literally
+ 3. Inside quotes backslash preceding backslash means one backslash.
+ Backslash preceding quote means one quote. Backslash preceding
+ anything else means backslash and next character literally:
+ '"a\\b"' is the same as "a\b", '"a\\"b"' runs shell named literally
'a"b', '"a\b"' is the same as "a\b" again.
- 4. Outside of quotes backslash always means itself, it cannot be used
+ 4. Outside of quotes backslash always means itself, it cannot be used
to escape quote: 'a\"b"' is the same as "a\b".
- Note that such processing is done after |:set| did its own round of
+ Note that such processing is done after |:set| did its own round of
unescaping, so to keep yourself sane use |:let-&| like shown above.
*shell-powershell*
To use PowerShell: >
let &shell = executable('pwsh') ? 'pwsh' : 'powershell'
- let &shellcmdflag = '-NoLogo -NoProfile -ExecutionPolicy RemoteSigned -Command [Console]::InputEncoding=[Console]::OutputEncoding=[System.Text.Encoding]::UTF8;'
- let &shellredir = '2>&1 | Out-File -Encoding UTF8 %s; exit $LastExitCode'
- let &shellpipe = '2>&1 | Out-File -Encoding UTF8 %s; exit $LastExitCode'
+ let &shellcmdflag = '-NoLogo -ExecutionPolicy RemoteSigned -Command [Console]::InputEncoding=[Console]::OutputEncoding=[System.Text.UTF8Encoding]::new();$PSDefaultParameterValues[''Out-File:Encoding'']=''utf8'';Remove-Alias -Force -ErrorAction SilentlyContinue tee;'
+ let &shellredir = '2>&1 | %%{ "$_" } | Out-File %s; exit $LastExitCode'
+ let &shellpipe = '2>&1 | %%{ "$_" } | tee %s; exit $LastExitCode'
set shellquote= shellxquote=
< This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'shellcmdflag'* *'shcf'*
-'shellcmdflag' 'shcf' string (default: "-c"; Windows: "/s /c")
+'shellcmdflag' 'shcf' string (default "-c"; Windows: "/s /c")
global
Flag passed to the shell to execute "!" and ":!" commands; e.g.,
`bash.exe -c ls` or `cmd.exe /s /c "dir"`. For MS-Windows, the
@@ -5365,14 +5276,13 @@ A jump table for the options with a short description can be found at |Q_op|.
On Unix it can have more than one flag. Each white space separated
part is passed as an argument to the shell command.
See |option-backslash| about including spaces and backslashes.
- See |shell-unquoting| which talks about separating this option into
+ See |shell-unquoting| which talks about separating this option into
multiple arguments.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'shellpipe'* *'sp'*
-'shellpipe' 'sp' string (default ">", ">%s 2>&1", "| tee", "|& tee" or
- "2>&1| tee")
+'shellpipe' 'sp' string (default ">", "| tee", "|& tee" or "2>&1| tee")
global
String to be used to put the output of the ":make" command in the
error file. See also |:make_makeprg|. See |option-backslash| about
@@ -5380,8 +5290,8 @@ A jump table for the options with a short description can be found at |Q_op|.
The name of the temporary file can be represented by "%s" if necessary
(the file name is appended automatically if no %s appears in the value
of this option).
- For MS-Windows the default is ">%s 2>&1". The output is directly
- saved in a file and not echoed to the screen.
+ For MS-Windows the default is "2>&1| tee". The stdout and stderr are
+ saved in a file and echoed to the screen.
For Unix the default is "| tee". The stdout of the compiler is saved
in a file and echoed to the screen. If the 'shell' option is "csh" or
"tcsh" after initializations, the default becomes "|& tee". If the
@@ -5404,8 +5314,8 @@ A jump table for the options with a short description can be found at |Q_op|.
security reasons.
*'shellquote'* *'shq'*
-'shellquote' 'shq' string (default: ""; Windows, when 'shell'
- contains "sh" somewhere: "\"")
+'shellquote' 'shq' string (default ""; Windows, when 'shell'
+ contains "sh" somewhere: "\"")
global
Quoting character(s), put around the command passed to the shell, for
the "!" and ":!" commands. The redirection is kept outside of the
@@ -5447,7 +5357,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'shellslash'* *'ssl'* *'noshellslash'* *'nossl'*
'shellslash' 'ssl' boolean (default off)
global
- {only for MS-Windows}
+ only for MS-Windows
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. Backward
slashes can still be typed, but they are changed to forward slashes by
@@ -5475,14 +5385,16 @@ A jump table for the options with a short description can be found at |Q_op|.
|system()| does not respect this option, it always uses pipes.
*'shellxescape'* *'sxe'*
-'shellxescape' 'sxe' string (default: "")
+'shellxescape' 'sxe' string (default "")
global
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 |modeline| or in the |sandbox|, for
+ security reasons.
*'shellxquote'* *'sxq'*
-'shellxquote' 'sxq' string (default: "", Windows: "\"")
+'shellxquote' 'sxq' string (default "", Windows: "\"")
global
Quoting character(s), put around the command passed to the shell, for
the "!" and ":!" commands. Includes the redirection. See
@@ -5506,27 +5418,21 @@ A jump table for the options with a short description can be found at |Q_op|.
local to buffer
Number of spaces to use for each step of (auto)indent. Used for
|'cindent'|, |>>|, |<<|, etc.
- When zero the 'ts' value will be used. Use the |shiftwidth()|
+ When zero the 'tabstop' value will be used. Use the |shiftwidth()|
function to get the effective shiftwidth value.
- *'shortmess'* *'shm'*
-'shortmess' 'shm' string (default "filnxtToOF")
+ *'shortmess'* *'shm'* *E1336*
+'shortmess' 'shm' string (default "ltToOCF")
global
This option helps to avoid all the |hit-enter| prompts caused by file
messages, for example with CTRL-G, and to avoid some other messages.
It is a list of flags:
flag meaning when present ~
- f use "(3 of 5)" instead of "(file 3 of 5)" *shm-f*
- i use "[noeol]" instead of "[Incomplete last line]" *shm-i*
l use "999L, 888B" instead of "999 lines, 888 bytes" *shm-l*
m use "[+]" instead of "[Modified]" *shm-m*
- n use "[New]" instead of "[New File]" *shm-n*
r use "[RO]" instead of "[readonly]" *shm-r*
w use "[w]" instead of "written" for file write message *shm-w*
and "[a]" instead of "appended" for ':w >> file' command
- x use "[dos]" instead of "[dos format]", "[unix]" *shm-x*
- instead of "[unix format]" and "[mac]" instead of "[mac
- format]"
a all of the above abbreviations *shm-a*
o overwrite message for writing a file with subsequent *shm-o*
@@ -5548,7 +5454,7 @@ A jump table for the options with a short description can be found at |Q_op|.
A don't give the "ATTENTION" message when an existing *shm-A*
swap file is found
I don't give the intro message when starting Vim, *shm-I*
- see |:intro|
+ see |:intro|
c don't give |ins-completion-menu| messages; for *shm-c*
example, "-- XXX completion (YYY)", "match 1 of 2", "The only
match", "Pattern not found", "Back at original", etc.
@@ -5557,8 +5463,8 @@ A jump table for the options with a short description can be found at |Q_op|.
q use "recording" instead of "recording @a" *shm-q*
F don't give the file info when editing a file, like *shm-F*
`:silent` was used for the command
- S do not show search count message when searching, e.g. *shm-S*
- "[1/5]"
+ S do not show search count message when searching, e.g. *shm-S*
+ "[1/5]"
This gives you the opportunity to avoid that a change between buffers
requires you to hit <Enter>, but still gives as useful a message as
@@ -5569,14 +5475,12 @@ A jump table for the options with a short description can be found at |Q_op|.
shm=a Abbreviation, but no loss of information.
shm=at Abbreviation, and truncate message when necessary.
- *'showbreak'* *'sbr'* *E595*
+ *'showbreak'* *'sbr'* *E595*
'showbreak' 'sbr' string (default "")
global or local to window |global-local|
String to put at the start of lines that have been wrapped. Useful
values are "> " or "+++ ": >
- :set showbreak=>\
-< Note the backslash to escape the trailing space. It's easier like
- this: >
+ :let &showbreak = "> "
:let &showbreak = '+++ '
< Only printable single-cell characters are allowed, excluding <Tab> and
comma (in a future version the comma might be used to separate the
@@ -5589,8 +5493,9 @@ A jump table for the options with a short description can be found at |Q_op|.
set and you want no value in the current window use NONE: >
:setlocal showbreak=NONE
<
- *'showcmd'* *'sc'* *'noshowcmd'* *'nosc'*
-'showcmd' 'sc' boolean (default: on)
+
+ *'showcmd'* *'sc'* *'noshowcmd'* *'nosc'*
+'showcmd' 'sc' boolean (default on)
global
Show (partial) command in the last line of the screen. Set this
option off if your terminal is slow.
@@ -5604,7 +5509,7 @@ A jump table for the options with a short description can be found at |Q_op|.
This information can be displayed in an alternative location using the
'showcmdloc' option, useful when 'cmdheight' is 0.
- *'showcmdloc'* *'sloc'*
+ *'showcmdloc'* *'sloc'*
'showcmdloc' 'sloc' string (default "last")
global
This option can be used to display the (partially) entered command in
@@ -5620,7 +5525,7 @@ A jump table for the options with a short description can be found at |Q_op|.
displayed in a convenient location.
*'showfulltag'* *'sft'* *'noshowfulltag'* *'nosft'*
-'showfulltag' 'sft' boolean (default off)
+'showfulltag' 'sft' boolean (default off)
global
When completing a word in insert mode (see |ins-completion|) from the
tags file, show both the tag name and a tidied-up form of the search
@@ -5631,7 +5536,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'completeopt', because the completion from the search pattern may not
match the typed text.
- *'showmatch'* *'sm'* *'noshowmatch'* *'nosm'*
+ *'showmatch'* *'sm'* *'noshowmatch'* *'nosm'*
'showmatch' 'sm' boolean (default off)
global
When a bracket is inserted, briefly jump to the matching one. The
@@ -5639,8 +5544,6 @@ A jump table for the options with a short description can be found at |Q_op|.
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
@@ -5652,8 +5555,8 @@ A jump table for the options with a short description can be found at |Q_op|.
around |pi_paren.txt|.
Note: Use of the short form is rated PG.
- *'showmode'* *'smd'* *'noshowmode'* *'nosmd'*
-'showmode' 'smd' boolean (default: on)
+ *'showmode'* *'smd'* *'noshowmode'* *'nosmd'*
+'showmode' 'smd' boolean (default on)
global
If in Insert, Replace or Visual mode put a message on the last line.
The |hl-ModeMsg| highlight group determines the highlighting.
@@ -5680,8 +5583,8 @@ A jump table for the options with a short description can be found at |Q_op|.
When using a slow terminal set it to a large number or 0. Not used
for "zh" and "zl" commands.
- *'sidescrolloff'* *'siso'*
-'sidescrolloff' 'siso' number (default 0)
+ *'sidescrolloff'* *'siso'*
+'sidescrolloff' 'siso' number (default 0)
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
@@ -5703,11 +5606,12 @@ A jump table for the options with a short description can be found at |Q_op|.
:set nowrap sidescroll=1 listchars=extends:>,precedes:<
:set sidescrolloff=1
<
+
*'signcolumn'* *'scl'*
'signcolumn' 'scl' string (default "auto")
local to window
When and how to draw the signcolumn. Valid values are:
- "auto" only when there is a sign to display
+ "auto" only when there is a sign to display
"auto:[1-9]" resize to accommodate multiple signs up to the
given number (maximum 9), e.g. "auto:4"
"auto:[1-8]-[2-9]"
@@ -5716,20 +5620,13 @@ A jump table for the options with a short description can be found at |Q_op|.
at least the given minimum (maximum 8) fixed
space. The minimum number should always be less
than the maximum number, e.g. "auto:2-5"
- "no" never
- "yes" always
+ "no" never
+ "yes" always
"yes:[1-9]" always, with fixed space for signs up to the given
number (maximum 9), e.g. "yes:3"
"number" display signs in the 'number' column. If the number
column is not present, then behaves like "auto".
- Note regarding "orphaned signs": with signcolumn numbers higher than
- 1, deleting lines will also remove the associated signs automatically,
- in contrast to the default Vim behavior of keeping and grouping them.
- This is done in order for the signcolumn appearance not appear weird
- during line deletion.
-
-
*'smartcase'* *'scs'* *'nosmartcase'* *'noscs'*
'smartcase' 'scs' boolean (default off)
global
@@ -5740,7 +5637,7 @@ A jump table for the options with a short description can be found at |Q_op|.
"*" and "#" you can make 'smartcase' used by doing a "/" command,
recalling the search pattern from history and hitting <Enter>.
- *'smartindent'* *'si'* *'nosmartindent'* *'nosi'*
+ *'smartindent'* *'si'* *'nosmartindent'* *'nosi'*
'smartindent' 'si' boolean (default off)
local to buffer
Do smart autoindenting when starting a new line. Works for C-like
@@ -5762,10 +5659,8 @@ A jump table for the options with a short description can be found at |Q_op|.
mapping: ":inoremap # X^H#", where ^H is entered with CTRL-V CTRL-H.
When using the ">>" command, lines starting with '#' are not shifted
right.
- This option is reset when 'paste' is set and restored when 'paste' is
- reset.
- *'smarttab'* *'sta'* *'nosmarttab'* *'nosta'*
+ *'smarttab'* *'sta'* *'nosmarttab'* *'nosta'*
'smarttab' 'sta' boolean (default on)
global
When on, a <Tab> in front of a line inserts blanks according to
@@ -5778,10 +5673,20 @@ A jump table for the options with a short description can be found at |Q_op|.
What gets inserted (a <Tab> or spaces) depends on the 'expandtab'
option. Also see |ins-expandtab|. When 'expandtab' is not set, the
number of spaces is minimized by using <Tab>s.
- This option is reset when 'paste' is set and restored when 'paste' is
- reset.
- *'softtabstop'* *'sts'*
+ *'smoothscroll'* *'sms'* *'nosmoothscroll'* *'nosms'*
+'smoothscroll' 'sms' boolean (default off)
+ local to window
+ Scrolling works with screen lines. When 'wrap' is set and the first
+ line in the window wraps part of it may not be visible, as if it is
+ above the window. "<<<" is displayed at the start of the first line,
+ highlighted with |hl-NonText|.
+ You may also want to add "lastline" to the 'display' option to show as
+ much of the last line as possible.
+ NOTE: only partly implemented, currently works with CTRL-E, CTRL-Y
+ and scrolling with the mouse.
+
+ *'softtabstop'* *'sts'*
'softtabstop' 'sts' number (default 0)
local to buffer
Number of spaces that a <Tab> counts for while performing editing
@@ -5792,8 +5697,6 @@ A jump table for the options with a short description can be found at |Q_op|.
commands like "x" still work on the actual characters.
When 'sts' is zero, this feature is off.
When 'sts' is negative, the value of 'shiftwidth' is used.
- 'softtabstop' is set to 0 when the 'paste' option is set and restored
- when 'paste' is reset.
See also |ins-expandtab|. When 'expandtab' is not set, the number of
spaces is minimized by using <Tab>s.
The 'L' flag in 'cpoptions' changes how tabs are used when 'list' is
@@ -5809,7 +5712,7 @@ A jump table for the options with a short description can be found at |Q_op|.
The languages are specified with 'spelllang'.
*'spellcapcheck'* *'spc'*
-'spellcapcheck' 'spc' string (default "[.?!]\_[\])'" \t]\+")
+'spellcapcheck' 'spc' string (default "[.?!]\_[\])'"\t ]\+")
local to buffer
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
@@ -5822,11 +5725,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|set-spc-auto|.
*'spellfile'* *'spf'*
-'spellfile' 'spf' string (default empty)
+'spellfile' 'spf' string (default "")
local to buffer
Name of the word list file where words are added for the |zg| and |zw|
commands. It must end in ".{encoding}.add". You need to include the
path, otherwise the file is placed in the current directory.
+ The path may include characters from 'isfname', space, comma and '@'.
*E765*
It may also be a comma-separated list of names. A count before the
|zg| and |zw| commands can be used to access each. This allows using
@@ -5965,14 +5869,13 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
-
*'splitbelow'* *'sb'* *'nosplitbelow'* *'nosb'*
'splitbelow' 'sb' boolean (default off)
global
When on, splitting a window will put the new window below the current
one. |:split|
- *'splitkeep'* *'spk'*
+ *'splitkeep'* *'spk'*
'splitkeep' 'spk' string (default "cursor")
global
The value of this option determines the scroll behavior when opening,
@@ -5994,21 +5897,22 @@ A jump table for the options with a short description can be found at |Q_op|.
When on, splitting a window will put the new window right of the
current one. |:vsplit|
- *'startofline'* *'sol'* *'nostartofline'* *'nosol'*
+ *'startofline'* *'sol'* *'nostartofline'* *'nosol'*
'startofline' 'sol' boolean (default off)
global
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: CTRL-D, CTRL-U, CTRL-B,
- CTRL-F, "G", "H", "M", "L", gg, and to the commands "d", "<<" and ">>"
- with a linewise operator, with "%" with a count and to buffer changing
- commands (CTRL-^, :bnext, :bNext, etc.). Also for an Ex command that
- only has a line number, e.g., ":25" or ":+".
+ (if possible). This applies to the commands:
+ - CTRL-D, CTRL-U, CTRL-B, CTRL-F, "G", "H", "M", "L", "gg"
+ - "d", "<<" and ">>" with a linewise operator
+ - "%" with a count
+ - buffer changing commands (CTRL-^, :bnext, :bNext, etc.)
+ - Ex commands that only have a line number, e.g., ":25" or ":+".
In case of buffer changing commands the cursor is placed at the column
where it was the last time the buffer was edited.
- *'statuscolumn'* *'stc'*
-'statuscolumn' 'stc' string (default: empty)
+ *'statuscolumn'* *'stc'*
+'statuscolumn' 'stc' string (default "")
local to window
EXPERIMENTAL
When non-empty, this option determines the content of the area to the
@@ -6061,8 +5965,8 @@ A jump table for the options with a short description can be found at |Q_op|.
< WARNING: this expression is evaluated for each screen line so defining
an expensive expression can negatively affect render performance.
- *'statusline'* *'stl'* *E540* *E542*
-'statusline' 'stl' string (default empty)
+ *'statusline'* *'stl'* *E540* *E542*
+'statusline' 'stl' string (default "")
global or local to window |global-local|
When non-empty, this option determines the content of the status line.
Also see |status-line|.
@@ -6166,41 +6070,45 @@ A jump table for the options with a short description can be found at |Q_op|.
( - Start of item group. Can be used for setting the width and
alignment of a section. Must be followed by %) somewhere.
) - End of item group. No width fields allowed.
- T N For 'tabline': start of tab page N label. Use %T or %X to end
- the label. Clicking this label with left mouse button switches
+ T N For 'tabline': start of tab page N label. Use %T or %X to end
+ the label. Clicking this label with left mouse button switches
to the specified tab page.
- X N For 'tabline': start of close tab N label. Use %X or %T to end
- the label, e.g.: %3Xclose%X. Use %999X for a "close current
- tab" label. Clicking this label with left mouse button closes
+ X N For 'tabline': start of close tab N label. Use %X or %T to end
+ the label, e.g.: %3Xclose%X. Use %999X for a "close current
+ tab" label. Clicking this label with left mouse button closes
specified tab page.
- @ N Start of execute function label. Use %X or %T to
- end the label, e.g.: %10@SwitchBuffer@foo.c%X. Clicking this
- label runs specified function: in the example when clicking once
- using left mouse button on "foo.c" "SwitchBuffer(10, 1, 'l',
- ' ')" expression will be run. Function receives the
+ @ N Start of execute function label. Use %X or %T to
+ end the label, e.g.: %10@SwitchBuffer@foo.c%X. Clicking this
+ label runs specified function: in the example when clicking once
+ using left mouse button on "foo.c" "SwitchBuffer(10, 1, 'l',
+ ' ')" expression will be run. Function receives the
following arguments in order:
1. minwid field value or zero if no N was specified
2. number of mouse clicks to detect multiple clicks
- 3. mouse button used: "l", "r" or "m" for left, right or middle
- button respectively; one should not rely on third argument
- being only "l", "r" or "m": any other non-empty string value
- that contains only ASCII lower case letters may be expected
+ 3. mouse button used: "l", "r" or "m" for left, right or middle
+ button respectively; one should not rely on third argument
+ being only "l", "r" or "m": any other non-empty string value
+ that contains only ASCII lower case letters may be expected
for other mouse buttons
- 4. modifiers pressed: string which contains "s" if shift
- modifier was pressed, "c" for control, "a" for alt and "m"
- for meta; currently if modifier is not pressed string
- contains space instead, but one should not rely on presence
- of spaces or specific order of modifiers: use |stridx()| to
- test whether some modifier is present; string is guaranteed
- to contain only ASCII letters and spaces, one letter per
- modifier; "?" modifier may also be present, but its presence
- is a bug that denotes that new mouse button recognition was
- added without modifying code that reacts on mouse clicks on
+ 4. modifiers pressed: string which contains "s" if shift
+ modifier was pressed, "c" for control, "a" for alt and "m"
+ for meta; currently if modifier is not pressed string
+ contains space instead, but one should not rely on presence
+ of spaces or specific order of modifiers: use |stridx()| to
+ test whether some modifier is present; string is guaranteed
+ to contain only ASCII letters and spaces, one letter per
+ modifier; "?" modifier may also be present, but its presence
+ is a bug that denotes that new mouse button recognition was
+ added without modifying code that reacts on mouse clicks on
this label.
+ Use |getmousepos()|.winid in the specified function to get the
+ corresponding window id of the clicked item.
< - Where to truncate line if too long. Default is at the start.
No width fields allowed.
- = - Separation point between alignment sections. Each section will
- be separated by an equal number of spaces.
+ = - Separation point between alignment sections. Each section will
+ be separated by an equal number of spaces. With one %= what
+ comes after it will be right-aligned. With two %= there is a
+ middle part, with white space left and right of it.
No width fields allowed.
# - Set highlight group. The name must follow and then a # again.
Thus use %#HLname# for highlight group HLname. The same
@@ -6208,8 +6116,8 @@ A jump table for the options with a short description can be found at |Q_op|.
windows.
* - Set highlight group to User{N}, where {N} is taken from the
minwid field, e.g. %1*. Restore normal highlight with %* or %0*.
- The difference between User{N} and StatusLine will be applied
- to StatusLineNC for the statusline of non-current windows.
+ The difference between User{N} and StatusLine will be applied to
+ StatusLineNC for the statusline of non-current windows.
The number N must be between 1 and 9. See |hl-User1..9|
When displaying a flag, Vim removes the leading comma, if any, when
@@ -6269,6 +6177,7 @@ A jump table for the options with a short description can be found at |Q_op|.
: if exists(a:var) | return a:val | else | return '' | endif
:endfunction
<
+
*'suffixes'* *'su'*
'suffixes' 'su' string (default ".bak,~,.o,.h,.info,.swp,.obj")
global
@@ -6290,8 +6199,9 @@ A jump table for the options with a short description can be found at |Q_op|.
file for the "gf", "[I", etc. commands. Example: >
:set suffixesadd=.java
<
+
*'swapfile'* *'swf'* *'noswapfile'* *'noswf'*
-'swapfile' 'swf' boolean (default on)
+'swapfile' 'swf' boolean (default on)
local to buffer
Use a swapfile for the buffer. This option can be reset when a
swapfile is not wanted for a specific buffer. For example, with
@@ -6316,16 +6226,18 @@ A jump table for the options with a short description can be found at |Q_op|.
'switchbuf' 'swb' string (default "uselast")
global
This option controls the behavior when switching between buffers.
- Mostly for |quickfix| commands some values are also used for other
- commands, as mentioned below.
+ This option is checked, when
+ - jumping to errors with the |quickfix| commands (|:cc|, |:cn|, |:cp|,
+ etc.).
+ - jumping to a tag using the |:stag| command.
+ - opening a file using the |CTRL-W_f| or |CTRL-W_F| command.
+ - jumping to a buffer using a buffer split command (e.g. |:sbuffer|,
+ |:sbnext|, or |:sbrewind|).
Possible values (comma-separated list):
- useopen If included, jump to the first open window that
- contains the specified buffer (if there is one).
- Otherwise: Do not examine other windows.
- This setting is checked with |quickfix| commands, when
- jumping to errors (":cc", ":cn", "cp", etc.). It is
- also used in all buffer related split commands, for
- example ":sbuffer", ":sbnext", or ":sbrewind".
+ useopen If included, jump to the first open window in the
+ current tab page that contains the specified buffer
+ (if there is one). Otherwise: Do not examine other
+ windows.
usetab Like "useopen", but also consider windows in other tab
pages.
split If included, split the current window before loading
@@ -6350,8 +6262,8 @@ A jump table for the options with a short description can be found at |Q_op|.
Set to zero to remove the limit.
*'syntax'* *'syn'*
-'syntax' 'syn' string (default empty)
- local to buffer
+'syntax' 'syn' string (default "")
+ local to buffer |local-noglobal|
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
@@ -6374,10 +6286,10 @@ A jump table for the options with a short description can be found at |Q_op|.
Syntax autocommand event is triggered with the value as argument.
This option is not copied to another buffer, independent of the 's' or
'S' flag in 'cpoptions'.
- Only normal file name characters can be used, "/\*?[|<>" are illegal.
+ Only normal file name characters can be used, `/\*?[|<>` are illegal.
*'tabline'* *'tal'*
-'tabline' 'tal' string (default empty)
+'tabline' 'tal' string (default "")
global
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
@@ -6400,14 +6312,12 @@ A jump table for the options with a short description can be found at |Q_op|.
Keep in mind that only one of the tab pages is the current one, others
are invisible and you can't jump to their windows.
-
*'tabpagemax'* *'tpm'*
'tabpagemax' 'tpm' number (default 50)
global
Maximum number of tab pages to be opened by the |-p| command line
argument or the ":tab all" command. |tabpage|
-
*'tabstop'* *'ts'*
'tabstop' 'ts' number (default 8)
local to buffer
@@ -6423,13 +6333,25 @@ A jump table for the options with a short description can be found at |Q_op|.
(or 3 or whatever you prefer) and use 'noexpandtab'. Then Vim
will use a mix of tabs and spaces, but typing <Tab> and <BS> will
behave like a tab appears every 4 (or 3) characters.
- 2. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use
+ This is the recommended way, the file will look the same with other
+ tools and when listing it in a terminal.
+ 2. Set 'softtabstop' and 'shiftwidth' to whatever you prefer and use
+ 'expandtab'. This way you will always insert spaces. The
+ formatting will never be messed up when 'tabstop' is changed (leave
+ it at 8 just in case). The file will be a bit larger.
+ You do need to check if no Tabs exist in the file. You can get rid
+ of them by first setting 'expandtab' and using `%retab!`, making
+ sure the value of 'tabstop' is set correctly.
+ 3. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use
'expandtab'. This way you will always insert spaces. The
formatting will never be messed up when 'tabstop' is changed.
- 3. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use a
+ You do need to check if no Tabs exist in the file, just like in the
+ item just above.
+ 4. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use a
|modeline| to set these values when editing the file again. Only
- works when using Vim to edit the file.
- 4. Always set 'tabstop' and 'shiftwidth' to the same value, and
+ works when using Vim to edit the file, other tools assume a tabstop
+ is worth 8 spaces.
+ 5. Always set 'tabstop' and 'shiftwidth' to the same value, and
'noexpandtab'. This should then work (for initial indents only)
for any tabstop setting that people use. It might be nice to have
tabs after the first non-blank inserted as spaces if you do this
@@ -6457,7 +6379,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Linear searching is done anyway, for one file, when Vim finds a line
at the start of the file indicating that it's not sorted: >
- !_TAG_FILE_SORTED 0 /some comment/
+ !_TAG_FILE_SORTED 0 /some comment/
< [The whitespace before and after the '0' must be a single <Tab>]
When a binary search was done and no match was found in any of the
@@ -6491,7 +6413,7 @@ A jump table for the options with a short description can be found at |Q_op|.
This option doesn't affect commands that find all matching tags (e.g.,
command-line completion and ":help").
- *'tagcase'* *'tc'*
+ *'tagcase'* *'tc'*
'tagcase' 'tc' string (default "followic")
global or local to buffer |global-local|
This option specifies how case is handled when searching the tags
@@ -6502,8 +6424,8 @@ A jump table for the options with a short description can be found at |Q_op|.
match Match case
smart Ignore case unless an upper case letter is used
- *'tagfunc'* *'tfu'*
-'tagfunc' 'tfu' string (default: empty)
+ *'tagfunc'* *'tfu'*
+'tagfunc' 'tfu' string (default "")
local to buffer
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
@@ -6511,6 +6433,8 @@ A jump table for the options with a short description can be found at |Q_op|.
function and an example. The value can be the name of a function, a
|lambda| or a |Funcref|. See |option-value-function| for more
information.
+ This option cannot be set from a |modeline| or in the |sandbox|, for
+ security reasons.
*'taglength'* *'tl'*
'taglength' 'tl' number (default 0)
@@ -6518,7 +6442,7 @@ A jump table for the options with a short description can be found at |Q_op|.
If non-zero, tags are significant up to this number of characters.
*'tagrelative'* *'tr'* *'notagrelative'* *'notr'*
-'tagrelative' 'tr' boolean (default: on)
+'tagrelative' 'tr' boolean (default on)
global
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.
@@ -6527,8 +6451,8 @@ A jump table for the options with a short description can be found at |Q_op|.
'tags' 'tag' string (default "./tags;,tags")
global or local to buffer |global-local|
Filenames for the tag command, separated by spaces or commas. To
- include a space or comma in a file name, precede it with a backslash
- (see |option-backslash| about including spaces and backslashes).
+ include a space or comma in a file name, precede it with backslashes
+ (see |option-backslash| about including spaces/commas and backslashes).
When a file name starts with "./", the '.' is replaced with the path
of the current file. But only when the 'd' flag is not included in
'cpoptions'. Environment variables are expanded |:set_env|. Also see
@@ -6544,7 +6468,7 @@ A jump table for the options with a short description can be found at |Q_op|.
file names from the list. This avoids problems when a future version
uses another default.
- *'tagstack'* *'tgst'* *'notagstack'* *'notgst'*
+ *'tagstack'* *'tgst'* *'notagstack'* *'notgst'*
'tagstack' 'tgst' boolean (default on)
global
When on, the |tagstack| is used normally. When off, a ":tag" or
@@ -6555,9 +6479,8 @@ A jump table for the options with a short description can be found at |Q_op|.
Resetting this option is useful when using a ":tag" command in a
mapping which should not change the tagstack.
- *'termbidi'* *'tbidi'*
- *'notermbidi'* *'notbidi'*
-'termbidi' 'tbidi' boolean (default off)
+ *'termbidi'* *'tbidi'* *'notermbidi'* *'notbidi'*
+'termbidi' 'tbidi' boolean (default off)
global
The terminal is in charge of Bi-directionality of text (as specified
by Unicode). The terminal is also expected to do the required shaping
@@ -6568,15 +6491,15 @@ A jump table for the options with a short description can be found at |Q_op|.
'arabicshape' is ignored, but 'rightleft' isn't changed automatically.
For further details see |arabic.txt|.
- *'termguicolors'* *'tgc'* *'notermguicolors'* *'notgc'*
-'termguicolors' 'tgc' boolean (default off)
+ *'termguicolors'* *'tgc'* *'notermguicolors'* *'notgc'*
+'termguicolors' 'tgc' boolean (default off)
global
Enables 24-bit RGB color in the |TUI|. Uses "gui" |:highlight|
attributes instead of "cterm" attributes. |guifg|
Requires an ISO-8613-3 compatible terminal.
- *'termpastefilter'* *'tpf'*
-'termpastefilter' 'tpf' string (default: "BS,HT,ESC,DEL")
+ *'termpastefilter'* *'tpf'*
+'termpastefilter' 'tpf' string (default "BS,HT,ESC,DEL")
global
A comma-separated list of options for specifying control characters
to be removed from the text pasted into the terminal window. The
@@ -6597,6 +6520,13 @@ A jump table for the options with a short description can be found at |Q_op|.
C1 Control characters 0x80...0x9F
+ *'termsync'* *'notermsync'*
+'termsync' boolean (default on)
+ global
+ If the host terminal supports it, buffer all screen updates
+ made during a redraw cycle so that each screen is displayed in
+ the terminal all at once. This can prevent tearing or flickering
+ when the terminal updates faster than Nvim can redraw.
*'textwidth'* *'tw'*
'textwidth' 'tw' number (default 0)
@@ -6604,8 +6534,6 @@ A jump table for the options with a short description can be found at |Q_op|.
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 |ins-textwidth|.
When 'formatexpr' is set it will be used to break the line.
@@ -6628,8 +6556,8 @@ A jump table for the options with a short description can be found at |Q_op|.
another default. Backticks cannot be used in this option for security
reasons.
- *'thesaurusfunc'* *'tsrfu'*
-'thesaurusfunc' 'tsrfu' string (default: empty)
+ *'thesaurusfunc'* *'tsrfu'*
+'thesaurusfunc' 'tsrfu' string (default "")
global or local to buffer |global-local|
This option specifies a function to be used for thesaurus completion
with CTRL-X CTRL-T. |i_CTRL-X_CTRL-T| See |compl-thesaurusfunc|.
@@ -6639,46 +6567,24 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
- *'tildeop'* *'top'* *'notildeop'* *'notop'*
+ *'tildeop'* *'top'* *'notildeop'* *'notop'*
'tildeop' 'top' boolean (default off)
global
When on: The tilde command "~" behaves like an operator.
*'timeout'* *'to'* *'notimeout'* *'noto'*
-'timeout' 'to' boolean (default on)
+'timeout' 'to' boolean (default on)
global
This option and 'timeoutlen' determine the behavior when part of a
mapped key sequence has been received. For example, if <c-f> is
pressed and 'timeout' is set, Nvim will wait 'timeoutlen' milliseconds
for any key that can follow <c-f> in a mapping.
- *'ttimeout'* *'nottimeout'*
-'ttimeout' boolean (default on)
- global
- This option and 'ttimeoutlen' determine the behavior when part of a
- key code sequence has been received by the |TUI|.
-
- For example if <Esc> (the \x1b byte) is received and 'ttimeout' is
- set, Nvim waits 'ttimeoutlen' milliseconds for the terminal to
- complete a key code sequence. If no input arrives before the timeout,
- a single <Esc> is assumed. Many TUI cursor key codes start with <Esc>.
-
- On very slow systems this may fail, causing cursor keys not to work
- sometimes. If you discover this problem you can ":set ttimeoutlen=9999".
- Nvim will wait for the next character to arrive after an <Esc>.
-
*'timeoutlen'* *'tm'*
'timeoutlen' 'tm' number (default 1000)
global
Time in milliseconds to wait for a mapped sequence to complete.
- *'ttimeoutlen'* *'ttm'*
-'ttimeoutlen' 'ttm' number (default 50)
- global
- Time in milliseconds to wait for a key code sequence to complete. Also
- used for CTRL-\ CTRL-N and CTRL-\ CTRL-G when part of a command has
- been typed.
-
*'title'* *'notitle'*
'title' boolean (default off)
global
@@ -6694,7 +6600,7 @@ A jump table for the options with a short description can be found at |Q_op|.
(path) is the path of the file being edited
- NVIM the server name |v:servername| or "NVIM"
- *'titlelen'*
+ *'titlelen'*
'titlelen' number (default 85)
global
Gives the percentage of 'columns' to use for the length of the window
@@ -6707,14 +6613,15 @@ A jump table for the options with a short description can be found at |Q_op|.
values from 1 to 30000 percent can be used.
'titlelen' is also used for the 'titlestring' option.
- *'titleold'*
+ *'titleold'*
'titleold' string (default "")
global
If not empty, this option will be used to set the window title when
exiting. Only if 'title' is enabled.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
- *'titlestring'*
+
+ *'titlestring'*
'titlestring' string (default "")
global
When this option is not empty, it will be used for the title of the
@@ -6737,7 +6644,29 @@ A jump table for the options with a short description can be found at |Q_op|.
NOTE: Use of special characters in 'titlestring' may cause the display
to be garbled (e.g., when it contains a CR or NL character).
- *'undodir'* *'udir'* *E5003*
+ *'ttimeout'* *'nottimeout'*
+'ttimeout' boolean (default on)
+ global
+ This option and 'ttimeoutlen' determine the behavior when part of a
+ key code sequence has been received by the |TUI|.
+
+ For example if <Esc> (the \x1b byte) is received and 'ttimeout' is
+ set, Nvim waits 'ttimeoutlen' milliseconds for the terminal to
+ complete a key code sequence. If no input arrives before the timeout,
+ a single <Esc> is assumed. Many TUI cursor key codes start with <Esc>.
+
+ On very slow systems this may fail, causing cursor keys not to work
+ sometimes. If you discover this problem you can ":set ttimeoutlen=9999".
+ Nvim will wait for the next character to arrive after an <Esc>.
+
+ *'ttimeoutlen'* *'ttm'*
+'ttimeoutlen' 'ttm' number (default 50)
+ global
+ Time in milliseconds to wait for a key code sequence to complete. Also
+ used for CTRL-\ CTRL-N and CTRL-\ CTRL-G when part of a command has
+ been typed.
+
+ *'undodir'* *'udir'* *E5003*
'undodir' 'udir' string (default "$XDG_STATE_HOME/nvim/undo//")
global
List of directory names for undo files, separated with commas.
@@ -6761,7 +6690,7 @@ A jump table for the options with a short description can be found at |Q_op|.
though the trailing slashes are present (see 'backupdir' for what this
means).
- *'undofile'* *'noundofile'* *'udf'* *'noudf'*
+ *'undofile'* *'udf'* *'noundofile'* *'noudf'*
'undofile' 'udf' boolean (default off)
local to buffer
When on, Vim automatically saves undo history to an undo file when
@@ -6810,7 +6739,7 @@ A jump table for the options with a short description can be found at |Q_op|.
this option to a lower value if you run out of memory.
*'updatecount'* *'uc'*
-'updatecount' 'uc' number (default: 200)
+'updatecount' 'uc' number (default 200)
global
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
@@ -6893,7 +6822,7 @@ A jump table for the options with a short description can be found at |Q_op|.
If 'verbosefile' is set then the verbose messages are not displayed.
*'verbosefile'* *'vfile'*
-'verbosefile' 'vfile' string (default empty)
+'verbosefile' 'vfile' string (default "")
global
When not empty all messages are written in a file with this name.
When the file exists messages are appended.
@@ -6902,16 +6831,18 @@ A jump table for the options with a short description can be found at |Q_op|.
Setting 'verbosefile' to a new value is like making it empty first.
The difference with |:redir| is that verbose messages are not
displayed when 'verbosefile' is set.
+ This option cannot be set from a |modeline| or in the |sandbox|, for
+ security reasons.
*'viewdir'* *'vdir'*
-'viewdir' 'vdir' string (default: "$XDG_STATE_HOME/nvim/view//")
+'viewdir' 'vdir' string (default "$XDG_STATE_HOME/nvim/view//")
global
Name of the directory where to store files for |:mkview|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'viewoptions'* *'vop'*
-'viewoptions' 'vop' string (default: "folds,cursor,curdir")
+'viewoptions' 'vop' string (default "folds,cursor,curdir")
global
Changes the effect of the |:mkview| command. It is a comma-separated
list of words. Each word enables saving and restoring something:
@@ -6926,7 +6857,7 @@ A jump table for the options with a short description can be found at |Q_op|.
slash |deprecated| Always enabled. Uses "/" in filenames.
unix |deprecated| Always enabled. Uses "\n" line endings.
- *'virtualedit'* *'ve'*
+ *'virtualedit'* *'ve'*
'virtualedit' 've' string (default "")
global or local to window |global-local|
A comma-separated list of these words:
@@ -6956,7 +6887,7 @@ A jump table for the options with a short description can be found at |Q_op|.
not get a warning for it.
When combined with other words, "none" is ignored.
- *'visualbell'* *'vb'* *'novisualbell'* *'novb'* *beep*
+ *'visualbell'* *'vb'* *'novisualbell'* *'novb'*
'visualbell' 'vb' boolean (default off)
global
Use visual bell instead of beeping. Also see 'errorbells'.
@@ -6968,7 +6899,7 @@ A jump table for the options with a short description can be found at |Q_op|.
has been changed.
*'whichwrap'* *'ww'*
-'whichwrap' 'ww' string (default: "b,s")
+'whichwrap' 'ww' string (default "b,s")
global
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
@@ -6998,7 +6929,7 @@ A jump table for the options with a short description can be found at |Q_op|.
makes "dl", "cl", "yl" etc. work normally.
*'wildchar'* *'wc'*
-'wildchar' 'wc' number (default: <Tab>)
+'wildchar' 'wc' number (default <Tab>)
global
Character you have to type to start wildcard expansion in the
command-line, as specified with 'wildmode'.
@@ -7006,12 +6937,14 @@ A jump table for the options with a short description can be found at |Q_op|.
The character is not recognized when used inside a macro. See
'wildcharm' for that.
Some keys will not work, such as CTRL-C, <CR> and Enter.
+ <Esc> can be used, but hitting it twice in a row will still exit
+ command-line as a failsafe measure.
Although 'wc' is a number option, you can set it to a special key: >
:set wc=<Tab>
<
*'wildcharm'* *'wcm'*
-'wildcharm' 'wcm' number (default: none (0))
+'wildcharm' 'wcm' number (default 0)
global
'wildcharm' works exactly like 'wildchar', except that it is
recognized when used inside a macro. You can find "spare" command-line
@@ -7037,8 +6970,7 @@ A jump table for the options with a short description can be found at |Q_op|.
a pattern from the list. This avoids problems when a future version
uses another default.
-
- *'wildignorecase'* *'wic'* *'nowildignorecase'* *'nowic'*
+ *'wildignorecase'* *'wic'* *'nowildignorecase'* *'nowic'*
'wildignorecase' 'wic' boolean (default off)
global
When set case is ignored when completing file names and directories.
@@ -7046,8 +6978,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Does not apply when the shell is used to expand wildcards, which
happens when there are special characters.
-
- *'wildmenu'* *'wmnu'* *'nowildmenu'* *'nowmnu'*
+ *'wildmenu'* *'wmnu'* *'nowildmenu'* *'nowmnu'*
'wildmenu' 'wmnu' boolean (default on)
global
When 'wildmenu' is on, command-line completion operates in an enhanced
@@ -7065,18 +6996,21 @@ A jump table for the options with a short description can be found at |Q_op|.
a completion.
While the menu is active these keys have special meanings:
-
- CTRL-Y - accept the currently selected match and stop
- completion.
- CTRL-E - end completion, go back to what was there before
- selecting a match.
+ CTRL-P - go to the previous entry
+ CTRL-N - go to the next entry
<Left> <Right> - select previous/next match (like CTRL-P/CTRL-N)
+ <PageUp> - select a match several entries back
+ <PageDown> - select a match several entries further
+ <Up> - in filename/menu name completion: move up into
+ parent directory or parent menu.
<Down> - in filename/menu name completion: move into a
subdirectory or submenu.
<CR> - in menu completion, when the cursor is just after a
dot: move into a submenu.
- <Up> - in filename/menu name completion: move up into
- parent directory or parent menu.
+ CTRL-E - end completion, go back to what was there before
+ selecting a match.
+ CTRL-Y - accept the currently selected match and stop
+ completion.
If you want <Left> and <Right> to move the cursor instead of selecting
a different match, use this: >
@@ -7086,7 +7020,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|hl-WildMenu| highlights the current match.
*'wildmode'* *'wim'*
-'wildmode' 'wim' string (default: "full")
+'wildmode' 'wim' string (default "full")
global
Completion mode that is used for the character specified with
'wildchar'. It is a comma-separated list of up to four parts. Each
@@ -7156,7 +7090,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'winaltkeys'* *'wak'*
'winaltkeys' 'wak' string (default "menu")
global
- {only used in Win32}
+ only used in Win32
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
@@ -7173,7 +7107,7 @@ A jump table for the options with a short description can be found at |Q_op|.
This option is not used for <F10>; on Win32.
*'winbar'* *'wbr'*
-'winbar' 'wbr' string (default empty)
+'winbar' 'wbr' string (default "")
global or local to window |global-local|
When non-empty, this option enables the window bar and determines its
contents. The window bar is a bar that's shown at the top of every
@@ -7190,7 +7124,7 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set in a modeline when 'modelineexpr' is off.
*'winblend'* *'winbl'*
-'winblend' 'winbl' number (default 0)
+'winblend' 'winbl' number (default 0)
local to window
Enables pseudo-transparency for a floating window. Valid values are in
the range of 0 for fully opaque window (disabled) to 100 for fully
@@ -7198,8 +7132,8 @@ A jump table for the options with a short description can be found at |Q_op|.
UI-dependent. Works best with RGB colors. 'termguicolors'
- *'window'* *'wi'*
-'window' 'wi' number (default screen height - 1)
+ *'window'* *'wi'*
+'window' 'wi' number (default screen height - 1)
global
Window height used for |CTRL-F| and |CTRL-B| when there is only one
window and the value is smaller than 'lines' minus one. The screen
@@ -7211,6 +7145,21 @@ A jump table for the options with a short description can be found at |Q_op|.
Note: Do not confuse this with the height of the Vim window, use
'lines' for that.
+ *'winfixheight'* *'wfh'* *'nowinfixheight'* *'nowfh'*
+'winfixheight' 'wfh' boolean (default off)
+ local to window |local-noglobal|
+ Keep the window height when windows are opened or closed and
+ 'equalalways' is set. Also for |CTRL-W_=|. Set by default for the
+ |preview-window| and |quickfix-window|.
+ The height may be changed anyway when running out of room.
+
+ *'winfixwidth'* *'wfw'* *'nowinfixwidth'* *'nowfw'*
+'winfixwidth' 'wfw' boolean (default off)
+ local to window |local-noglobal|
+ Keep the window width when windows are opened or closed and
+ 'equalalways' is set. Also for |CTRL-W_=|.
+ The width may be changed anyway when running out of room.
+
*'winheight'* *'wh'* *E591*
'winheight' 'wh' number (default 1)
global
@@ -7231,8 +7180,8 @@ A jump table for the options with a short description can be found at |Q_op|.
'winheight' applies to the current window. Use 'winminheight' to set
the minimal height for other windows.
- *'winhighlight'* *'winhl'*
-'winhighlight' 'winhl' string (default empty)
+ *'winhighlight'* *'winhl'*
+'winhighlight' 'winhl' string (default "")
local to window
Window-local highlights. Comma-delimited list of highlight
|group-name| pairs "{hl-from}:{hl-to},..." where each {hl-from} is
@@ -7251,20 +7200,6 @@ A jump table for the options with a short description can be found at |Q_op|.
Example: show a different color for non-current windows: >
set winhighlight=Normal:MyNormal,NormalNC:MyNormalNC
<
- *'winfixheight'* *'wfh'* *'nowinfixheight'* *'nowfh'*
-'winfixheight' 'wfh' boolean (default off)
- local to window
- Keep the window height when windows are opened or closed and
- 'equalalways' is set. Also for |CTRL-W_=|. Set by default for the
- |preview-window| and |quickfix-window|.
- The height may be changed anyway when running out of room.
-
- *'winfixwidth'* *'wfw'* *'nowinfixwidth'* *'nowfw'*
-'winfixwidth' 'wfw' boolean (default off)
- local to window
- Keep the window width when windows are opened or closed and
- 'equalalways' is set. Also for |CTRL-W_=|.
- The width may be changed anyway when running out of room.
*'winminheight'* *'wmh'*
'winminheight' 'wmh' number (default 1)
@@ -7336,13 +7271,13 @@ A jump table for the options with a short description can be found at |Q_op|.
When 'textwidth' is non-zero, this option is not used.
See also 'formatoptions' and |ins-textwidth|.
- *'wrapscan'* *'ws'* *'nowrapscan'* *'nows'*
-'wrapscan' 'ws' boolean (default on) *E384* *E385*
+ *'wrapscan'* *'ws'* *'nowrapscan'* *'nows'* *E384* *E385*
+'wrapscan' 'ws' boolean (default on)
global
Searches wrap around the end of the file. Also applies to |]s| and
|[s|, searching for spelling mistakes.
- *'write'* *'nowrite'*
+ *'write'* *'nowrite'*
'write' boolean (default on)
global
Allows writing files. When not set, writing a file is not allowed.
@@ -7351,12 +7286,12 @@ A jump table for the options with a short description can be found at |Q_op|.
argument. Filtering text is still possible, even though this requires
writing a temporary file.
- *'writeany'* *'wa'* *'nowriteany'* *'nowa'*
+ *'writeany'* *'wa'* *'nowriteany'* *'nowa'*
'writeany' 'wa' boolean (default off)
global
Allows writing to any file with no need for "!" override.
- *'writebackup'* *'wb'* *'nowritebackup'* *'nowb'*
+ *'writebackup'* *'wb'* *'nowritebackup'* *'nowb'*
'writebackup' 'wb' boolean (default on)
global
Make a backup before overwriting a file. The backup is removed after
@@ -7375,8 +7310,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'writedelay'* *'wd'*
'writedelay' 'wd' number (default 0)
global
- The number of milliseconds to wait for each character sent to the
- screen. When positive, characters are sent to the UI one by one.
- See 'redrawdebug' for more options. For debugging purposes.
+ Only takes effect together with 'redrawdebug'.
+ The number of milliseconds to wait after each line or each flush
vim:tw=78:ts=8:noet:ft=help:norl: