aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc/options.txt
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2023-01-25 18:31:31 +0000
committerJosh Rahm <joshuarahm@gmail.com>2023-01-25 18:31:31 +0000
commit9243becbedbb6a1592208051f8fa2b090dcc5e7d (patch)
tree607c2a862ec3f4399b8766383f6f8e04c4aa43b4 /runtime/doc/options.txt
parent9e40b6e9e1bc67f2d856adb837ee64dd0e25b717 (diff)
parent3c48d3c83fc21dbc0841f9210f04bdb073d73cd1 (diff)
downloadrneovim-usermarks.tar.gz
rneovim-usermarks.tar.bz2
rneovim-usermarks.zip
Merge remote-tracking branch 'upstream/master' into usermarksusermarks
Diffstat (limited to 'runtime/doc/options.txt')
-rw-r--r--runtime/doc/options.txt764
1 files changed, 442 insertions, 322 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 2e0c1f8cc4..b1af90a604 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -145,7 +145,7 @@ This sets the 'titlestring' option to "hi" and 'iconstring' to "there": >
Similarly, the double quote character starts a comment. To include the '"' in
the option value, use '\"' instead. This example sets the 'titlestring'
-option to 'hi "there"': >
+option to "hi "there"": >
:set titlestring=hi\ \"there\"
For Win32 backslashes in file names are mostly not removed. More precise: For
@@ -163,7 +163,7 @@ halved and when you expect the backslashes to be kept. The third gives a
result which is probably not what you want. Avoid it.
*add-option-flags* *remove-option-flags*
- *E539* *E550* *E551* *E552*
+ *E539*
Some options are a list of flags. When you want to add a flag to such an
option, without changing the existing ones, you can do it like this: >
:set guioptions+=a
@@ -313,14 +313,23 @@ Note: In the future more global options can be made |global-local|. Using
*option-value-function*
-Some options ('completefunc', 'imactivatefunc', 'imstatusfunc', 'omnifunc',
-'operatorfunc', 'quickfixtextfunc' and 'tagfunc') are set to a function name
-or a function reference or a lambda function. Examples:
+Some options ('completefunc', 'omnifunc', 'operatorfunc', 'quickfixtextfunc',
+'tagfunc' and 'thesaurusfunc') are set to a function name or a function
+reference or a lambda function. When using a lambda it will be converted to
+the name, e.g. "<lambda>123". Examples:
>
set opfunc=MyOpFunc
- set opfunc=function("MyOpFunc")
- set opfunc=funcref("MyOpFunc")
- set opfunc={t\ ->\ MyOpFunc(t)}
+ set opfunc=function('MyOpFunc')
+ set opfunc=funcref('MyOpFunc')
+ set opfunc={a\ ->\ MyOpFunc(a)}
+ " set using a funcref variable
+ let Fn = function('MyTagFunc')
+ let &tagfunc = Fn
+ " set using a lambda expression
+ let &tagfunc = {t -> MyTagFunc(t)}
+ " set using a variable with lambda expression
+ let L = {a, b, c -> MyTagFunc(a, b , c)}
+ let &tagfunc = L
<
Setting the filetype
@@ -440,9 +449,9 @@ se[t] the string "set " or "se " (note the space); When
: a colon
[text] any text or empty
-Examples:
- /* vim: set ai tw=75: */ ~
- /* Vim: set ai tw=75: */ ~
+Examples: >
+ /* vim: set ai tw=75: */
+ /* Vim: set ai tw=75: */
The white space before {vi:|vim:|Vim:|ex:} is required. This minimizes the
chance that a normal word like "lex:" is caught. There is one exception:
@@ -479,10 +488,10 @@ number can be specified where "vim:" or "Vim:" is used:
vim={vers}: version {vers}
vim>{vers}: version after {vers}
{vers} is 700 for Vim 7.0 (hundred times the major version plus minor).
-For example, to use a modeline only for Vim 7.0:
- /* vim700: set foldmethod=marker */ ~
-To use a modeline for Vim after version 7.2:
- /* vim>702: set cole=2: */ ~
+For example, to use a modeline only for Vim 7.0: >
+ /* vim700: set foldmethod=marker */
+To use a modeline for Vim after version 7.2: >
+ /* vim>702: set cole=2: */
There can be no blanks between "vim" and the ":".
The modeline is ignored if {vers} does not fit in an integer.
@@ -491,16 +500,16 @@ The number of lines that are checked can be set with the 'modelines' option.
If 'modeline' is off or 'modelines' is 0 no lines are checked.
Note that for the first form all of the rest of the line is used, thus a line
-like:
- /* vi:ts=4: */ ~
-will give an error message for the trailing "*/". This line is OK:
- /* vi:set ts=4: */ ~
+like: >
+ /* vi:ts=4: */
+will give an error message for the trailing "*/". This line is OK: >
+ /* vi:set ts=4: */
If an error is detected the rest of the line is skipped.
If you want to include a ':' in a set command precede it with a '\'. The
-backslash in front of the ':' will be removed. Example:
- /* vi:set fillchars=stl\:^,vert\:\|: */ ~
+backslash in front of the ':' will be removed. Example: >
+ /* vi:set fillchars=stl\:^,vert\:\|: */
This sets the 'fillchars' option to "stl:^,vert:\|". Only a single backslash
before the ':' is removed. Thus to include "\:" you have to specify "\\:".
*E992*
@@ -621,7 +630,7 @@ A jump table for the options with a short description can be found at |Q_op|.
by Vim with the width of glyphs in the font. Perhaps it also has
to be set to "double" under CJK MS-Windows when the system locale is
set to one of CJK locales. See Unicode Standard Annex #11
- (http://www.unicode.org/reports/tr11).
+ (https://www.unicode.org/reports/tr11).
*'autochdir'* *'acd'* *'noautochdir'* *'noacd'*
'autochdir' 'acd' boolean (default off)
@@ -1053,19 +1062,26 @@ A jump table for the options with a short description can be found at |Q_op|.
text should normally be narrower. This prevents
text indented almost to the right window border
occupying lot of vertical space when broken.
+ (default: 20)
shift:{n} After applying 'breakindent', the wrapped line's
beginning will be shifted by the given number of
characters. It permits dynamic French paragraph
indentation (negative) or emphasizing the line
continuation (positive).
+ (default: 0)
sbr Display the 'showbreak' value before applying the
additional indent.
+ (default: off)
list:{n} Adds an additional indent for lines that match a
numbered or bulleted list (using the
'formatlistpat' setting).
list:-1 Uses the length of a match with 'formatlistpat'
for indentation.
- The default value for min is 20, shift and list is 0.
+ (default: 0)
+ column:{n} Indent at column {n}. Will overrule the other
+ sub-options. Note: an additional indent may be
+ added for the 'showbreak' setting.
+ (default: off)
*'browsedir'* *'bsdir'*
'browsedir' 'bsdir' string (default: "last")
@@ -1309,7 +1325,7 @@ A jump table for the options with a short description can be found at |Q_op|.
These names are recognized:
*clipboard-unnamed*
- unnamed When included, Vim will use the clipboard register '*'
+ unnamed When included, Vim will use the clipboard register "*"
for all yank, delete, change and put operations which
would normally go to the unnamed register. When a
register is explicitly specified, it will always be
@@ -1320,8 +1336,8 @@ A jump table for the options with a short description can be found at |Q_op|.
*clipboard-unnamedplus*
unnamedplus A variant of the "unnamed" flag which uses the
- clipboard register '+' (|quoteplus|) instead of
- register '*' for all yank, delete, change and put
+ clipboard register "+" (|quoteplus|) instead of
+ register "*" for all yank, delete, change and put
operations which would normally go to the unnamed
register. When "unnamed" is also included to the
option, yank and delete operations (but not put)
@@ -1337,9 +1353,14 @@ A jump table for the options with a short description can be found at |Q_op|.
page can have a different value.
When 'cmdheight' is zero, there is no command-line unless it is being
- used. Some informative messages will not be displayed, any other
- messages will cause the |hit-enter| prompt. Expect some other
- unexpected behavior too.
+ used. The command-line will cover the last line of the screen when
+ shown.
+
+ WARNING: `cmdheight=0` is considered experimental. Expect some
+ unwanted behaviour. Some 'shortmess' flags and similar
+ mechanism might fail to take effect, causing unwanted hit-enter
+ prompts. Some informative messages, both from Nvim itself and
+ plugins, will not be displayed.
*'cmdwinheight'* *'cwh'*
'cmdwinheight' 'cwh' number (default 7)
@@ -1434,7 +1455,9 @@ A jump table for the options with a short description can be found at |Q_op|.
This option specifies a function to be used for Insert mode completion
with CTRL-X CTRL-U. |i_CTRL-X_CTRL-U|
See |complete-functions| for an explanation of how the function is
- invoked and what it should return.
+ invoked and what it should return. 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.
@@ -1787,43 +1810,6 @@ A jump table for the options with a short description can be found at |Q_op|.
_ When using |cw| on a word, do not include the
whitespace following the word in the motion.
- *'cscopepathcomp'* *'cspc'*
-'cscopepathcomp' 'cspc' number (default 0)
- global
- Determines how many components of the path to show in a list of tags.
- See |cscopepathcomp|.
-
- *'cscopeprg'* *'csprg'*
-'cscopeprg' 'csprg' string (default "cscope")
- global
- Specifies the command to execute cscope. See |cscopeprg|.
- This option cannot be set from a |modeline| or in the |sandbox|, for
- security reasons.
-
- *'cscopequickfix'* *'csqf'*
-'cscopequickfix' 'csqf' string (default "")
- global
- Specifies whether to use quickfix window to show cscope results.
- See |cscopequickfix|.
-
- *'cscoperelative'* *'csre'* *'nocscoperelative'* *'nocsre'*
-'cscoperelative' 'csre' boolean (default off)
- global
- In the absence of a prefix (-P) for cscope. setting this option enables
- to use the basename of cscope.out path as the prefix.
- See |cscoperelative|.
-
- *'cscopetag'* *'cst'* *'nocscopetag'* *'nocst'*
-'cscopetag' 'cst' boolean (default off)
- global
- Use cscope for tag commands. See |cscope-options|.
-
- *'cscopetagorder'* *'csto'*
-'cscopetagorder' 'csto' number (default 0)
- global
- Determines the order in which ":cstag" performs a search. See
- |cscopetagorder|.
-
*'cursorbind'* *'crb'* *'nocursorbind'* *'nocrb'*
'cursorbind' 'crb' boolean (default off)
local to window
@@ -1904,9 +1890,9 @@ A jump table for the options with a short description can be found at |Q_op|.
^\(#\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
- defined with "func_name = function(args)": >
+ defined with `func_name = function(args)`: >
^\s*\ze\i\+\s*=\s*function(
-< If the function is defined with "func_name : function() {...": >
+< If the function is defined with `func_name : function() {...`: >
^\s*\ze\i\+\s*[:]\s*(*function\s*(
< When using the ":set" command, you need to double the backslashes!
To avoid that use `:let` with a single quote string: >
@@ -2049,6 +2035,16 @@ A jump table for the options with a short description can be found at |Q_op|.
Use the indent heuristic for the internal
diff library.
+ linematch:{n} Enable a second stage diff on each generated
+ hunk in order to align lines. When the total
+ number of lines in a hunk exceeds {n}, the
+ second stage diff will not be performed as
+ very large hunks can cause noticeable lag. A
+ recommended setting is "linematch:60", as this
+ will enable alignment for a 2 buffer diff with
+ 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
internal diff engine. Currently supported
algorithms are:
@@ -2123,9 +2119,9 @@ A jump table for the options with a short description can be found at |Q_op|.
security reasons.
*'display'* *'dy'*
-'display' 'dy' string (default "lastline,msgsep")
+'display' 'dy' string (default "lastline")
global
- Change the way text is displayed. This is comma-separated list of
+ Change the way text is displayed. This is a comma-separated list of
flags:
lastline When included, as much as possible of the last line
in a window will be displayed. "@@@" is put in the
@@ -2135,14 +2131,14 @@ A jump table for the options with a short description can be found at |Q_op|.
column of the last screen line. Overrules "lastline".
uhex Show unprintable characters hexadecimal as <xx>
instead of using ^C and ~C.
- msgsep When showing messages longer than 'cmdheight', only
- scroll the message lines, not the entire screen. The
- separator line is decorated by |hl-MsgSeparator| and
- the "msgsep" flag of 'fillchars'.
+ msgsep Obsolete flag. Allowed but takes no effect. |msgsep|
When neither "lastline" nor "truncate" is included, a last line that
doesn't fit is replaced with "@" lines.
+ The "@" character can be changed by setting the "lastline" item in
+ 'fillchars'. The character is highlighted with |hl-NonText|.
+
*'eadirection'* *'ead'*
'eadirection' 'ead' string (default "both")
global
@@ -2167,6 +2163,16 @@ A jump table for the options with a short description can be found at |Q_op|.
See 'fileencoding' to control file-content encoding.
+ *'endoffile'* *'eof'* *'noendoffile'* *'noeof'*
+'endoffile' 'eof' boolean (default off)
+ local to buffer
+ Indicates that a CTRL-Z character was found at the end of the file
+ when reading it. Normally only happens when 'fileformat' is "dos".
+ When writing a file and this option is off and the 'binary' option
+ is on, or 'fixeol' option is off, no CTRL-Z will be written at the
+ end of the file.
+ See |eol-and-eof| for example settings.
+
*'endofline'* *'eol'* *'noendofline'* *'noeol'*
'endofline' 'eol' boolean (default on)
local to buffer
@@ -2181,6 +2187,7 @@ A jump table for the options with a short description can be found at |Q_op|.
to remember the presence of a <EOL> for the last line in the file, so
that when you write the file the situation from the original file can
be kept. But you can change it if you want to.
+ See |eol-and-eof| for example settings.
*'equalalways'* *'ea'* *'noequalalways'* *'noea'*
'equalalways' 'ea' boolean (default on)
@@ -2257,6 +2264,22 @@ A jump table for the options with a short description can be found at |Q_op|.
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)
+ 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()|.
+
+ Use |:trust| to manage the trusted file database.
+
+ This option cannot be set from a |modeline| or in the |sandbox|, for
+ security reasons.
+
*'fileencoding'* *'fenc'* *E213*
'fileencoding' 'fenc' string (default: "")
local to buffer
@@ -2438,13 +2461,13 @@ A jump table for the options with a short description can be found at |Q_op|.
this use the ":filetype on" command. |:filetype|
Setting this option to a different value is most useful in a modeline,
for a file for which the file type is not automatically recognized.
- Example, for in an IDL file:
- /* vim: set filetype=idl : */ ~
- |FileType| |filetypes|
+ Example, for in an IDL file: >
+ /* vim: set filetype=idl : */
+< |FileType| |filetypes|
When a dot appears in the value then this separates two filetype
- names. Example:
- /* vim: set filetype=c.doxygen : */ ~
- This will use the "c" filetype first, then the "doxygen" filetype.
+ names. Example: >
+ /* vim: set filetype=c.doxygen : */
+< This will use the "c" filetype first, then the "doxygen" filetype.
This works both for filetype plugins and for syntax files. More than
one dot may appear.
This option is not copied to another buffer, independent of the 's' or
@@ -2454,28 +2477,31 @@ A jump table for the options with a short description can be found at |Q_op|.
*'fillchars'* *'fcs'*
'fillchars' 'fcs' string (default "")
global or local to window |global-local|
- Characters to fill the statuslines and vertical separators.
- It is a comma-separated list of items:
+ Characters to fill the statuslines, vertical separators and special
+ lines in the window.
+ It is a comma-separated list of items. Each item has a name, a colon
+ and the value of that item:
item default Used for ~
- stl:c ' ' or '^' statusline of the current window
- stlnc:c ' ' or '=' statusline of the non-current windows
- wbr:c ' ' window bar
- horiz:c '─' or '-' horizontal separators |:split|
- horizup:c '┴' or '-' upwards facing horizontal separator
- horizdown:c '┬' or '-' downwards facing horizontal separator
- vert:c '│' or '|' vertical separators |:vsplit|
- vertleft:c '┤' or '|' left facing vertical separator
- vertright:c '├' or '|' right facing vertical separator
- verthoriz:c '┼' or '+' overlapping vertical and horizontal
+ stl ' ' or '^' statusline of the current window
+ stlnc ' ' or '=' statusline of the non-current windows
+ wbr ' ' window bar
+ horiz '─' or '-' horizontal separators |:split|
+ horizup '┴' or '-' upwards facing horizontal separator
+ horizdown '┬' or '-' downwards facing horizontal separator
+ vert '│' or '|' vertical separators |:vsplit|
+ vertleft '┤' or '|' left facing vertical separator
+ vertright '├' or '|' right facing vertical separator
+ verthoriz '┼' or '+' overlapping vertical and horizontal
separator
- fold:c '·' or '-' filling 'foldtext'
- foldopen:c '-' mark the beginning of a fold
- foldclose:c '+' show a closed fold
- foldsep:c '│' or '|' open fold middle marker
- diff:c '-' deleted lines of the 'diff' option
- msgsep:c ' ' message separator 'display'
- eob:c '~' empty lines at the end of a buffer
+ fold '·' or '-' filling 'foldtext'
+ foldopen '-' mark the beginning of a fold
+ foldclose '+' show a closed fold
+ foldsep '│' or '|' open fold middle marker
+ diff '-' deleted lines of the 'diff' option
+ msgsep ' ' message separator 'display'
+ eob '~' empty lines at the end of a buffer
+ 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 '='
@@ -2500,29 +2526,31 @@ A jump table for the options with a short description can be found at |Q_op|.
The highlighting used for these items:
item highlight group ~
- stl:c StatusLine |hl-StatusLine|
- stlnc:c StatusLineNC |hl-StatusLineNC|
- wbr:c WinBar |hl-WinBar| or |hl-WinBarNC|
- horiz:c WinSeparator |hl-WinSeparator|
- horizup:c WinSeparator |hl-WinSeparator|
- horizdown:c WinSeparator |hl-WinSeparator|
- vert:c WinSeparator |hl-WinSeparator|
- vertleft:c WinSeparator |hl-WinSeparator|
- vertright:c WinSeparator |hl-WinSeparator|
- verthoriz:c WinSeparator |hl-WinSeparator|
- fold:c Folded |hl-Folded|
- diff:c DiffDelete |hl-DiffDelete|
- eob:c EndOfBuffer |hl-EndOfBuffer|
+ stl StatusLine |hl-StatusLine|
+ stlnc StatusLineNC |hl-StatusLineNC|
+ wbr WinBar |hl-WinBar| or |hl-WinBarNC|
+ horiz WinSeparator |hl-WinSeparator|
+ horizup WinSeparator |hl-WinSeparator|
+ horizdown WinSeparator |hl-WinSeparator|
+ vert WinSeparator |hl-WinSeparator|
+ vertleft WinSeparator |hl-WinSeparator|
+ vertright WinSeparator |hl-WinSeparator|
+ verthoriz WinSeparator |hl-WinSeparator|
+ fold Folded |hl-Folded|
+ diff DiffDelete |hl-DiffDelete|
+ eob EndOfBuffer |hl-EndOfBuffer|
+ lastline NonText |hl-NonText|
*'fixendofline'* *'fixeol'* *'nofixendofline'* *'nofixeol'*
'fixendofline' 'fixeol' boolean (default on)
local to buffer
When writing a file and this option is on, <EOL> at the end of file
- will be restored if missing. Turn this option off if you want to
+ will be restored if missing. Turn this option off if you want to
preserve the situation from the original file.
When the 'binary' option is set the value of this option doesn't
matter.
See the 'endofline' option.
+ See |eol-and-eof| for example settings.
*'foldclose'* *'fcl'*
'foldclose' 'fcl' string (default "")
@@ -2710,6 +2738,11 @@ A jump table for the options with a short description can be found at |Q_op|.
When the expression evaluates to non-zero Vim will fall back to using
the internal format mechanism.
+ If the expression starts with s: or |<SID>|, then it is replaced with
+ the script ID (|local-function|). Example: >
+ set formatexpr=s:MyFormatExpr()
+ set formatexpr=<SID>SomeFormatExpr()
+<
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.
@@ -3323,13 +3356,22 @@ A jump table for the options with a short description can be found at |Q_op|.
local to buffer
Expression to be used to transform the string found with the 'include'
option to a file name. Mostly useful to change "." to "/" for Java: >
- :set includeexpr=substitute(v:fname,'\\.','/','g')
+ :setlocal includeexpr=substitute(v:fname,'\\.','/','g')
< The "v:fname" variable will be set to the file name that was detected.
-
+ Note the double backslash: the `:set` command first halves them, then
+ one remains in the value, where "\." matches a dot literally. For
+ simple character replacements `tr()` avoids the need for escaping: >
+ :setlocal includeexpr=tr(v:fname,'.','/')
+<
Also used for the |gf| command if an unmodified file name can't be
found. Allows doing "gf" on the name after an 'include' statement.
Also used for |<cfile>|.
+ 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)
+<
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.
@@ -3380,11 +3422,16 @@ A jump table for the options with a short description can be found at |Q_op|.
in Insert mode as specified with the 'indentkeys' option.
When this option is not empty, it overrules the 'cindent' and
'smartindent' indenting. When 'lisp' is set, this option is
- overridden by the Lisp indentation algorithm.
+ 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()
+<
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).
@@ -3747,6 +3794,17 @@ A jump table for the options with a short description can be found at |Q_op|.
calling an external program if 'equalprg' is empty.
This option is not used when 'paste' is set.
+ *'lispoptions'* *'lop'*
+'lispoptions' 'lop' string (default "")
+ local to buffer
+ Comma-separated list of items that influence the Lisp indenting when
+ enabled with the |'lisp'| option. Currently only one item is
+ supported:
+ expr:1 use 'indentexpr' for Lisp indenting when it is set
+ expr:0 do not use 'indentexpr' for Lisp indenting (default)
+ Note that when using 'indentexpr' the `=` operator indents all the
+ lines, otherwise the first line is not indented (Vi-compatible).
+
*'lispwords'* *'lw'*
'lispwords' 'lw' string (default is very long)
global or local to buffer |global-local|
@@ -3785,21 +3843,21 @@ A jump table for the options with a short description can be found at |Q_op|.
The third character is optional.
tab:xy The 'x' is always used, then 'y' as many times as will
- fit. Thus "tab:>-" displays:
+ fit. Thus "tab:>-" displays: >
>
>-
>--
etc.
-
+<
tab:xyz The 'z' is always used, then 'x' is prepended, and
then 'y' is used as many times as will fit. Thus
- "tab:<->" displays:
+ "tab:<->" displays: >
>
<>
<->
<-->
etc.
-
+<
When "tab:" is omitted, a tab is shown as ^I.
*lcs-space*
space:c Character to show for a space. When omitted, spaces
@@ -3811,22 +3869,25 @@ A jump table for the options with a short description can be found at |Q_op|.
setting, except for single spaces. When omitted, the
"space" setting is used. For example,
`:set listchars=multispace:---+` shows ten consecutive
- spaces as:
- ---+---+-- ~
+ spaces as: >
+ ---+---+--
+<
*lcs-lead*
lead:c Character to show for leading spaces. When omitted,
leading spaces are blank. Overrides the "space" and
"multispace" settings for leading spaces. You can
combine it with "tab:", for example: >
:set listchars+=tab:>-,lead:.
-< *lcs-leadmultispace*
+<
+ *lcs-leadmultispace*
leadmultispace:c...
Like the |lcs-multispace| value, but for leading
spaces only. Also overrides |lcs-lead| for leading
multiple spaces.
`:set listchars=leadmultispace:---+` shows ten
- consecutive leading spaces as:
- ---+---+--XXX ~
+ consecutive leading spaces as: >
+ ---+---+--XXX
+<
Where "XXX" denotes the first non-blank characters in
the line.
*lcs-trail*
@@ -3911,9 +3972,9 @@ A jump table for the options with a short description can be found at |Q_op|.
`:lgrepadd`, `:cfile`, `:cgetfile`, `:caddfile`, `:lfile`, `:lgetfile`,
and `:laddfile`.
- This would be mostly useful when you use MS-Windows. If |+iconv| is
- enabled and GNU libiconv is used, setting 'makeencoding' to "char" has
- the same effect as setting to the system locale encoding. Example: >
+ This would be mostly useful when you use MS-Windows. If iconv is
+ enabled, setting 'makeencoding' to "char" has the same effect as
+ setting to the system locale encoding. Example: >
:set makeencoding=char " system locale is used
<
*'makeprg'* *'mp'*
@@ -4065,7 +4126,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
@@ -4229,6 +4291,15 @@ A jump table for the options with a short description can be found at |Q_op|.
The 'mousemodel' option is set by the |:behave| command.
+ *'mousemoveevent'* *'mousemev'*
+'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
+ overhead except when needed.
+ Warning: Setting this option can make pending mappings to be aborted
+ when the mouse is moved.
+
*'mousescroll'*
'mousescroll' string (default "ver:3,hor:6")
global
@@ -4289,7 +4360,7 @@ A jump table for the options with a short description can be found at |Q_op|.
w x updown up-down sizing arrows
w x leftright left-right sizing arrows
w x busy The system's usual busy pointer
- w x no The system's usual 'no input' pointer
+ w x no The system's usual "no input" pointer
x udsizing indicates up-down resizing
x lrsizing indicates left-right resizing
x crosshair like a big thin +
@@ -4366,12 +4437,12 @@ 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)
local to window
@@ -4392,7 +4463,9 @@ A jump table for the options with a short description can be found at |Q_op|.
This option specifies a function to be used for Insert mode omni
completion with CTRL-X CTRL-O. |i_CTRL-X_CTRL-O|
See |complete-functions| for an explanation of how the function is
- invoked and what it should return.
+ invoked and what it should return. The value can be the name of a
+ function, a |lambda| or a |Funcref|. See |option-value-function| for
+ more information.
This option is usually set by a filetype plugin:
|:filetype-plugin-on|
This option cannot be set from a |modeline| or in the |sandbox|, for
@@ -4555,7 +4628,7 @@ A jump table for the options with a short description can be found at |Q_op|.
< - A directory name may end in a ':' or '/'.
- Environment variables are expanded |:set_env|.
- When using |netrw.vim| URLs can be used. For example, adding
- "http://www.vim.org" will make ":find index.html" work.
+ "https://www.vim.org" will make ":find index.html" work.
- Search upwards and downwards in a directory tree using "*", "**" and
";". See |file-searching| for info and syntax.
- Careful with '\' characters, type two to get one in the option: >
@@ -4611,58 +4684,6 @@ A jump table for the options with a short description can be found at |Q_op|.
set. It's normally not set directly, but by using one of the commands
|:ptag|, |:pedit|, etc.
- *'printdevice'* *'pdev'*
-'printdevice' 'pdev' string (default empty)
- global
- The name of the printer to be used for |:hardcopy|.
- See |pdev-option|.
- This option cannot be set from a |modeline| or in the |sandbox|, for
- security reasons.
-
- *'printencoding'* *'penc'*
-'printencoding' 'penc' string (default empty, except for some systems)
- global
- Sets the character encoding used when printing.
- See |penc-option|.
-
- *'printexpr'* *'pexpr'*
-'printexpr' 'pexpr' string (default: see below)
- global
- Expression used to print the PostScript produced with |:hardcopy|.
- See |pexpr-option|.
- This option cannot be set from a |modeline| or in the |sandbox|, for
- security reasons.
-
- *'printfont'* *'pfn'*
-'printfont' 'pfn' string (default "courier")
- global
- The name of the font that will be used for |:hardcopy|.
- See |pfn-option|.
-
- *'printheader'* *'pheader'*
-'printheader' 'pheader' string (default "%<%f%h%m%=Page %N")
- global
- The format of the header produced in |:hardcopy| output.
- See |pheader-option|.
-
- *'printmbcharset'* *'pmbcs'*
-'printmbcharset' 'pmbcs' string (default "")
- global
- The CJK character set to be used for CJK output from |:hardcopy|.
- See |pmbcs-option|.
-
- *'printmbfont'* *'pmbfn'*
-'printmbfont' 'pmbfn' string (default "")
- global
- List of font names to be used for CJK output from |:hardcopy|.
- See |pmbfn-option|.
-
- *'printoptions'* *'popt'*
-'printoptions' 'popt' string (default "")
- global
- List of items that control the format of the output of |:hardcopy|.
- See |popt-option|.
-
*'pumblend'* *'pb'*
'pumblend' 'pb' number (default 0)
global
@@ -4920,8 +4941,7 @@ A jump table for the options with a short description can be found at |Q_op|.
$XDG_CONFIG_HOME/nvim/after")
global
List of directories to be searched for these runtime files:
- filetype.vim filetypes by file name |new-filetype|
- scripts.vim filetypes by file contents |new-filetype-scripts|
+ filetype.lua filetypes |new-filetype|
autoload/ automatically loaded scripts |autoload-functions|
colors/ color scheme files |:colorscheme|
compiler/ compiler files |:compiler|
@@ -4930,10 +4950,12 @@ A jump table for the options with a short description can be found at |Q_op|.
indent/ indent scripts |indent-expression|
keymap/ key mapping files |mbyte-keymap|
lang/ menu translations |:menutrans|
+ lua/ |Lua| plugins
menu.vim GUI menus |menu.vim|
pack/ packages |:packadd|
+ parser/ |treesitter| syntax parsers
plugin/ plugin scripts |write-plugin|
- print/ files for printing |postscript-print-encoding|
+ query/ |treesitter| queries
rplugin/ |remote-plugin| scripts
spell/ spell checking files |spell|
syntax/ syntax files |mysyntaxfile|
@@ -4954,20 +4976,20 @@ A jump table for the options with a short description can be found at |Q_op|.
but are not part of the Nvim distribution. XDG_DATA_DIRS defaults
to /usr/local/share/:/usr/share/, so system administrators are
expected to install site plugins to /usr/share/nvim/site.
- 5. Applications state home directory, for files that contain your
- session state (eg. backupdir, viewdir, undodir, etc).
+ 5. Session state directory, for state data such as swap, backupdir,
+ viewdir, undodir, etc.
Given by `stdpath("state")`. |$XDG_STATE_HOME|
- 6. $VIMRUNTIME, for files distributed with Neovim.
+ 6. $VIMRUNTIME, for files distributed with Nvim.
*after-directory*
7, 8, 9, 10. In after/ subdirectories of 1, 2, 3 and 4, with reverse
- ordering. This is for preferences to overrule or add to the
+ ordering. This is for preferences to overrule or add to the
distributed defaults or system-wide settings (rarely needed).
- *rtp-packages*
- "start" packages will additionally be used to search for runtime files
- after these, but package entries are not visible in `:set rtp`.
- See |runtime-search-path| for more information. "opt" packages
- will be explicitly added to &rtp when |:packadd| is used.
+ *packages-runtimepath*
+ "start" packages will also be searched (|runtime-search-path|) for
+ runtime files after these, though such packages are not explicitly
+ reported in &runtimepath. But "opt" packages are explicitly added to
+ &runtimepath by |:packadd|.
Note that, unlike 'path', no wildcards like "**" are allowed. Normal
wildcards are allowed, but can significantly slow down searching for
@@ -4977,18 +4999,13 @@ A jump table for the options with a short description can be found at |Q_op|.
Example: >
:set runtimepath=~/vimruntime,/mygroup/vim,$VIMRUNTIME
< This will use the directory "~/vimruntime" first (containing your
- personal Vim runtime files), then "/mygroup/vim" (shared between a
- group of people) and finally "$VIMRUNTIME" (the distributed runtime
- files).
- You probably should always include $VIMRUNTIME somewhere, to use the
- distributed runtime files. You can put a directory before $VIMRUNTIME
- to find files which replace a distributed runtime files. You can put
- a directory after $VIMRUNTIME to find files which add to distributed
- runtime files.
- When Vim is started with |--clean| the home directory entries are not
- included.
- This option cannot be set from a |modeline| or in the |sandbox|, for
- security reasons.
+ personal Nvim runtime files), then "/mygroup/vim", and finally
+ "$VIMRUNTIME" (the default runtime files).
+ You can put a directory before $VIMRUNTIME to find files which replace
+ distributed runtime files. You can put a directory after $VIMRUNTIME
+ to find files which add to distributed runtime files.
+
+ With |--clean| the home directory entries are not included.
*'scroll'* *'scr'*
'scroll' 'scr' number (default: half the window height)
@@ -5084,19 +5101,6 @@ A jump table for the options with a short description can be found at |Q_op|.
two letters (See |object-motions|). The default makes a section start
at the nroff macros ".SH", ".NH", ".H", ".HU", ".nh" and ".sh".
- *'secure'* *'nosecure'* *E523*
-'secure' boolean (default off)
- global
- When on, ":autocmd", shell and write commands are not allowed in
- ".nvimrc" and ".exrc" in the current directory and map commands are
- displayed. Switch it off only if you know that you will not run into
- problems, or when the 'exrc' option is off. On Unix this option is
- only used if the ".nvimrc" or ".exrc" is not owned by you. This can be
- dangerous if the systems allows users to do a "chown". You better set
- 'secure' at the end of your |init.vim| then.
- This option cannot be set from a |modeline| or in the |sandbox|, for
- security reasons.
-
*'selection'* *'sel'*
'selection' 'sel' string (default "inclusive")
global
@@ -5341,7 +5345,7 @@ A jump table for the options with a short description can be found at |Q_op|.
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 = '-RedirectStandardOutput %s -NoNewWindow -Wait'
+ let &shellredir = '2>&1 | Out-File -Encoding UTF8 %s; exit $LastExitCode'
let &shellpipe = '2>&1 | Out-File -Encoding UTF8 %s; exit $LastExitCode'
set shellquote= shellxquote=
@@ -5509,42 +5513,48 @@ A jump table for the options with a short description can be found at |Q_op|.
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)"
- i use "[noeol]" instead of "[Incomplete last line]"
- l use "999L, 888B" instead of "999 lines, 888 bytes"
- m use "[+]" instead of "[Modified]"
- n use "[New]" instead of "[New File]"
- r use "[RO]" instead of "[readonly]"
- w use "[w]" instead of "written" for file write message
+ 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 w