diff options
Diffstat (limited to 'runtime/doc/options.txt')
-rw-r--r-- | runtime/doc/options.txt | 501 |
1 files changed, 265 insertions, 236 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 7dea475801..eda596bf71 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -20,9 +20,13 @@ achieve special effects. These options come in three forms: 1. Setting options *set-option* *E764* *:se* *:set* -:se[t] Show all options that differ from their default value. +:se[t][!] Show all options that differ from their default value. + When [!] is present every option is on a separate + line. -:se[t] all Show all options. +:se[t][!] all Show all options. + When [!] is present every option is on a separate + line. *E518* *E519* :se[t] {option}? Show value of {option}. @@ -65,7 +69,7 @@ achieve special effects. These options come in three forms: :se[t] {option}+={value} *:set+=* Add the {value} to a number option, or append the {value} to a string option. When the option is a - comma separated list, a comma is added, unless the + comma-separated list, a comma is added, unless the value was empty. If the option is a list of flags, superfluous flags are removed. When adding a flag that was already @@ -75,7 +79,7 @@ achieve special effects. These options come in three forms: :se[t] {option}^={value} *:set^=* Multiply the {value} to a number option, or prepend the {value} to a string option. When the option is a - comma separated list, a comma is added, unless the + comma-separated list, a comma is added, unless the value was empty. Also see |:set-args| above. @@ -83,7 +87,7 @@ achieve special effects. These options come in three forms: Subtract the {value} from a number option, or remove the {value} from a string option, if it is there. If the {value} is not found in a string option, there - is no error or warning. When the option is a comma + is no error or warning. When the option is a comma- separated list, a comma is deleted, unless the option becomes empty. When the option is a list of flags, {value} must be @@ -235,7 +239,7 @@ happens when the buffer is not loaded, but they are lost when the buffer is wiped out |:bwipe|. *:setl* *:setlocal* -:setl[ocal] ... Like ":set" but set only the value local to the +:setl[ocal][!] ... Like ":set" but set only the value local to the current buffer or window. Not all options have a local value. If the option does not have a local value the global value is set. @@ -257,7 +261,7 @@ wiped out |:bwipe|. {option}, so that the global value will be used. *:setg* *:setglobal* -:setg[lobal] ... Like ":set" but set only the global value for a local +:setg[lobal][!] ... Like ":set" but set only the global value for a local option without changing the local value. When displaying an option, the global value is shown. With the "all" argument: display global values for all @@ -747,7 +751,8 @@ A jump table for the options with a short description can be found at |Q_op|. nostop like start, except CTRL-W and CTRL-U do not stop at the start of insert. - When the value is empty, Vi compatible backspacing is used. + 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 ~ @@ -771,10 +776,10 @@ 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 (Vi default for Unix: "yes", otherwise: "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. + done. This is a comma-separated list of words. The main values are: "yes" make a copy of the file and overwrite the original one @@ -798,10 +803,10 @@ A jump table for the options with a short description can be found at |Q_op|. file. - When the file is a link the new file will not be a link. - The "auto" value is the middle way: When Vim sees that renaming file - is possible without side effects (the attributes can be passed on and - the file is not a link) that is used. When problems are expected, a - copy will be made. + The "auto" value is the middle way: When Vim sees that renaming the + file is possible without side effects (the attributes can be passed on + and the file is not a link) that is used. When problems are expected, + a copy will be made. The "breaksymlink" and "breakhardlink" values can be used in combination with any of "yes", "no" and "auto". When included, they @@ -820,13 +825,13 @@ A jump table for the options with a short description can be found at |Q_op|. When a copy is made, the original file is truncated and then filled with the new text. This means that protection bits, owner and - symbolic links of the original file are unmodified. The backup file + symbolic links of the original file are unmodified. The backup file, however, is a new file, owned by the user who edited the file. The group of the backup is set to the group of the original file. If this fails, the protection bits for the group are made the same as for others. - When the file is renamed this is the other way around: The backup has + When the file is renamed, this is the other way around: The backup has the same attributes of the original file, and the newly written file is owned by the current user. When the file was a (hard/symbolic) link, the new file will not! That's why the "auto" value doesn't @@ -836,7 +841,7 @@ A jump table for the options with a short description can be found at |Q_op|. again not rename the file. *'backupdir'* *'bdir'* -'backupdir' 'bdir' string (default ".,$XDG_DATA_HOME/nvim/backup//") +'backupdir' 'bdir' string (default ".,$XDG_STATE_HOME/nvim/backup//") global List of directories for the backup file, separated with commas. - The backup file will be created in the first directory in the list @@ -888,12 +893,12 @@ 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 include a timestamp. > - :au BufWritePre * let &bex = '-' . strftime("%Y%b%d%X") . '~' + :au BufWritePre * let &bex = '-' .. strftime("%Y%b%d%X") .. '~' < Use 'backupdir' to put the backup in a different directory. *'backupskip'* *'bsk'* @@ -916,25 +921,16 @@ A jump table for the options with a short description can be found at |Q_op|. Note that environment variables are not expanded. If you want to use $HOME you must expand it explicitly, e.g.: > - :let backupskip = escape(expand('$HOME'), '\') . '/tmp/*' + :let &backupskip = escape(expand('$HOME'), '\') .. '/tmp/*' < Note that the default also makes sure that "crontab -e" works (when a backup would be made by renaming the original file crontab won't see the newly created file). Also see 'backupcopy' and |crontab|. - *'balloondelay'* *'bdlay'* -'balloondelay' 'bdlay' Removed. - - *'ballooneval'* *'beval'* *'noballooneval'* *'nobeval'* -'ballooneval' 'beval' Removed. - - *'balloonexpr'* *'bexpr'* -'balloonexpr' 'bexpr' Removed. - *'belloff'* *'bo'* 'belloff' 'bo' string (default "all") global - Specifies for which events the bell will not be rung. It is a comma + Specifies for which events the bell will not be rung. It is a comma- separated list of items. For each item that is present, the bell will be silenced. This is most useful to specify specific events in insert mode to be silenced. @@ -954,7 +950,6 @@ A jump table for the options with a short description can be found at |Q_op|. (mostly used in |Normal-mode| or |Cmdline-mode|). esc hitting <Esc> in |Normal-mode|. hangul Ignored. - insertmode Pressing <Esc> in 'insertmode'. lang Calling the beep module for Lua/Mzscheme/TCL. mess No output available for |g<|. showmatch Error occurred for 'showmatch' function. @@ -1025,7 +1020,7 @@ A jump table for the options with a short description can be found at |Q_op|. This option lets you choose which characters might cause a line break if 'linebreak' is on. Only works for ASCII characters. - *'breakindent'* *'bri'* + *'breakindent'* *'bri'* *'nobreakindent'* *'nobri'* 'breakindent' 'bri' boolean (default off) local to window Every wrapped line will continue visually indented (same amount of @@ -1072,16 +1067,16 @@ A jump table for the options with a short description can be found at |Q_op|. This option specifies what happens when a buffer is no longer displayed in a window: <empty> follow the global 'hidden' option - hide hide the buffer (don't unload it), also when 'hidden' - is not set - unload unload the buffer, also when 'hidden' is set or using - |:hide| - delete delete the buffer from the buffer list, also when - 'hidden' is set or using |:hide|, like using - |:bdelete| - wipe wipe out the buffer from the buffer list, also when - 'hidden' is set or using |:hide|, like using - |:bwipeout| + hide hide the buffer (don't unload it), even if 'hidden' is + not set + unload unload the buffer, even if 'hidden' is set; the + |:hide| command will also unload the buffer + delete delete the buffer from the buffer list, even if + 'hidden' is set; the |:hide| command will also delete + the buffer, making it behave like |:bdelete| + wipe wipe the buffer from the buffer list, even if + 'hidden' is set; the |:hide| command will also wipe + out the buffer, making it behave like |:bwipeout| CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer are lost without a warning. Also, these values may break autocommands @@ -1181,13 +1176,13 @@ A jump table for the options with a short description can be found at |Q_op|. If the default value taken from $CDPATH is not what you want, include a modified version of the following command in your vimrc file to override it: > - :let &cdpath = ',' . substitute(substitute($CDPATH, '[, ]', '\\\0', 'g'), ':', ',', 'g') + :let &cdpath = ',' .. substitute(substitute($CDPATH, '[, ]', '\\\0', 'g'), ':', ',', 'g') < This option cannot be set from a |modeline| or in the |sandbox|, for security reasons. (parts of 'cdpath' can be passed to the shell to expand file names). *'cedit'* -'cedit' string (Vim default: CTRL-F, Vi default: "") +'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. @@ -1216,8 +1211,8 @@ A jump table for the options with a short description can be found at |Q_op|. preferred, because it is much faster. 'charconvert' is not used when reading stdin |--|, because there is no file to convert from. You will have to save the text in a file first. - The expression must return zero or an empty string for success, - non-zero for failure. + The expression must return zero, false or an empty string for success, + non-zero or true for failure. See |encoding-names| for possible encoding names. Additionally, names given in 'fileencodings' and 'fileencoding' are used. @@ -1228,8 +1223,8 @@ A jump table for the options with a short description can be found at |Q_op|. set charconvert=CharConvert() fun CharConvert() system("recode " - \ . v:charconvert_from . ".." . v:charconvert_to - \ . " <" . v:fname_in . " >" v:fname_out) + \ .. v:charconvert_from .. ".." .. v:charconvert_to + \ .. " <" .. v:fname_in .. " >" .. v:fname_out) return v:shell_error endfun < The related Vim variables are: @@ -1283,10 +1278,18 @@ 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". - *'clipboard'* *'cb'* + *'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' string (default "") global - This option is a list of comma separated names. + This option is a list of comma-separated names. These names are recognized: *clipboard-unnamed* @@ -1317,6 +1320,9 @@ A jump table for the options with a short description can be found at |Q_op|. The value of this option is stored with the tab page, so that each tab page can have a different value. + When 'cmdheight' is zero, it disables echo area and all outputs need + |hit-enter| prompt. + *'cmdwinheight'* *'cwh'* 'cmdwinheight' 'cwh' number (default 7) global @@ -1325,10 +1331,11 @@ A jump table for the options with a short description can be found at |Q_op|. *'colorcolumn'* *'cc'* 'colorcolumn' 'cc' string (default "") local to window - 'colorcolumn' is a comma separated list of screen columns that are + 'colorcolumn' is a comma-separated list of screen columns that are highlighted with ColorColumn |hl-ColorColumn| and drawn using the colocol option from 'fillchars'. Useful to align text. Will make screen redrawing slower. + The screen column can be an absolute number, or a number preceded with '+' or '-', which is added to or subtracted from 'textwidth'. > @@ -1359,7 +1366,7 @@ A jump table for the options with a short description can be found at |Q_op|. 'comments' 'com' string (default "s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-") local to buffer - A comma separated list of strings that can start a comment line. See + 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. @@ -1376,7 +1383,7 @@ A jump table for the options with a short description can be found at |Q_op|. This option specifies how keyword completion |ins-completion| works when CTRL-P or CTRL-N are used. It is also used for whole-line completion |i_CTRL-X_CTRL-L|. It indicates the type of completion - and the places to scan. It is a comma separated list of flags: + and the places to scan. It is a comma-separated list of flags: . scan the current buffer ('wrapscan' is ignored) w scan buffers from other windows b scan other loaded buffers that are in the buffer list @@ -1433,7 +1440,7 @@ A jump table for the options with a short description can be found at |Q_op|. *'completeopt'* *'cot'* 'completeopt' 'cot' string (default: "menu,preview") global - A comma separated list of options for Insert mode completion + A comma-separated list of options for Insert mode completion |ins-completion|. The supported values are: menu Use a popup menu to show the possible completions. The @@ -1531,8 +1538,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 (Vim default: "aABceFs_", - Vi default: all flags) +'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 @@ -1838,7 +1844,7 @@ A jump table for the options with a short description can be found at |Q_op|. *'cursorlineopt'* *'culopt'* 'cursorlineopt' 'culopt' string (default: "number,line") local to window - Comma separated list of settings for how 'cursorline' is displayed. + Comma-separated list of settings for how 'cursorline' is displayed. Valid values: "line" Highlight the text line of the cursor with CursorLine |hl-CursorLine|. @@ -2049,7 +2055,7 @@ A jump table for the options with a short description can be found at |Q_op|. {char2}. See |digraphs|. *'directory'* *'dir'* -'directory' 'dir' string (default "$XDG_DATA_HOME/nvim/swap//") +'directory' 'dir' string (default "$XDG_STATE_HOME/nvim/swap//") global List of directory names for the swap file, separated with commas. @@ -2101,9 +2107,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", Vi default: "") +'display' 'dy' string (default "lastline,msgsep") global - Change the way text is displayed. This is comma separated list of + Change the way text is displayed. This is 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 @@ -2129,7 +2135,7 @@ 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'* + *'emoji'* *'emo'* *'noemoji'* *'noemo'* 'emoji' 'emo' boolean (default: on) global When on all Unicode emoji characters are considered to be full width. @@ -2221,7 +2227,7 @@ A jump table for the options with a short description can be found at |Q_op|. A list of autocommand event names, which are to be ignored. When set to "all" or when "all" is one of the items, all autocommand events are ignored, autocommands will not be executed. - Otherwise this is a comma separated list of event names. Example: > + Otherwise this is a comma-separated list of event names. Example: > :set ei=WinEnter,WinLeave < *'expandtab'* *'et'* *'noexpandtab'* *'noet'* @@ -2347,9 +2353,8 @@ A jump table for the options with a short description can be found at |Q_op|. *'fileformats'* *'ffs'* 'fileformats' 'ffs' string (default: - Vim+Vi Win32: "dos,unix", - Vim Unix: "unix,dos", - Vi others: "") + Win32: "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 @@ -2433,12 +2438,20 @@ A jump table for the options with a short description can be found at |Q_op|. '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: + It is a comma-separated list of items: 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 + separator fold:c '·' or '-' filling 'foldtext' foldopen:c '-' mark the beginning of a fold foldclose:c '+' show a closed fold @@ -2452,21 +2465,35 @@ A jump table for the options with a short description can be found at |Q_op|. "stlnc" the space will be used when there is highlighting, '^' or '=' otherwise. - If 'ambiwidth' is "double" then "vert", "foldsep" and "fold" default to - single-byte alternatives. + Note that "horiz", "horizup", "horizdown", "vertleft", "vertright" and + "verthoriz" are only used when 'laststatus' is 3, since only vertical + window separators are used otherwise. + + If 'ambiwidth' is "double" then "horiz", "horizup", "horizdown", + "vert", "vertleft", "vertright", "verthoriz", "foldsep" and "fold" + 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. - for "stl" and "stlnc" only single-byte values are supported. + For the "stl", "stlnc", "foldopen", "foldclose" and "foldsep" items + single-byte and multibyte characters are supported. But double-width + characters are not supported. The highlighting used for these items: item highlight group ~ stl:c StatusLine |hl-StatusLine| stlnc:c StatusLineNC |hl-StatusLineNC| - vert:c VertSplit |hl-VertSplit| + 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| @@ -2597,7 +2624,7 @@ A jump table for the options with a short description can be found at |Q_op|. 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 + command moves the cursor into a closed fold. It is a comma-separated list of items. NOTE: When the command is part of a mapping this option is not used. Add the |zv| command to the mapping to get the same effect. @@ -2688,7 +2715,7 @@ A jump table for the options with a short description can be found at |Q_op|. character and white space. *'formatoptions'* *'fo'* -'formatoptions' 'fo' string (default: "tcqj", Vi default: "vt") +'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 @@ -2712,7 +2739,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. - *'fsync'* *'fs'* + *'fsync'* *'fs'* *'nofsync'* *'nofs'* 'fsync' 'fs' boolean (default off) global When on, the OS function fsync() will be called after saving a file @@ -2788,7 +2815,7 @@ A jump table for the options with a short description can be found at |Q_op|. \,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor \,sm:block-blinkwait175-blinkoff150-blinkon175 -< The option is a comma separated list of parts. Each part consists of a +< The option is a comma-separated list of parts. Each part consists of a mode-list and an argument-list: mode-list:argument-list,mode-list:argument-list,.. The mode-list is a dash separated list of these modes: @@ -3038,7 +3065,7 @@ A jump table for the options with a short description can be found at |Q_op|. *'guitablabel'* *'gtl'* 'guitablabel' 'gtl' string (default empty) global - When nonempty describes the text to use in a label of the GUI tab + When non-empty describes the text to use in a label of the GUI tab pages line. When empty and when the result is empty Vim will use a default label. See |setting-guitablabel| for more info. @@ -3055,7 +3082,7 @@ A jump table for the options with a short description can be found at |Q_op|. *'guitabtooltip'* *'gtt'* 'guitabtooltip' 'gtt' string (default empty) global - When nonempty describes the text to use in a tooltip for the GUI tab + When non-empty describes the text to use in a tooltip for the GUI tab pages line. When empty Vim will use a default tooltip. This option is otherwise just like 'guitablabel' above. You can include a line break. Simplest method is to use |:let|: > @@ -3088,7 +3115,7 @@ A jump table for the options with a short description can be found at |Q_op|. *'helplang'* *'hlg'* 'helplang' 'hlg' string (default: messages language or empty) global - Comma separated list of languages. Vim will use the first language + Comma-separated list of languages. Vim will use the first language for which the desired help can be found. The English help will always be used as a last resort. You can add "en" to prefer English over another language, but that will only find tags that exist in that @@ -3108,15 +3135,19 @@ A jump table for the options with a short description can be found at |Q_op|. when it is |abandon|ed. When on a buffer becomes hidden when it is |abandon|ed. A buffer displayed in another window does not become hidden, of course. + Commands that move through the buffer list sometimes hide a buffer - although the 'hidden' option is off: when the buffer is modified, - 'autowrite' is off or writing is not possible, and the '!' flag was - used. See also |windows|. + although the 'hidden' option is off when these three are true: + - the buffer is modified + - 'autowrite' is off or writing is not possible + - the '!' flag was used + Also see |windows|. + To hide a specific buffer use the 'bufhidden' option. 'hidden' is set for one command with ":hide {command}" |:hide|. *'history'* *'hi'* -'history' 'hi' number (Vim default: 10000, Vi default: 0) +'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 @@ -3141,8 +3172,12 @@ A jump table for the options with a short description can be found at |Q_op|. 'hlsearch' 'hls' boolean (default on) global When there is a previous search pattern, highlight all its matches. - The |hl-Search| highlight group determines the highlighting. Note that - only the matching text is highlighted, any offsets are not applied. + The |hl-Search| highlight group determines the highlighting for all + matches not under the cursor while the |hl-CurSearch| highlight group + (if defined) determines the highlighting for the match under the + cursor. If |hl-CurSearch| is not defined, then |hl-Search| is used for + both. Note that only the matching text is highlighted, any offsets + are not applied. See also: 'incsearch' and |:match|. When you get bored looking at the highlighted matches, you can turn it off with |:nohlsearch|. This does not change the option value, as @@ -3239,8 +3274,9 @@ A jump table for the options with a short description can be found at |Q_op|. 'inccommand' 'icm' string (default "nosplit") global - When nonempty, shows the effects of |:substitute|, |:smagic|, and - |:snomagic| as you type. + When nonempty, shows the effects of |:substitute|, |:smagic|, + |:snomagic| and user commands with the |:command-preview| flag as you + type. Possible values: nosplit Shows the effects of a command incrementally in the @@ -3248,8 +3284,9 @@ A jump table for the options with a short description can be found at |Q_op|. split Like "nosplit", but also shows partial off-screen results in a preview window. - If the preview is too slow (exceeds 'redrawtime') then 'inccommand' is - automatically disabled until |Command-line-mode| is done. + If the preview for built-in commands is too slow (exceeds + 'redrawtime') then 'inccommand' is automatically disabled until + |Command-line-mode| is done. *'include'* *'inc'* 'include' 'inc' string (default "^\s*#\s*include") @@ -3375,31 +3412,6 @@ A jump table for the options with a short description can be found at |Q_op|. and there is a letter before it, the completed part is made uppercase. With 'noinfercase' the match is used as-is. - *'insertmode'* *'im'* *'noinsertmode'* *'noim'* -'insertmode' 'im' boolean (default off) - global - Makes Vim work in a way that Insert mode is the default mode. Useful - if you want to use Vim as a modeless editor. - These Insert mode commands will be useful: - - Use the cursor keys to move around. - - Use CTRL-O to execute one Normal mode command |i_CTRL-O|. When - this is a mapping, it is executed as if 'insertmode' was off. - Normal mode remains active until the mapping is finished. - - Use CTRL-L to execute a number of Normal mode commands, then use - <Esc> to get back to Insert mode. Note that CTRL-L moves the cursor - left, like <Esc> does when 'insertmode' isn't set. |i_CTRL-L| - - These items change when 'insertmode' is set: - - when starting to edit of a file, Vim goes to Insert mode. - - <Esc> in Insert mode is a no-op and beeps. - - <Esc> in Normal mode makes Vim go to Insert mode. - - CTRL-L in Insert mode is a command, it is not inserted. - - CTRL-Z in Insert mode suspends Vim, see |CTRL-Z|. *i_CTRL-Z* - However, when <Esc> is used inside a mapping, it behaves like - 'insertmode' was not set. This was done to be able to use the same - mappings with 'insertmode' set or not set. - When executing commands with |:normal| 'insertmode' is not used. - *'isfname'* *'isf'* 'isfname' 'isf' string (default for Windows: "@,48-57,/,\,.,-,_,+,,,#,$,%,{,},[,],:,@-@,!,~,=" @@ -3463,12 +3475,11 @@ A jump table for the options with a short description can be found at |Q_op|. option. For '@' only characters up to 255 are used. Careful: If you change this option, it might break expanding environment variables. E.g., when '/' is included and Vim tries to - expand "$HOME/.local/share/nvim/shada/main.shada". Maybe you should + expand "$HOME/.local/state/nvim/shada/main.shada". Maybe you should change 'iskeyword' instead. *'iskeyword'* *'isk'* -'iskeyword' 'isk' string (default: @,48-57,_,192-255 - Vi default: @,48-57,_) +'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 @@ -3524,6 +3535,10 @@ A jump table for the options with a short description can be found at |Q_op|. 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 @@ -3542,7 +3557,7 @@ A jump table for the options with a short description can be found at |Q_op|. *'keymodel'* *'km'* 'keymodel' 'km' string (default "") global - List of comma separated words, which enable special things that keys + List of comma-separated words, which enable special things that keys can do. These values can be used: startsel Using a shifted special key starts selection (either Select mode or Visual mode, depending on "key" being @@ -3618,7 +3633,7 @@ A jump table for the options with a short description can be found at |Q_op|. global Language to use for menu translation. Tells which file is loaded from the "lang" directory in 'runtimepath': > - "lang/menu_" . &langmenu . ".vim" + "lang/menu_" .. &langmenu .. ".vim" < (without the spaces). For example, to always use the Dutch menus, no matter what $LANG is set to: > :set langmenu=nl_NL.ISO_8859-1 @@ -3650,6 +3665,7 @@ A jump table for the options with a short description can be found at |Q_op|. 0: never 1: only if there are at least two windows 2: always + 3: always and ONLY the last window The screen looks nicer with a status line if you have several windows, but it takes another screen line. |status-line| @@ -3660,6 +3676,9 @@ A jump table for the options with a short description can be found at |Q_op|. executing macros, registers and other commands that have not been typed. Also, updating the window title is postponed. To force an update use |:redraw|. + This may occasionally cause display errors. It is only meant to be set + temporarily when performing an operation where redrawing may cause + flickering or cause a slow down. *'linebreak'* *'lbr'* *'nolinebreak'* *'nolbr'* 'linebreak' 'lbr' boolean (default off) @@ -3716,7 +3735,7 @@ A jump table for the options with a short description can be found at |Q_op|. *'lispwords'* *'lw'* 'lispwords' 'lw' string (default is very long) global or local to buffer |global-local| - Comma separated list of words that influence the Lisp indenting. + Comma-separated list of words that influence the Lisp indenting. |'lisp'| *'list'* *'nolist'* @@ -3737,11 +3756,10 @@ A jump table for the options with a short description can be found at |Q_op|. changing the way tabs are displayed. *'listchars'* *'lcs'* -'listchars' 'lcs' string (default: "tab:> ,trail:-,nbsp:+" - Vi default: "eol:$") +'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. + comma-separated list of string settings. *lcs-eol* eol:c Character to show at the end of each line. When @@ -3779,14 +3797,24 @@ A jump table for the options with a short description can be found at |Q_op|. "space" setting is used. For example, `:set listchars=multispace:---+` shows ten consecutive 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-trail* +< *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 ~ + Where "XXX" denotes the first non-blank characters in + the line. + *lcs-trail* trail:c Character to show for trailing spaces. When omitted, trailing spaces are blank. Overrides the "space" and "multispace" settings for trailing spaces. @@ -3918,12 +3946,6 @@ A jump table for the options with a short description can be found at |Q_op|. set. Note that this is not in milliseconds, like other options that set a time. This is to be compatible with Nvi. - *'maxcombine'* *'mco'* -'maxcombine' 'mco' Removed. |vim-differences| - Nvim always displays up to 6 combining characters. You can still edit - text with more than 6 combining characters, you just can't see them. - Use |g8| or |ga|. See |mbyte-combining|. - *'maxfuncdepth'* *'mfd'* 'maxfuncdepth' 'mfd' number (default 100) global @@ -4006,8 +4028,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|. *'modeline'* *'ml'* *'nomodeline'* *'noml'* -'modeline' 'ml' boolean (Vim default: on (off for root), - Vi default: off) +'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 @@ -4062,14 +4083,14 @@ 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 (Vim default: on, Vi default: off) +'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' string (default "") +'mouse' string (default "nvi") global Enables mouse support. For example, to enable the mouse in Normal mode @@ -4141,7 +4162,7 @@ A jump table for the options with a short description can be found at |Q_op|. The mouse pointer is restored when the mouse is moved. *'mousemodel'* *'mousem'* -'mousemodel' 'mousem' string (default "extend") +'mousemodel' 'mousem' string (default "popup_setpos") global Sets the model to use for the mouse. The name mostly specifies what the right mouse button is used for: @@ -4167,7 +4188,7 @@ A jump table for the options with a short description can be found at |Q_op|. middle click paste paste In the "popup" model the right mouse button produces a pop-up menu. - You need to define this first, see |popup-menu|. + Nvim creates a default |popup-menu| but you can redefine it. Note that you can further refine the meaning of buttons with mappings. See |mouse-overview|. But mappings are NOT used for modeless selection. @@ -4193,12 +4214,32 @@ 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. + *mousescroll* +'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: + 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 + to scroll by for the given direction, it should be a non negative + integer. Each direction should be set at most once. If a direction + is omitted, a default value is used (6 for horizontal scrolling and 3 + for vertical scrolling). You can disable mouse scrolling by using + a count of 0. + + Example: > + :set mousescroll=ver:5,hor:2 +< Will make Nvim scroll 5 lines at a time when scrolling vertically, and + scroll 2 columns at a time when scrolling horizontally. + *'mouseshape'* *'mouses'* *E547* 'mouseshape' 'mouses' string (default "i:beam,r:beam,s:updown,sd:cross, 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 + different modes. The option is a comma-separated list of parts, much like used for 'guicursor'. Each part consist of a mode/location-list and an argument-list: mode-list:shape,mode-list:shape,.. @@ -4317,7 +4358,7 @@ A jump table for the options with a short description can be found at |Q_op|. |there | 4 there | 1 there | 1 there *'numberwidth'* *'nuw'* -'numberwidth' 'nuw' number (Vim default: 4 Vi default: 8) +'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 @@ -4443,8 +4484,7 @@ A jump table for the options with a short description can be found at |Q_op|. Note that typing <F10> in paste mode inserts "<F10>", since in paste mode everything is inserted literally, except the 'pastetoggle' key sequence. - No timeout is used, this means that a multi-key 'pastetoggle' can not - be triggered manually. + When the value has several bytes 'ttimeoutlen' applies. *'pex'* *'patchexpr'* 'patchexpr' 'pex' string (default "") @@ -4520,7 +4560,7 @@ A jump table for the options with a short description can be found at |Q_op|. < To use an environment variable, you probably need to replace the separator. Here is an example to append $INCL, in which directory names are separated with a semi-colon: > - :let &path = &path . "," . substitute($INCL, ';', ',', 'g') + :let &path = &path .. "," .. substitute($INCL, ';', ',', 'g') < Replace the ';' with a ':' or whatever separator is used. Note that this doesn't work when $INCL contains a comma or white space. @@ -4636,26 +4676,11 @@ A jump table for the options with a short description can be found at |Q_op|. nudged to fit on the screen. *'pyxversion'* *'pyx'* -'pyxversion' 'pyx' number (default depends on the build) +'pyxversion' 'pyx' number (default 3) global Specifies the python version used for pyx* functions and commands - |python_x|. The default value is as follows: - - |provider| installed Default ~ - |+python| and |+python3| 0 - only |+python| 2 - only |+python3| 3 - - Available values are 0, 2 and 3. - If 'pyxversion' is 0, it is set to 2 or 3 after the first execution of - any python2/3 commands or functions. E.g. `:py` sets to 2, and `:py3` - sets to 3. `:pyx` sets it to 3 if Python 3 is available, otherwise sets - to 2 if Python 2 is available. - See also: |has-pythonx| - - If only |+python| or |+python3| are available, - 'pyxversion' has no effect. The pyx* functions and commands are - always the same as the installed version. + |python_x|. As only Python 3 is supported, this always has the value + `3`. Setting any other value is an error. This option cannot be set from a |modeline| or in the |sandbox|, for security reasons. @@ -4774,15 +4799,6 @@ 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. - *'remap'* *'noremap'* -'remap' boolean (default on) - global - Allows for mappings to work recursively. If you do not want this for - a single entry, use the :noremap[!] command. - NOTE: To avoid portability problems with Vim scripts, always keep - this option at the default "on". Only switch it off when working with - old Vi scripts. - *'report'* 'report' number (default 2) global @@ -4837,9 +4853,11 @@ A jump table for the options with a short description can be found at |Q_op|. 45% relative position in the file If 'rulerformat' is set, it will determine the contents of the ruler. Each window has its own ruler. If a window has a status line, the - ruler is shown there. Otherwise it is shown in the last line of the - screen. If the statusline is given by 'statusline' (i.e. not empty), - this option takes precedence over 'ruler' and 'rulerformat' + ruler is shown there. If a window doesn't have a status line and + 'cmdheight' is 0, the ruler is not shown. Otherwise it is shown in + the last line of the screen. If the statusline is given by + 'statusline' (i.e. not empty), this option takes precedence over + 'ruler' and 'rulerformat'. If the number of characters displayed is different from the number of bytes in the text (e.g., for a TAB or a multibyte character), both the text column (byte number) and the screen column are shown, @@ -4918,9 +4936,12 @@ 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. $VIMRUNTIME, for files distributed with Neovim. + 5. Applications state home directory, for files that contain your + session state (eg. backupdir, viewdir, undodir, etc). + Given by `stdpath("state")`. |$XDG_STATE_HOME| + 6. $VIMRUNTIME, for files distributed with Neovim. *after-directory* - 6, 7, 8, 9. In after/ subdirectories of 1, 2, 3 and 4, with reverse + 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 distributed defaults or system-wide settings (rarely needed). @@ -5084,7 +5105,7 @@ A jump table for the options with a short description can be found at |Q_op|. *'selectmode'* *'slm'* 'selectmode' 'slm' string (default "") global - This is a comma separated list of words, which specifies when to start + This is a comma-separated list of words, which specifies when to start Select mode instead of Visual mode, when a selection is started. Possible values: mouse when using the mouse @@ -5095,11 +5116,9 @@ A jump table for the options with a short description can be found at |Q_op|. *'sessionoptions'* *'ssop'* 'sessionoptions' 'ssop' string (default: "blank,buffers,curdir,folds, - help,tabpages,winsize" - Vi default: "blank,buffers,curdir,folds, - help,options,tabpages,winsize") + help,tabpages,winsize") global - Changes the effect of the |:mksession| command. It is a comma + Changes the effect of the |:mksession| command. It is a comma- separated list of words. Each word enables saving and restoring something: word save and restore ~ @@ -5137,13 +5156,12 @@ A jump table for the options with a short description can be found at |Q_op|. If you leave out "options" many things won't work well after restoring the session. *'shada'* *'sd'* *E526* *E527* *E528* -'shada' 'sd' string (Vim default for +'shada' 'sd' string (default for Win32: !,'100,<50,s10,h,rA:,rB: - others: !,'100,<50,s10,h - Vi default: "") + 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 + when exiting Vim (see |shada-file|). The string should be a comma- separated list of parameters, each consisting of a single character identifying the particular parameter, followed by a number or string which specifies the value of that parameter. If a particular @@ -5303,9 +5321,9 @@ A jump table for the options with a short description can be found at |Q_op|. unescaping, so to keep yourself sane use |:let-&| like shown above. *shell-powershell* To use PowerShell: > - let &shell = has('win32') ? 'powershell' : 'pwsh' + 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 &shellredir = '-RedirectStandardOutput %s -NoNewWindow -Wait' let &shellpipe = '2>&1 | Out-File -Encoding UTF8 %s; exit $LastExitCode' set shellquote= shellxquote= @@ -5418,7 +5436,7 @@ A jump table for the options with a short description can be found at |Q_op|. < Also see 'completeslash'. *'shelltemp'* *'stmp'* *'noshelltemp'* *'nostmp'* -'shelltemp' 'stmp' boolean (Vim default on, Vi default off) +'shelltemp' 'stmp' boolean (default on) global When on, use temp files for shell commands. When off use a pipe. When using a pipe is not possible temp files are used anyway. @@ -5467,7 +5485,7 @@ A jump table for the options with a short description can be found at |Q_op|. function to get the effective shiftwidth value. *'shortmess'* *'shm'* -'shortmess' 'shm' string (Vim default "filnxtToOF", Vi default: "S") +'shortmess' 'shm' string (default "filnxtToOF") 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. @@ -5475,7 +5493,7 @@ A jump table for the options with a short description can be found at |Q_op|. 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, 888C" instead of "999 lines, 888 characters" + 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]" @@ -5507,8 +5525,7 @@ A jump table for the options with a short description can be found at |Q_op|. "Pattern not found", "Back at original", etc. q use "recording" instead of "recording @a" F don't give the file info when editing a file, like `:silent` - was used for the command; note that this also affects messages - from autocommands + was used for the command S do not show search count message when searching, e.g. "[1/5]" @@ -5542,10 +5559,11 @@ A jump table for the options with a short description can be found at |Q_op|. :setlocal showbreak=NONE < *'showcmd'* *'sc'* *'noshowcmd'* *'nosc'* -'showcmd' 'sc' boolean (Vim default: on, Vi default: off) +'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. + The option is disabled if 'cmdheight' is 0. In Visual mode the size of the selected area is shown: - When selecting characters within a line, the number of characters. If the number of bytes is different it is also displayed: "2-6" @@ -5588,10 +5606,11 @@ A jump table for the options with a short description can be found at |Q_op|. Note: Use of the short form is rated PG. *'showmode'* *'smd'* *'noshowmode'* *'nosmd'* -'showmode' 'smd' boolean (Vim default: on, Vi default: off) +'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. + The option is disabled if 'cmdheight' is 0. *'showtabline'* *'stal'* 'showtabline' 'stal' number (default 1) @@ -5660,7 +5679,7 @@ A jump table for the options with a short description can be found at |Q_op|. 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 appearence not appear weird + This is done in order for the signcolumn appearance not appear weird during line deletion. @@ -5762,7 +5781,7 @@ A jump table for the options with a short description can be found at |Q_op|. commands. It must end in ".{encoding}.add". You need to include the path, otherwise the file is placed in the current directory. *E765* - It may also be a comma separated list of names. A count before the + 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 a personal word list file and a project word list file. When a word is added while this option is empty Vim will set it for @@ -5782,7 +5801,7 @@ A jump table for the options with a short description can be found at |Q_op|. *'spelllang'* *'spl'* 'spelllang' 'spl' string (default "en") local to buffer - A comma separated list of word list names. When the 'spell' option is + A comma-separated list of word list names. When the 'spell' option is on spellchecking will be done for these languages. Example: > set spelllang=en_us,nl,medical < This means US English, Dutch and medical words are recognized. Words @@ -5822,7 +5841,7 @@ A jump table for the options with a short description can be found at |Q_op|. *'spelloptions'* *'spo'* 'spelloptions' 'spo' string (default "") local to buffer - A comma separated list of options for spell checking: + A comma-separated list of options for spell checking: camel When a word is CamelCased, assume "Cased" is a separate word: every upper-case character in a word that comes after a lower case character indicates the @@ -5919,7 +5938,7 @@ A jump table for the options with a short description can be found at |Q_op|. *'statusline'* *'stl'* *E540* *E542* 'statusline' 'stl' string (default empty) global or local to window |global-local| - When nonempty, this option determines the content of the status line. + When non-empty, this option determines the content of the status line. Also see |status-line|. The option consists of printf style '%' items interspersed with @@ -5942,7 +5961,7 @@ A jump table for the options with a short description can be found at |Q_op|. empty to avoid further errors. Otherwise screen updating would loop. Note that the only effect of 'ruler' when this option is set (and - 'laststatus' is 2) is controlling the output of |CTRL-G|. + 'laststatus' is 2 or 3) is controlling the output of |CTRL-G|. field meaning ~ - Left justify the item. The default is right justified @@ -6026,7 +6045,7 @@ A jump table for the options with a short description can be found at |Q_op|. 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 For 'tabline': start of execute function label. Use %X or %T to + @ 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', @@ -6050,8 +6069,6 @@ A jump table for the options with a short description can be found at |Q_op|. is a bug that denotes that new mouse button recognition was added without modifying code that reacts on mouse clicks on this label. - Note: to test whether your version of Neovim contains this - feature use `has('tablineat')`. < - Where to truncate line if too long. Default is at the start. No width fields allowed. = - Separation point between alignment sections. Each section will @@ -6095,10 +6112,9 @@ A jump table for the options with a short description can be found at |Q_op|. If the statusline is not updated when you want it (e.g., after setting a variable that's used in an expression), you can force an update by - setting an option without changing its value. Example: > - :let &ro = &ro + using `:redrawstatus`. -< A result of all digits is regarded a number for display purposes. + A result of all digits is regarded a number for display purposes. Otherwise the result is taken as flag text and applied to the rules described above. @@ -6142,7 +6158,7 @@ A jump table for the options with a short description can be found at |Q_op|. *'suffixesadd'* *'sua'* 'suffixesadd' 'sua' string (default "") local to buffer - Comma separated list of suffixes, which are used when searching for a + Comma-separated list of suffixes, which are used when searching for a file for the "gf", "[I", etc. commands. Example: > :set suffixesadd=.java < @@ -6174,7 +6190,7 @@ A jump table for the options with a short description can be found at |Q_op|. This option controls the behavior when switching between buffers. Mostly for |quickfix| commands some values are also used for other commands, as mentioned below. - Possible values (comma separated list): + 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. @@ -6235,7 +6251,7 @@ A jump table for the options with a short description can be found at |Q_op|. *'tabline'* *'tal'* 'tabline' 'tal' string (default empty) global - When nonempty, this option determines the content of the tab pages + When non-empty, this option determines the content of the tab pages line at the top of the Vim window. When empty Vim will use a default tab pages line. See |setting-tabline| for more info. @@ -6268,10 +6284,11 @@ A jump table for the options with a short description can be found at |Q_op|. 'tabstop' 'ts' number (default 8) local to buffer Number of spaces that a <Tab> in the file counts for. Also see - |:retab| command, and 'softtabstop' option. + the |:retab| command, and the 'softtabstop' option. Note: Setting 'tabstop' to any other value than 8 can make your file - appear wrong in many places (e.g., when printing it). + appear wrong in many places, e.g., when printing it. + The value must be more than 0 and less than 10000. There are four main ways to use tabs in Vim: 1. Always keep 'tabstop' at 8, set 'softtabstop' and 'shiftwidth' to 4 @@ -6325,9 +6342,10 @@ A jump table for the options with a short description can be found at |Q_op|. linear search can be avoided when case is ignored. Use a value of '2' in the "!_TAG_FILE_SORTED" line for this. A tag file can be case-fold sorted with the -f switch to "sort" in most unices, as in the command: - "sort -f -o tags tags". For "Exuberant ctags" version 5.x or higher - (at least 5.5) the --sort=foldcase switch can be used for this as - well. Note that case must be folded to uppercase for this to work. + "sort -f -o tags tags". For Universal ctags and Exuberant ctags + version 5.x or higher (at least 5.5) the --sort=foldcase switch can be + used for this as well. Note that case must be folded to uppercase for + this to work. By default, tag searches are case-sensitive. Case is ignored when 'ignorecase' is set and 'tagcase' is "followic", or when 'tagcase' is @@ -6370,7 +6388,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 (Vim default: on, Vi default: off) +'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. @@ -6420,7 +6438,7 @@ 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'* + *'termguicolors'* *'tgc'* *'notermguicolors'* *'notgc'* 'termguicolors' 'tgc' boolean (default off) global Enables 24-bit RGB color in the |TUI|. Uses "gui" |:highlight| @@ -6430,7 +6448,7 @@ A jump table for the options with a short description can be found at |Q_op|. *'termpastefilter'* *'tpf'* 'termpastefilter' 'tpf' string (default: "BS,HT,ESC,DEL") global - A comma separated list of options for specifying control characters + A comma-separated list of options for specifying control characters to be removed from the text pasted into the terminal window. The supported values are: @@ -6450,13 +6468,6 @@ A jump table for the options with a short description can be found at |Q_op|. C1 Control characters 0x80...0x9F - *'terse'* *'noterse'* -'terse' boolean (default off) - global - When set: Add 's' flag to 'shortmess' option (this makes the message - for a search that hits the start or end of the file not being - displayed). When reset: Remove 's' flag from 'shortmess' option. - *'textwidth'* *'tw'* 'textwidth' 'tw' number (default 0) local to buffer @@ -6582,7 +6593,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. Example: > - :auto BufEnter * let &titlestring = hostname() . "/" . expand("%:p") + :auto BufEnter * let &titlestring = hostname() .. "/" .. expand("%:p") :set title titlestring=%<%F%=%l/%L-%P titlelen=70 < The value of 'titlelen' is used to align items in the middle or right of the available space. @@ -6594,11 +6605,8 @@ 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). - *'ttyfast'* *'tf'* *'nottyfast'* *'notf'* -'ttyfast' 'tf' Removed. |vim-differences| - *'undodir'* *'udir'* *E5003* -'undodir' 'udir' string (default "$XDG_DATA_HOME/nvim/undo//") +'undodir' 'udir' string (default "$XDG_STATE_HOME/nvim/undo//") global List of directory names for undo files, separated with commas. See 'backupdir' for details of the format. @@ -6766,8 +6774,8 @@ A jump table for the options with a short description can be found at |Q_op|. global When bigger than zero, Vim will give messages about what it is doing. Currently, these messages are given: - >= 1 When the shada file is read or written. - >= 2 When a file is ":source"'ed. + >= 1 Lua assignments to options, mappings, etc. + >= 2 When a file is ":source"'ed and when the shada file is read or written.. >= 3 UI info, terminal capabilities >= 4 Shell commands. >= 5 Every searched tags file and include file. @@ -6799,7 +6807,7 @@ A jump table for the options with a short description can be found at |Q_op|. displayed when 'verbosefile' is set. *'viewdir'* *'vdir'* -'viewdir' 'vdir' string (default: "$XDG_DATA_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 @@ -6808,7 +6816,7 @@ A jump table for the options with a short description can be found at |Q_op|. *'viewoptions'* *'vop'* 'viewoptions' 'vop' string (default: "folds,cursor,curdir") global - Changes the effect of the |:mkview| command. It is a comma separated + Changes the effect of the |:mkview| command. It is a comma-separated list of words. Each word enables saving and restoring something: word save and restore ~ cursor cursor position in file and in window @@ -6823,12 +6831,16 @@ A jump table for the options with a short description can be found at |Q_op|. *'virtualedit'* *'ve'* 'virtualedit' 've' string (default "") - global - A comma separated list of these words: + global or local to window |global-local| + A comma-separated list of these words: block Allow virtual editing in Visual block mode. insert Allow virtual editing in Insert mode. all Allow virtual editing in all modes. onemore Allow the cursor to move just past the end of the line + none When used as the local value, do not allow virtual + editing even when the global value is set. When used + as the global value, "none" is the same as "". + NONE Alternative spelling of "none". Virtual editing means that the cursor can be positioned where there is no actual character. This can be halfway into a tab or beyond the end @@ -6859,7 +6871,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 (Vim default: "b,s", Vi default: "") +'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 @@ -6889,7 +6901,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 (Vim default: <Tab>, Vi default: CTRL-E) +'wildchar' 'wc' number (default: <Tab>) global Character you have to type to start wildcard expansion in the command-line, as specified with 'wildmode'. @@ -6977,7 +6989,7 @@ A jump table for the options with a short description can be found at |Q_op|. '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 + 'wildchar'. It is a comma-separated list of up to four parts. Each part specifies what to do for each consecutive use of 'wildchar'. The first part specifies the behavior for the first use of 'wildchar', The second part for the second use, etc. @@ -7024,7 +7036,7 @@ A jump table for the options with a short description can be found at |Q_op|. 'wildoptions' 'wop' string (default "pum,tagfile") global List of words that change how |cmdline-completion| is done. - pum Display the completion matches using the popupmenu + pum Display the completion matches using the popup menu in the same style as the |ins-completion-menu|. tagfile When using CTRL-D to list matching tags, the kind of tag and the file of the tag is listed. Only one match @@ -7051,6 +7063,23 @@ A jump table for the options with a short description can be found at |Q_op|. key is never used for the menu. This option is not used for <F10>; on Win32. + *'winbar'* *'wbr'* +'winbar' 'wbr' string (default empty) + 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 + window with it enabled. The value of 'winbar' is evaluated like with + 'statusline'. + + When changing something that is used in 'winbar' that does not trigger + it to be updated, use |:redrawstatus|. + + Floating windows do not use the global value of 'winbar'. The + window-local value of 'winbar' must be set for a floating window to + have a window bar. + + This option cannot be set in a modeline when 'modelineexpr' is off. + *'winblend'* *'winbl'* 'winblend' 'winbl' number (default 0) local to window @@ -7192,7 +7221,7 @@ A jump table for the options with a short description can be found at |Q_op|. starts. When typing text beyond this limit, an <EOL> will be inserted and inserting continues on the next line. Options that add a margin, such as 'number' and 'foldcolumn', cause - the text width to be further reduced. This is Vi compatible. + the text width to be further reduced. When 'textwidth' is non-zero, this option is not used. See also 'formatoptions' and |ins-textwidth|. |