changeset 24751:e69e7133c9cf

Update runtime files Commit: https://github.com/vim/vim/commit/d2ea7cf10a4d026ebd402594d656af7d5c811c24 Author: Bram Moolenaar <Bram@vim.org> Date: Sun May 30 20:54:13 2021 +0200 Update runtime files
author Bram Moolenaar <Bram@vim.org>
date Sun, 30 May 2021 21:00:09 +0200
parents 5039ed8ea97f
children 1ce39e257f1b
files runtime/doc/autocmd.txt runtime/doc/cmdline.txt runtime/doc/diff.txt runtime/doc/editing.txt runtime/doc/ft_sql.txt runtime/doc/if_tcl.txt runtime/doc/index.txt runtime/doc/options.txt runtime/doc/quickfix.txt runtime/doc/spell.txt runtime/doc/syntax.txt runtime/doc/tags runtime/doc/textprop.txt runtime/doc/todo.txt runtime/doc/usr_08.txt runtime/doc/usr_09.txt runtime/doc/version6.txt runtime/doc/vim9.txt runtime/doc/visual.txt runtime/indent/python.vim runtime/pack/dist/opt/termdebug/plugin/termdebug.vim runtime/syntax/c.vim runtime/syntax/cpp.vim runtime/syntax/sh.vim runtime/syntax/vim.vim runtime/tutor/tutor runtime/tutor/tutor.bar runtime/tutor/tutor.bar.utf-8 runtime/tutor/tutor.bg.utf-8 runtime/tutor/tutor.ca runtime/tutor/tutor.ca.utf-8 runtime/tutor/tutor.cs runtime/tutor/tutor.cs.cp1250 runtime/tutor/tutor.cs.utf-8 runtime/tutor/tutor.da runtime/tutor/tutor.da.utf-8 runtime/tutor/tutor.de runtime/tutor/tutor.de.utf-8 runtime/tutor/tutor.el runtime/tutor/tutor.el.cp737 runtime/tutor/tutor.el.utf-8 runtime/tutor/tutor.eo runtime/tutor/tutor.eo.utf-8 runtime/tutor/tutor.fr runtime/tutor/tutor.fr.utf-8 runtime/tutor/tutor.hr runtime/tutor/tutor.hr.cp1250 runtime/tutor/tutor.hr.utf-8 runtime/tutor/tutor.hu runtime/tutor/tutor.hu.cp1250 runtime/tutor/tutor.hu.utf-8 runtime/tutor/tutor.it runtime/tutor/tutor.it.utf-8 runtime/tutor/tutor.ja.euc runtime/tutor/tutor.ja.sjis runtime/tutor/tutor.ja.utf-8 runtime/tutor/tutor.ko runtime/tutor/tutor.ko.euc runtime/tutor/tutor.ko.utf-8 runtime/tutor/tutor.lv.utf-8 runtime/tutor/tutor.nb runtime/tutor/tutor.nb.utf-8 runtime/tutor/tutor.nl runtime/tutor/tutor.nl.utf-8 runtime/tutor/tutor.no runtime/tutor/tutor.no.utf-8 runtime/tutor/tutor.pl runtime/tutor/tutor.pl.cp1250 runtime/tutor/tutor.pl.utf-8 runtime/tutor/tutor.pt runtime/tutor/tutor.pt.utf-8 runtime/tutor/tutor.ru runtime/tutor/tutor.ru.cp1251 runtime/tutor/tutor.ru.utf-8 runtime/tutor/tutor.sk runtime/tutor/tutor.sk.cp1250 runtime/tutor/tutor.sk.utf-8 runtime/tutor/tutor.sr.cp1250 runtime/tutor/tutor.sr.utf-8 runtime/tutor/tutor.sv runtime/tutor/tutor.sv.utf-8 runtime/tutor/tutor.tr.iso9 runtime/tutor/tutor.tr.utf-8 runtime/tutor/tutor.uk.utf-8 runtime/tutor/tutor.utf-8 runtime/tutor/tutor.vi.utf-8 runtime/tutor/tutor.zh.big5 runtime/tutor/tutor.zh.euc runtime/tutor/tutor.zh.utf-8 runtime/tutor/tutor.zh_cn.utf-8 runtime/tutor/tutor.zh_tw.utf-8
diffstat 91 files changed, 323 insertions(+), 226 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 8.2.  Last change: 2021 Apr 25
+*autocmd.txt*   For Vim version 8.2.  Last change: 2021 May 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -985,9 +985,10 @@ QuickFixCmdPost			Like QuickFixCmdPre, b
 							*QuitPre*
 QuitPre				When using `:quit`, `:wq` or `:qall`, before
 				deciding whether it closes the current window
-				or quits Vim.  Can be used to close any
-				non-essential window if the current window is
-				the last ordinary window.
+				or quits Vim.  For `:wq` the buffer is written
+				before QuitPre is triggered.  Can be used to
+				close any non-essential window if the current
+				window is the last ordinary window.
 				Also see |ExitPre|.
 							*RemoteReply*
 RemoteReply			When a reply from a Vim that functions as
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt*   For Vim version 8.2.  Last change: 2021 May 08
+*cmdline.txt*   For Vim version 8.2.  Last change: 2021 May 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1134,7 +1134,7 @@ in Normal mode and Insert mode.
 It is possible to use ":", "/" and other commands that use the command-line,
 but it's not possible to open another command-line window then.  There is no
 nesting.
-							*E11*
+							*E11* *E1188*
 The command-line window is not a normal window.  It is not possible to move to
 another window or edit another buffer.  All commands that would do this are
 disabled in the command-line window.  Of course it _is_ possible to execute
--- a/runtime/doc/diff.txt
+++ b/runtime/doc/diff.txt
@@ -1,4 +1,4 @@
-*diff.txt*      For Vim version 8.2.  Last change: 2021 Feb 10
+*diff.txt*      For Vim version 8.2.  Last change: 2021 May 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -345,9 +345,11 @@ between file1 and file2: >
 
 The ">" is replaced with the value of 'shellredir'.
 
-The output of "diff" must be a normal "ed" style diff or a unified diff.  Do
-NOT use a context diff.  This example explains the format that Vim expects for
-the "ed" style diff: >
+The output of "diff" must be a normal "ed" style diff or a unified diff.  A
+context diff will NOT work.  For a unified diff no context lines can be used.
+Using "diff -u" will NOT work, use "diff -U0".
+
+This example explains the format that Vim expects for the "ed" style diff: >
 
 	1a2
 	> bbb
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt*   For Vim version 8.2.  Last change: 2021 Apr 05
+*editing.txt*   For Vim version 8.2.  Last change: 2021 May 27
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1320,8 +1320,8 @@ present in 'cpoptions' and "!" is not us
 							*:chd* *:chdir*
 :chd[ir][!] [path]	Same as |:cd|.
 
-							*:tcd*
-:tcd[!] {path}		Like |:cd|, but only set the directory for the current
+							*:tc* *:tcd*
+:tc[d][!] {path}	Like |:cd|, but only set the directory for the current
 			tab.  The current window will also use this directory.
 			The current directory is not changed for windows in
 			other tabs and for windows in the current tab that
@@ -1331,7 +1331,7 @@ present in 'cpoptions' and "!" is not us
 :tch[dir][!]		Same as |:tcd|.
 
 							*:tcd-*
-:tcd[!] -		Change to the previous current directory, before the
+:tc[d][!] -		Change to the previous current directory, before the
 			last ":tcd {path}" command.
 
 							*:lc* *:lcd*
--- a/runtime/doc/ft_sql.txt
+++ b/runtime/doc/ft_sql.txt
@@ -440,7 +440,7 @@ the space bar):
 			     replace the column list with the list of tables.
 			   - This allows you to quickly drill down into a
 			     table to view its columns and back again.
-			   - <Right> and <Left> can be also be chosen via
+			   - <Right> and <Left> can also be chosen via
 			     your |.vimrc| >
                                 let g:ftplugin_sql_omni_key_right = '<Right>'
                                 let g:ftplugin_sql_omni_key_left  = '<Left>'
--- a/runtime/doc/if_tcl.txt
+++ b/runtime/doc/if_tcl.txt
@@ -1,4 +1,4 @@
-*if_tcl.txt*    For Vim version 8.2.  Last change: 2019 Jul 21
+*if_tcl.txt*    For Vim version 8.2.  Last change: 2021 May 27
 
 
 		  VIM REFERENCE MANUAL    by Ingo Wilken
@@ -25,12 +25,12 @@ comments, ideas etc to <Ingo.Wilken@info
 ==============================================================================
 1. Commands				*tcl-ex-commands* *E571* *E572*
 
-							*:tcl* *:tc*
-:tc[l] {cmd}		Execute Tcl command {cmd}.  A simple check if `:tcl`
+							*:tcl*
+:tcl {cmd}		Execute Tcl command {cmd}.  A simple check if `:tcl`
 			is working: >
 				:tcl puts "Hello"
 
-:[range]tc[l] << [trim] [{endmarker}]
+:[range]tcl << [trim] [{endmarker}]
 {script}
 {endmarker}
 			Execute Tcl script {script}.
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt*     For Vim version 8.2.  Last change: 2021 Apr 24
+*index.txt*     For Vim version 8.2.  Last change: 2021 May 27
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1657,9 +1657,9 @@ tag		command		action ~
 |:tab|		:tab		create new tab when opening new window
 |:tag|		:ta[g]		jump to tag
 |:tags|		:tags		show the contents of the tag stack
-|:tcd|		:tcd		change directory for tab page
+|:tcd|		:tc[d]		change directory for tab page
 |:tchdir|	:tch[dir]	change directory for tab page
-|:tcl|		:tc[l]		execute Tcl command
+|:tcl|		:tcl		execute Tcl command
 |:tcldo|	:tcld[o]	execute Tcl command for each line
 |:tclfile|	:tclf[ile]	execute Tcl script file
 |:tearoff|	:te[aroff]	tear-off a menu
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.2.  Last change: 2021 May 15
+*options.txt*	For Vim version 8.2.  Last change: 2021 May 16
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -7495,6 +7495,8 @@ A jump table for the options with a shor
 'switchbuf' 'swb'	string	(default "")
 			global
 	This option controls the behavior when switching between buffers.
+	Mostly for |quickfix| commands some values are also used for other
+	commands, as mentioned below.
 	Possible values (comma separated list):
 	   useopen	If included, jump to the first open window that
 			contains the specified buffer (if there is one).
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt*  For Vim version 8.2.  Last change: 2021 May 02
+*quickfix.txt*  For Vim version 8.2.  Last change: 2021 May 22
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1386,7 +1386,8 @@ Basic items
 	%o		module name (finds a string)
 	%l		line number (finds a number)
 	%c		column number (finds a number representing character
-			column of the error, (1 <tab> == 1 character column))
+			column of the error, byte index, a <tab> is 1
+			character column)
 	%v		virtual column number (finds a number representing
 			screen column of the error (1 <tab> == 8 screen
 			columns))
--- a/runtime/doc/spell.txt
+++ b/runtime/doc/spell.txt
@@ -1143,10 +1143,10 @@ flag to avoid lots of errors.
 CIRCUMFIX						*spell-CIRCUMFIX*
 
 The CIRCUMFIX flag means a prefix and suffix must be added at the same time.
-If a prefix has the CIRCUMFIX flag than only suffixes with the CIRCUMFIX flag
+If a prefix has the CIRCUMFIX flag then only suffixes with the CIRCUMFIX flag
 can be added, and the other way around.
-An alternative is to only specify the suffix, and give the that suffix two
-flags: The required prefix and the NEEDAFFIX flag.  |spell-NEEDAFFIX|
+An alternative is to only specify the suffix, and give that suffix two flags:
+the required prefix and the NEEDAFFIX flag.  |spell-NEEDAFFIX|
 
 
 PFXPOSTPONE						*spell-PFXPOSTPONE*
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 8.2.  Last change: 2021 Apr 02
+*syntax.txt*	For Vim version 8.2.  Last change: 2021 May 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4967,6 +4967,14 @@ ctermul={color-nr}				*highlight-ctermul
 	colors for a color-xterm can be changed from the .Xdefaults file.
 	Unfortunately this means that it's not possible to get the same colors
 	for each user.	See |xterm-color| for info about color xterms.
+							*tmux*
+	When using tmux you may want to use this in the tmux config: >
+	    # tmux colors
+	    set -g default-terminal "xterm-256color"
+	    set -ag terminal-overrides ",xterm-256color:Tc"
+<	More info at:
+	https://github.com/tmux/tmux/wiki/FAQ#how-do-i-use-a-256-colour-terminal
+	https://github.com/tmux/tmux/wiki/FAQ#how-do-i-use-rgb-colour
 
 	The MS-Windows standard colors are fixed (in a console window), so
 	these have been used for the names.  But the meaning of color names in
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -3317,7 +3317,7 @@ 90.5	usr_90.txt	/*90.5*
 :tabs	tabpage.txt	/*:tabs*
 :tag	tagsrch.txt	/*:tag*
 :tags	tagsrch.txt	/*:tags*
-:tc	if_tcl.txt	/*:tc*
+:tc	editing.txt	/*:tc*
 :tcd	editing.txt	/*:tcd*
 :tcd-	editing.txt	/*:tcd-*
 :tch	editing.txt	/*:tch*
@@ -3961,6 +3961,8 @@ E1155	autocmd.txt	/*E1155*
 E116	eval.txt	/*E116*
 E117	eval.txt	/*E117*
 E118	eval.txt	/*E118*
+E1187	starting.txt	/*E1187*
+E1188	cmdline.txt	/*E1188*
 E119	eval.txt	/*E119*
 E12	message.txt	/*E12*
 E120	eval.txt	/*E120*
@@ -9742,6 +9744,7 @@ timestamp	editing.txt	/*timestamp*
 timestamps	editing.txt	/*timestamps*
 tips	tips.txt	/*tips*
 tips.txt	tips.txt	/*tips.txt*
+tmux	syntax.txt	/*tmux*
 todo	todo.txt	/*todo*
 todo.txt	todo.txt	/*todo.txt*
 toggle	options.txt	/*toggle*
--- a/runtime/doc/textprop.txt
+++ b/runtime/doc/textprop.txt
@@ -1,4 +1,4 @@
-*textprop.txt*  For Vim version 8.2.  Last change: 2021 Mar 22
+*textprop.txt*  For Vim version 8.2.  Last change: 2021 May 26
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -126,7 +126,7 @@ prop_add({lnum}, {col}, {props})
 		   length	length of text in bytes, can only be used
 				for a property that does not continue in
 				another line; can be zero
-		   end_lnum	line number for the end of text
+		   end_lnum	line number for the end of text (inclusive)
 		   end_col	column just after the text; not used when
 				"length" is present; when {col} and "end_col"
 				are equal, and "end_lnum" is omitted or equal
@@ -228,7 +228,8 @@ prop_remove({props} [, {lnum} [, {lnum-e
 		{lnum-end} is given, remove matching text properties from line
 		{lnum} to {lnum-end} (inclusive).
 		When {lnum} is omitted remove matching text properties from
-		all lines.
+		all lines (this requires going over all lines, thus will be a
+		bit slow for a buffer with many lines).
 
 		{props} is a dictionary with these fields:
 		   id		remove text properties with this ID
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2021 May 15
+*todo.txt*      For Vim version 8.2.  Last change: 2021 May 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,6 +38,20 @@ browser use: https://github.com/vim/vim/
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Geen memory leak?
+
+Crash using outer var from nested lambda:
+	vim9script
+	def F(text: string): func(string): func(string): string
+	  return (arg: string): func(string): string => ((sep: string): string => {
+	      return text .. ' ' .. arg
+	    })
+	enddef
+
+	echo F('hello')(' ')('there')
+
+
+
 Vim9 - Make everything work:
 - function returning nothing should return void instead of zero
 - compile "expr" and "call" expression of a channel in channel_exe_cmd()?
@@ -102,6 +116,9 @@ Further Vim9 improvements, possibly afte
 
 
 Popup windows:
+- Preview popup not properly updated when it overlaps with completion menu.
+    (Yegappan Lakshmanan, 2021 May 22
+- In some cases prop_remove() does not work correctly. (#8261)
 - Add a flag to make a popup window focusable?
     CTRL-W P cycle over any preview window or focusable popup, end up back in
 	     current window.
@@ -134,6 +151,11 @@ Popup windows:
 - Figure out the size and position better if wrapping inserts indent
 
 Text properties:
+- property is overruled by cursorline. (#8225).
+  Add better control over priority?  Make list of all highlighting, specify
+  where property fits in.
+  Or Should we let the textprop highlight overrule other (e.g. diff) highlight
+  if the priority is above a certain value?  (#7392)
 - Popup attached to text property stays visible when text is no longer
   visible. (#7736)
 - Popup attached to text property stays visible when text is deleted with
@@ -143,8 +165,6 @@ Text properties:
 - "cc" does not call inserted_bytes(). (Axel Forsman, #5763)
 - Combining text property with 'cursorline' does not always work (Billie
   Cleek, #5533)
-- Should we let the textprop highlight overrule other (e.g. diff) highlight if
-  the priority is above a certain value?  (#7392)
 - See remarks at top of src/textprop.c
 
 'incsearch' with :s:
@@ -221,6 +241,11 @@ Terminal emulator window:
 
 Include patch #6290: recognize shell directory change.
 
+MS-Windows GUI: default 'encoding' to "utf-8" ?  (#8221)
+    Add #ifdef MSWIN before enc_locale() in set_init_1().
+    Or just always for MS-Windows?  Conversion to 'termencoding' should always
+    work?
+
 Valgrind reports memory leaks in test_options.
 Valgrind reports overlapping memcpy in
     test_conceal.3
@@ -264,6 +289,9 @@ interrupt does not work. Where to add ui
 
 Remove SPACE_IN_FILENAME ? It is only used for completion.
 
+Searching for \%'> does not find anything when using line Visual selection.
+Probably because it's using MAXCOL.  #8238
+
 Add optional argument to virtcol() that specifies "start", "cursor" or "end"
 to tell which value from getvvcol() should be used. (#7964)
 Value returned by virtcol() changes depending on how lines wrap.  This is
@@ -408,6 +436,8 @@ Using mode() when "/pat" is used in Visu
 which is not useful.  Return "c/v" instead.  And "c/o" when using "d/pat".
 #6127
 
+Add a cterm attribute for "dimmed" or "faint" text. (#8269)
+
 When 'fileignorecase' is set ":e testfile.c" works to edit TestFile.c, but
 ":find testfile.c" does not ignore case.
 Might be related to #6088.
@@ -2985,7 +3015,7 @@ More patches:
     vimtutor.vim. (Jan Minar, 2008 Jul 20)
 -   When fsync() fails there is no hint about what went wrong.  Patch by Ben
     Schmidt, 2008 Jul 22.
--   testdir/Make_dos_sh.mak for running tests with MingW. (Bill Mccarthy, 2008
+-   testdir/Make_dos_sh.mak for running tests with MingW. (Bill McCarthy, 2008
     Sep 13)
 -   Replace ccomplete.vim by cppcomplete.vim from www.vim.org?  script 1520 by
     Vissale Neang.  (Martin Stubenschrott) Asked Vissale to make the scripts
--- a/runtime/doc/usr_08.txt
+++ b/runtime/doc/usr_08.txt
@@ -1,4 +1,4 @@
-*usr_08.txt*	For Vim version 8.2.  Last change: 2017 Aug 11
+*usr_08.txt*	For Vim version 8.2.  Last change: 2021 May 20
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -235,7 +235,7 @@ windows like this:
 	+----------------------------------+
 
 Clearly the last one should be at the top.  Go to that window (using CTRL-W w)
-and the type this command: >
+and then type this command: >
 
 	CTRL-W K
 
--- a/runtime/doc/usr_09.txt
+++ b/runtime/doc/usr_09.txt
@@ -113,7 +113,7 @@ when the 'wrap' option has been reset (m
 
 When there are vertically split windows, only the windows on the right side
 will have a scrollbar.  However, when you move the cursor to a window on the
-left, it will be this one the that scrollbar controls.  This takes a bit of
+left, it will be this one that the scrollbar controls.  This takes a bit of
 time to get used to.
    When you work with vertically split windows, consider adding a scrollbar on
 the left.  This can be done with a menu item, or with the 'guioptions' option:
--- a/runtime/doc/version6.txt
+++ b/runtime/doc/version6.txt
@@ -9649,7 +9649,7 @@ Files:	    src/Make_cyg.mak, src/Make_mi
 
 Patch 6.2f.016
 Problem:    "vim --version > ff" on non-Unix systems results in a file with a
-	    missing line break at the end. (Bill McCArthy)
+	    missing line break at the end. (Bill McCarthy)
 Solution:   Add a line break.
 Files:	    src/main.c
 
@@ -12864,7 +12864,7 @@ Files:	    src/message.c
 Patch 6.2.444
 Problem:    When adding the 'c' flag to a ":substitute" command it may replace
 	    more times than without the 'c' flag.  Happens for a  match that
-	    starts with "\ze" (Marcel Svitalsk) and when using "\@<=" (Klaus
+	    starts with "\ze" (Marcel Svitalsky) and when using "\@<=" (Klaus
 	    Bosau).
 Solution:   Correct "prev_matchcol" when replacing the line.  Don't replace
 	    the line when the pattern uses look-behind matching.
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt*	For Vim version 8.2.  Last change: 2021 Apr 28
+*vim9.txt*	For Vim version 8.2.  Last change: 2021 May 26
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -101,7 +101,8 @@ script and `:def` functions; details are
 	def CallMe(count: number, message: string): bool
 - Call functions without `:call`: >
 	writefile(['done'], 'file.txt')
-- You cannot use `:xit`, `:t`, `:k`, `:append`, `:change`, `:insert`, `:open`
+- You cannot use `:xit`, `:t`, `:k`, `:append`, `:change`, `:insert`, `:open`,
+  and `:s` or `:d` with only flags.
   or curly-braces names.
 - A range before a command must be prefixed with a colon: >
 	:%s/this/that
@@ -1550,7 +1551,7 @@ functions return these values.
 
 If you have any type of value and want to use it as a boolean, use the `!!`
 operator:
-	true: !`!'text'`, `!![99]`, `!!{'x': 1}`, `!!99`
+	true: `!!'text'`, `!![99]`, `!!{'x': 1}`, `!!99`
 	false: `!!''`, `!![]`, `!!{}`
 
 From a language like JavaScript we have this handy construct: >
--- a/runtime/doc/visual.txt
+++ b/runtime/doc/visual.txt
@@ -1,4 +1,4 @@
-*visual.txt*    For Vim version 8.2.  Last change: 2019 Nov 02
+*visual.txt*    For Vim version 8.2.  Last change: 2021 May 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -429,7 +429,7 @@ 1. fo<C-v>3jISTRING<ESC>					*v_b_I_exam
 
 abcdefghijklmnSTRINGopqrstuvwxyz
 abc	      STRING  defghijklmnopqrstuvwxyz
-abcdef  ghi   STRING	jklmnopqrstuvwxyz
+abcdef  ghi   STRING  	jklmnopqrstuvwxyz
 abcdefghijklmnSTRINGopqrstuvwxyz
 
 2. fo<C-v>3j$ASTRING<ESC>					*v_b_A_example*
--- a/runtime/indent/python.vim
+++ b/runtime/indent/python.vim
@@ -2,7 +2,7 @@
 " Language:		Python
 " Maintainer:		Bram Moolenaar <Bram@vim.org>
 " Original Author:	David Bustos <bustos@caltech.edu>
-" Last Change:		2019 Feb 21
+" Last Change:		2021 May 26
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
@@ -191,7 +191,7 @@ function GetPythonIndent(lnum)
   if getline(a:lnum) =~ '^\s*\(elif\|else\)\>'
 
     " Unless the previous line was a one-liner
-    if getline(plnumstart) =~ '^\s*\(for\|if\|try\)\>'
+    if getline(plnumstart) =~ '^\s*\(for\|if\|elif\|try\)\>'
       return plindent
     endif
 
--- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
@@ -2,7 +2,7 @@
 "
 " Author: Bram Moolenaar
 " Copyright: Vim license applies, see ":help license"
-" Last Change: 2021 May 16
+" Last Change: 2021 May 18
 "
 " WORK IN PROGRESS - Only the basics work
 " Note: On MS-Windows you need a recent version of gdb.  The one included with
@@ -176,6 +176,16 @@ func s:CloseBuffers()
   unlet! s:gdbwin
 endfunc
 
+func s:CheckGdbRunning()
+  let gdbproc = term_getjob(s:gdbbuf)
+  if gdbproc == v:null || job_status(gdbproc) !=# 'run'
+    echoerr string(g:termdebugger) . ' exited unexpectedly'
+    call s:CloseBuffers()
+    return ''
+  endif
+  return 'ok'
+endfunc
+
 func s:StartDebug_term(dict)
   " Open a terminal window without a job, to run the debugged program in.
   let s:ptybuf = term_start('NONE', {
@@ -216,7 +226,7 @@ func s:StartDebug_term(dict)
   let gdb_args = get(a:dict, 'gdb_args', [])
   let proc_args = get(a:dict, 'proc_args', [])
 
-  let cmd = [g:termdebugger, '-quiet', '-tty', pty] + gdb_args
+  let cmd = [g:termdebugger, '-quiet', '-tty', pty, '--eval-command', 'echo startupdone\n'] + gdb_args
   call ch_log('executing "' . join(cmd) . '"')
   let s:gdbbuf = term_start(cmd, {
 	\ 'term_finish': 'close',
@@ -228,9 +238,28 @@ func s:StartDebug_term(dict)
   endif
   let s:gdbwin = win_getid(winnr())
 
-  " Set arguments to be run.  First wait a bit to make detecting gdb a bit
-  " more reliable.
-  sleep 200m
+  " Wait for the "startupdone" message before sending any commands.
+  let try_count = 0
+  while 1
+    if s:CheckGdbRunning() != 'ok'
+      return
+    endif
+
+    for lnum in range(1, 200)
+      if term_getline(s:gdbbuf, lnum) =~ 'startupdone'
+	let try_count = 9999
+	break
+      endif
+    endfor
+    let try_count += 1
+    if try_count > 300
+      " done or give up after five seconds
+      break
+    endif
+    sleep 10m
+  endwhile
+
+  " Set arguments to be run.
   if len(proc_args)
     call term_sendkeys(s:gdbbuf, 'set args ' . join(proc_args) . "\r")
   endif
@@ -242,10 +271,7 @@ func s:StartDebug_term(dict)
   " why the debugger doesn't work.
   let try_count = 0
   while 1
-    let gdbproc = term_getjob(s:gdbbuf)
-    if gdbproc == v:null || job_status(gdbproc) !=# 'run'
-      echoerr string(g:termdebugger) . ' exited unexpectedly'
-      call s:CloseBuffers()
+    if s:CheckGdbRunning() != 'ok'
       return
     endif
 
@@ -292,7 +318,7 @@ func s:StartDebug_term(dict)
   " "Type <return> to continue" prompt.
   call s:SendCommand('set pagination off')
 
-  call job_setoptions(gdbproc, {'exit_cb': function('s:EndTermDebug')})
+  call job_setoptions(term_getjob(s:gdbbuf), {'exit_cb': function('s:EndTermDebug')})
   call s:StartDebugCommon(a:dict)
 endfunc
 
--- a/runtime/syntax/c.vim
+++ b/runtime/syntax/c.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	C
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2021 Jan 11
+" Last Change:	2021 May 24
 
 " Quit when a (custom) syntax file was already loaded
 if exists("b:current_syntax")
@@ -414,6 +414,9 @@ if exists("c_autodoc")
   syn cluster cPreProcGroup add=cAutodocReal
 endif
 
+" be able to fold #pragma regions
+syn region	cPragma		start="^\s*#pragma\s\+region\>" end="^\s*#pragma\s\+endregion\>" transparent keepend extend fold
+
 " Highlight User Labels
 syn cluster	cMultiGroup	contains=cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cCppParen,cCppBracket,cCppString
 if s:ft ==# 'c' || exists("cpp_no_cpp11")
--- a/runtime/syntax/cpp.vim
+++ b/runtime/syntax/cpp.vim
@@ -2,7 +2,7 @@
 " Language:	C++
 " Current Maintainer:	vim-jp (https://github.com/vim-jp/vim-cpp)
 " Previous Maintainer:	Ken Shan <ccshan@post.harvard.edu>
-" Last Change:	2021 Jan 12
+" Last Change:	2021 May 04
 
 " quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -44,33 +44,45 @@ if !exists("cpp_no_cpp11")
   syn keyword cppConstant	ATOMIC_WCHAR_T_LOCK_FREE ATOMIC_SHORT_LOCK_FREE
   syn keyword cppConstant	ATOMIC_INT_LOCK_FREE ATOMIC_LONG_LOCK_FREE
   syn keyword cppConstant	ATOMIC_LLONG_LOCK_FREE ATOMIC_POINTER_LOCK_FREE
-  syn region cppRawString	matchgroup=cppRawStringDelimiter start=+\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(+ end=+)\z1"+ contains=@Spell
+  syn region cppRawString	matchgroup=cppRawStringDelimiter start=+\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(+ end=+)\z1"\(sv\|s\|_[_a-zA-Z][_a-zA-Z0-9]*\)\=+ contains=@Spell
   syn match cppCast		"\<\(const\|static\|dynamic\)_pointer_cast\s*<"me=e-1
   syn match cppCast		"\<\(const\|static\|dynamic\)_pointer_cast\s*$"
 endif
 
 " C++ 14 extensions
 if !exists("cpp_no_cpp14")
-  syn case ignore
-  syn match cppNumber		display "\<0b[01]\('\=[01]\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
-  syn match cppNumber		display "\<[1-9]\('\=\d\+\)*\(u\=l\{0,2}\|ll\=u\)\>" contains=cFloat
-  syn match cppNumber		display "\<0x\x\('\=\x\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
-  syn case match
-endif
-
-" C++ 20 extensions
-if !exists("cpp_no_cpp20")
-  syn keyword cppStatement	co_await co_return co_yield requires
-  syn keyword cppStorageClass	consteval constinit
-  syn keyword cppStructure	concept
-  syn keyword cppType		char8_t
-  syn keyword cppModule		import module export
+  syn match cppNumbers		display transparent "\<\d\|\.\d" contains=cppNumber,cppFloat
+  syn match cppNumber		display contained "\<0\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
+  syn match cppNumber		display contained "\<[1-9]\('\=\d\+\)*\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
+  syn match cppNumber		display contained "\<0\o\+\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
+  syn match cppNumber		display contained "\<0b[01]\('\=[01]\+\)*\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
+  syn match cppNumber		display contained "\<0x\x\('\=\x\+\)*\([Uu]\=\([Ll]\|LL\|ll\)\|\([Ll]\|LL\|ll\)\=[Uu]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
+  syn match cppFloat		display contained "\<\d\+\.\d*\(e[-+]\=\d\+\)\=\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
+  syn match cppFloat		display contained "\<\.\d\+\(e[-+]\=\d\+\)\=\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
+  syn match cppFloat		display contained "\<\d\+e[-+]\=\d\+\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
+  syn region cppString		start=+\(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"\(sv\|s\|_\i*\)\=+ end='$' contains=cSpecial,cFormat,@Spell
 endif
 
 " C++ 17 extensions
 if !exists("cpp_no_cpp17")
   syn match cppCast		"\<reinterpret_pointer_cast\s*<"me=e-1
   syn match cppCast		"\<reinterpret_pointer_cast\s*$"
+  syn match cppFloat		display contained "\<0x\x*\.\x\+p[-+]\=\d\+\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
+  syn match cppFloat		display contained "\<0x\x\+\.\=p[-+]\=\d\+\([FfLl]\|i[fl]\=\|h\|min\|s\|ms\|us\|ns\|_\i*\)\=\>"
+endif
+
+" C++ 20 extensions
+if !exists("cpp_no_cpp20")
+  syn match cppNumber		display contained "\<0\(y\|d\)\>"
+  syn match cppNumber		display contained "\<[1-9]\('\=\d\+\)*\(y\|d\)\>"
+  syn match cppNumber		display contained "\<0\o\+\(y\|d\)\>"
+  syn match cppNumber		display contained "\<0b[01]\('\=[01]\+\)*\(y\|d\)\>"
+  syn match cppNumber		display contained "\<0x\x\('\=\x\+\)*\(y\|d\)\>"
+  syn keyword cppStatement	co_await co_return co_yield requires
+  syn keyword cppStorageClass	consteval constinit
+  syn keyword cppStructure	concept
+  syn keyword cppType		char8_t
+  syn keyword cppModule		import module export
 endif
 
 " The minimum and maximum operators in GNU C++
@@ -90,7 +102,9 @@ hi def link cppBoolean		Boolean
 hi def link cppConstant		Constant
 hi def link cppRawStringDelimiter	Delimiter
 hi def link cppRawString		String
+hi def link cppString		String
 hi def link cppNumber		Number
+hi def link cppFloat		Number
 hi def link cppModule		Include
 
 let b:current_syntax = "cpp"
--- a/runtime/syntax/sh.vim
+++ b/runtime/syntax/sh.vim
@@ -2,8 +2,8 @@
 " Language:		shell (sh) Korn shell (ksh) bash (sh)
 " Maintainer:		Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " Previous Maintainer:	Lennart Schultz <Lennart.Schultz@ecmwf.int>
-" Last Change:		Nov 24, 2020
-" Version:		196
+" Last Change:		Feb 18, 2021
+" Version:		198
 " URL:		http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
 " For options and settings, please use:      :help ft-sh-syntax
 " This file includes many ideas from Eric Brunet (eric.brunet@ens.fr) and heredoc fixes from Felipe Contreras
@@ -13,33 +13,35 @@ if exists("b:current_syntax")
   finish
 endif
 
-" trying to answer the question: which shell is /bin/sh, really?
-" If the user has not specified any of g:is_kornshell, g:is_bash, g:is_posix, g:is_sh, then guess.
-if getline(1) =~ '\<ksh$'
+" If the shell script itself specifies which shell to use, use it
+if getline(1) =~ '\<ksh\>'
  let b:is_kornshell = 1
-elseif getline(1) =~ '\<bash$'
+elseif getline(1) =~ '\<bash\>'
  let b:is_bash      = 1
-elseif getline(1) =~ '\<dash$'
+elseif getline(1) =~ '\<dash\>'
  let b:is_dash      = 1
 elseif !exists("g:is_kornshell") && !exists("g:is_bash") && !exists("g:is_posix") && !exists("g:is_sh") && !exists("g:is_dash")
+ " user did not specify which shell to use, and 
+ " the script itself does not specify which shell to use. FYI: /bin/sh is ambiguous.
+ " Assuming /bin/sh is executable, and if its a link, find out what it links to.
  let s:shell = ""
  if executable("/bin/sh")
   let s:shell = resolve("/bin/sh")
  elseif executable("/usr/bin/sh")
   let s:shell = resolve("/usr/bin/sh")
  endif
- if     s:shell =~ 'ksh$'
+ if     s:shell =~ '\<ksh\>'
   let b:is_kornshell= 1
- elseif s:shell =~ 'bash$'
+ elseif s:shell =~ '\<bash\>'
   let b:is_bash = 1
- elseif s:shell =~ 'dash$'
+ elseif s:shell =~ '\<dash\>'
   let b:is_dash = 1
  endif
  unlet s:shell
 endif
 
 " handling /bin/sh with is_kornshell/is_sh {{{1
-" b:is_sh is set when "#! /bin/sh" is found;
+" b:is_sh will be set when "#! /bin/sh" is found;
 " However, it often is just a masquerade by bash (typically Linux)
 " or kornshell (typically workstations with Posix "sh").
 " So, when the user sets "g:is_bash", "g:is_kornshell",
@@ -98,12 +100,14 @@ if g:sh_fold_enabled && &fdm == "manual"
  setl fdm=syntax
 endif
 
-" set up the syntax-highlighting iskeyword
+" set up the syntax-highlighting for iskeyword
 if (v:version == 704 && has("patch-7.4.1142")) || v:version > 704
- if exists("b:is_bash")
-  exe "syn iskeyword ".&iskeyword.",-,:"
- else
-  exe "syn iskeyword ".&iskeyword.",-"
+ if !exists("g:sh_syntax_isk") || (exists("g:sh_syntax_isk") && g:sh_syntax_isk)
+  if exists("b:is_bash")
+   exe "syn iskeyword ".&iskeyword.",-,:"
+  else
+   exe "syn iskeyword ".&iskeyword.",-"
+  endif
  endif
 endif
 
@@ -374,12 +378,11 @@ elseif !exists("g:sh_no_error")
  syn region  shExDoubleQuote	matchGroup=Error start=+\$"+ skip=+\\\\\|\\.+ end=+"+	contains=shStringSpecial
 endif
 syn region  shSingleQuote	matchgroup=shQuote start=+'+ end=+'+		contains=@Spell	nextgroup=shSpecialStart,shSpecialSQ
-syn region  shDoubleQuote	matchgroup=shQuote start=+\%(\%(\\\\\)*\\\)\@<!"+ skip=+\\.+ end=+"+	contains=@shDblQuoteList,shStringSpecial,@Spell	nextgroup=shSpecialStart
-syn region  shDoubleQuote	matchgroup=shQuote start=+"+ matchgroup=shSpecial skip=+\\"+ matchgroup=shQuote end=+"+		contained	contains=@shDblQuoteList,shStringSpecial,@Spell	nextgroup=shSpecialStart
+syn region  shDoubleQuote	matchgroup=shQuote start=+\%(\%(\\\\\)*\\\)\@<!"+ skip=+\\.+ end=+"+			contains=@shDblQuoteList,shStringSpecial,@Spell	nextgroup=shSpecialStart
 syn match   shStringSpecial	"[^[:print:] \t]"			contained
-syn match   shStringSpecial	"[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]"			nextgroup=shComment
-syn match   shSpecialSQ	"[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]"		contained	nextgroup=shBkslshSnglQuote,@shNoZSList
-syn match   shSpecialDQ	"[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]"		contained	nextgroup=shBkslshDblQuote,@shNoZSList
+syn match   shStringSpecial	"[^\\]\zs\%(\\\\\)*\(\\[\\"'`$()#]\)\+"			nextgroup=shComment
+syn match   shSpecialSQ	"[^\\]\zs\%(\\\\\)*\(\\[\\"'`$()#]\)\+"		contained	nextgroup=shBkslshSnglQuote,@shNoZSList
+syn match   shSpecialDQ	"[^\\]\zs\%(\\\\\)*\(\\[\\"'`$()#]\)\+"		contained	nextgroup=shBkslshDblQuote,@shNoZSList
 syn match   shSpecialStart	"\%(\\\\\)*\\[\\"'`$()#]"			contained	nextgroup=shBkslshSnglQuote,shBkslshDblQuote,@shNoZSList
 syn match   shSpecial	"^\%(\\\\\)*\\[\\"'`$()#]"
 syn match   shSpecialNoZS	contained	"\%(\\\\\)*\\[\\"'`$()#]"
@@ -402,6 +405,7 @@ syn match	shQuickComment	contained	"#.*$
 syn match	shBQComment	contained	"#.\{-}\ze`"	contains=@shCommentGroup
 
 " Here Documents: {{{1
+"  (modified by Felipe Contreras)
 " =========================================
 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc01 start="<<\s*\z([^ \t|>]\+\)"		matchgroup=shHereDoc01 end="^\z1\s*$"	contains=@shDblQuoteList
 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc02 start="<<-\s*\z([^ \t|>]\+\)"		matchgroup=shHereDoc02 end="^\s*\z1\s*$"	contains=@shDblQuoteList
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
-" Language:	Vim 8.0 script
+" Language:	Vim 8.2 script
 " Maintainer:	Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
-" Last Change:	December 14, 2020
-" Version:	8.0-47
+" Last Change:	May 20, 2021
+" Version:	8.2-03
 " URL:	http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
 " Automatically generated keyword lists: {{{1
 
@@ -19,38 +19,38 @@ syn keyword vimTodo contained	COMBAK	FIX
 syn cluster vimCommentGroup	contains=vimTodo,@Spell
 
 " regular vim commands {{{2
-syn keyword vimCommand contained	a ar[gs] argl[ocal] ba[ll] bl[ast] brea[k] buffers ca caf[ter] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cn[ext] colo[rscheme] cons[t] cs d[elete] delel delf[unction] dif[fupdate] difft[his] dli[st] ds[earch] echoe[rr] en[dif] ene[w] exu[sage] fin[d] foldc[lose] g h[elp] hi if in iuna[bbrev] keepalt la[st] lan[guage] lbo[ttom] ld[o] lfir[st] lh[elpgrep] lmak[e] loadk lp[revious] luado ma[rk] mk[exrc] mz[scheme] new nore on[ly] pc[lose] pp[op] promptf[ind] ptj[ump] pu[t] py[thon] pyxdo rec[over] reg[isters] rightb[elow] rv[iminfo] sIn san[dbox] sbl[ast] scI scr[iptnames] setf[iletype] sgI sgp sig sir smenu so[urce] spellr[are] sr srl startg[replace] sun[hide] sy tN[ext] tabe[dit] tabnew tc[l] ter[minal] tlmenu tma[p] tr[ewind] u[ndo] unlo[ckvar] ve[rsion] vim9 vmapc[lear] wa[ll] winp[os] wundo xme xr[estore]
-syn keyword vimCommand contained	ab arga[dd] argu[ment] bad[d] bm[odified] breaka[dd] bun[load] cabc[lear] cal[l] cc cf[ile] changes cla[st] cnew[er] com cope[n] cscope debug delep dell diffg[et] dig[raphs] do dsp[lit] echom[sg] enddef eval f[ile] fina[lly] foldd[oopen] go[to] ha[rdcopy] hid[e] ij[ump] inor j[oin] keepj[umps] lab[ove] lat lc[d] le[ft] lg[etfile] lhi[story] lmapc[lear] loadkeymap lpf[ile] luafile mak[e] mks[ession] mzf[ile] nmapc[lear] nos[wapfile] opt[ions] pe[rl] pre[serve] promptr[epl] ptl[ast] pw[d] pydo pyxfile red[o] res[ize] ru[ntime] sI sIp sav[eas] sbm[odified] sce scripte[ncoding] setg[lobal] sgc sgr sign sl[eep] smile sor[t] spellr[epall] srI srn startr[eplace] sunme syn ta[g] tabf[ind] tabo[nly] tcd tf[irst] tln tmapc[lear] try una[bbreviate] uns[ilent] verb[ose] vim9script vne[w] wh[ile] wn[ext] wv[iminfo] xmenu xunme
-syn keyword vimCommand contained	abc[lear] argd[elete] as[cii] balt bn[ext] breakd[el] bw[ipeout] cabo[ve] cat[ch] ccl[ose] cfdo chd[ir] class cnf[ile] comc[lear] cp[revious] cstag debugg[reedy] deletel delm[arks] diffo[ff] dir doau e[dit] echon endf[unction] ex files fini[sh] folddoc[losed] gr[ep] helpc[lose] his[tory] il[ist] interface ju[mps] keepp[atterns] lad[dexpr] later lch[dir] lefta[bove] lgetb[uffer] ll lne[xt] loc[kmarks] lr[ewind] lv[imgrep] marks mksp[ell] n[ext] noa nu[mber] ownsyntax ped[it] prev[ious] ps[earch] ptn[ext] py3 pyf[ile] q[uit] redi[r] ret[ab] rub[y] sIc sIr sbN[ext] sbn[ext] scg scriptv[ersion] setl[ocal] sge sh[ell] sil[ent] sla[st] sn[ext] sp[lit] spellr[rare] src srp stj[ump] sunmenu sync tab tabfir[st] tabp[revious] tch[dir] th[row] tlnoremenu tn[ext] ts[elect] undoj[oin] up[date] vert[ical] vim[grep] vs[plit] win[size] wp[revious] x[it] xnoreme xunmenu
-syn keyword vimCommand contained	abo[veleft] argdo au bd[elete] bo[tright] breakl[ist] cN[ext] cad[dbuffer] cb[uffer] cd cfir[st] che[ckpath] cle[arjumps] cnor comp[iler] cpf[ile] cun def deletep delp diffp[atch] disa[ssemble] doaut ea el[se] endfo[r] exi[t] filet fir[st] foldo[pen] grepa[dd] helpf[ind] i imapc[lear] intro k lN[ext] laddb[uffer] lb[uffer] lcl[ose] lex[pr] lgete[xpr] lla[st] lnew[er] lockv[ar] ls lvimgrepa[dd] mat[ch] mkv[imrc] nb[key] noautocmd o[pen] p[rint] perld[o] pro ptN[ext] ptp[revious] py3do python3 qa[ll] redr[aw] retu[rn] rubyd[o] sIe sN[ext] sb[uffer] sbp[revious] sci scs sf[ind] sgi si sim[alt] sm[agic] sno[magic] spe[llgood] spellu[ndo] sre[wind] st[op] stopi[nsert] sus[pend] syncbind tabN[ext] tabl[ast] tabr[ewind] tcld[o] tj[ump] tlu tno[remap] tu[nmenu] undol[ist] v vi[sual] vimgrepa[dd] wN[ext] winc[md] wq xa[ll] xnoremenu xwininfo
-syn keyword vimCommand contained	addd arge[dit] bN[ext] bel[owright] bp[revious] bro[wse] cNf[ile] cadde[xpr] cbe[fore] cdo cg[etfile] checkt[ime] clo[se] co[py] con[tinue] cq[uit] cuna[bbrev] defc[ompile] deletl dep diffpu[t] dj[ump] dp earlier elsei[f] endt[ry] exp filetype fix[del] for gui helpg[rep] ia imp is[earch] kee[pmarks] lNf[ile] laddf[ile] lbe[fore] lcs lf[ile] lgr[ep] lli[st] lnf[ile] lol[der] lt[ag] lw[indow] menut[ranslate] mkvie[w] nbc[lose] noh[lsearch] ol[dfiles] pa[ckadd] po[p] prof[ile] pta[g] ptr[ewind] py3f[ile] pythonx quita[ll] redraws[tatus] rew[ind] rubyf[ile] sIg sa[rgument] sba[ll] sbr[ewind] scl scscope sfir[st] sgl sic sin sm[ap] snoreme spelld[ump] spellw[rong] srg sta[g] sts[elect] sv[iew] syntime tabc[lose] tabm[ove] tabs tclf[ile] tl[ast] tlunmenu to[pleft] tunma[p] unh[ide] var vie[w] viu[sage] w[rite] windo wqa[ll] xmapc[lear] xprop y[ank]
-syn keyword vimCommand contained	al[l] argg[lobal] b[uffer] bf[irst] br[ewind] bufdo c[hange] caddf[ile] cbel[ow] ce[nter] cgetb[uffer] chi[story] cmapc[lear] col[der] conf[irm] cr[ewind] cw[indow] delc[ommand] deletp di[splay] diffs[plit] dl dr[op] ec em[enu] endw[hile] export filt[er] fo[ld] fu[nction] gvim helpt[ags] iabc[lear] import isp[lit] keepa l[ist] laf[ter] lbel[ow] lcscope lfdo lgrepa[dd] lma lo[adview] lop[en] lua m[ove] mes[sages] mod[e] nbs[tart] nor omapc[lear] packl[oadall] popu[p] profd[el] ptf[irst] pts[elect] py3f[ile] pyx r[ead] redrawt[abline] ri[ght] rundo sIl sal[l] sbf[irst] sc scp se[t] sg sgn sie sip sme snoremenu spelli[nfo] spr[evious] sri star[tinsert] substitutepattern sw[apname] t tabd[o] tabn[ext] tags te[aroff] tlm tm[enu] tp[revious] type unl
+syn keyword vimCommand contained	a ar[gs] argl[ocal] ba[ll] bl[ast] brea[k] buffers ca caf[ter] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cn[ext] colo[rscheme] cons[t] cs d[elete] delel delf[unction] dif[fupdate] difft[his] dli[st] ds[earch] echoc[onsole] em[enu] endw[hile] export filt[er] fo[ld] fu[nction] gvim helpt[ags] iabc[lear] import isp[lit] keepa l[ist] laf[ter] lbel[ow] lcscope lf[ile] lgr[ep] lli[st] lnf[ile] lol[der] lt[ag] lw[indow] menut[ranslate] mkvie[w] nbc[lose] noh[lsearch] ol[dfiles] pa[ckadd] po[p] prof[ile] pta[g] ptr[ewind] py3f[ile] pythonx quita[ll] redraws[tatus] rew[ind] rubyf[ile] sIg sa[rgument] sba[ll] sbr[ewind] scl scscope sfir[st] sgl sic sin sm[ap] snoreme spelld[ump] spellw[rong] srg sta[g] sts[elect] sus[pend] syncbind tabN[ext] tabl[ast] tabr[ewind] tcld[o] tj[ump] tlu tno[remap] tu[nmenu] undol[ist] v vie[w] vmapc[lear] wa[ll] winp[os] wundo xme xr[estore]
+syn keyword vimCommand contained	ab arga[dd] argu[ment] bad[d] bm[odified] breaka[dd] bun[load] cabc[lear] cal[l] cc cf[ile] changes cla[st] cnew[er] com cope[n] cscope debug delep dell diffg[et] dig[raphs] do dsp[lit] echoe[rr] en[dif] ene[w] exu[sage] fin[d] foldc[lose] g h[elp] hi if in iuna[bbrev] keepalt la[st] lan[guage] lbo[ttom] ld[o] lfdo lgrepa[dd] lma lo[adview] lop[en] lua m[ove] mes[sages] mod[e] nbs[tart] nor omapc[lear] packl[oadall] popu[p] profd[el] ptf[irst] pts[elect] py3f[ile] pyx r[ead] redrawt[abline] ri[ght] rundo sIl sal[l] sbf[irst] sc scp se[t] sg sgn sie sip sme snoremenu spelli[nfo] spr[evious] sri star[tinsert] substitutepattern sv[iew] syntime tabc[lose] tabm[ove] tabs tclf[ile] tl[ast] tlunmenu to[pleft] tunma[p] unh[ide] var vim9[cmd] vne[w] wh[ile] wn[ext] wv[iminfo] xmenu xunme
+syn keyword vimCommand contained	abc[lear] argd[elete] as[cii] balt bn[ext] breakd[el] bw[ipeout] cabo[ve] cat[ch] ccl[ose] cfdo chd[ir] class cnf[ile] comc[lear] cp[revious] cstag debugg[reedy] deletel delm[arks] diffo[ff] dir doau e[dit] echom[sg] enddef eval f[ile] fina[lly] foldd[oopen] go[to] ha[rdcopy] hid[e] ij[ump] inor j[oin] keepj[umps] lab[ove] lat lc[d] le[ft] lfir[st] lh[elpgrep] lmak[e] loadk lp[revious] luado ma[rk] mk[exrc] mz[scheme] new nore on[ly] pc[lose] pp[op] promptf[ind] ptj[ump] pu[t] py[thon] pyxdo rec[over] reg[isters] rightb[elow] rv[iminfo] sIn san[dbox] sbl[ast] scI scr[iptnames] setf[iletype] sgI sgp sig sir smenu so[urce] spellr[are] sr srl startg[replace] substituterepeat sw[apname] t tabd[o] tabn[ext] tags te[aroff] tlm tm[enu] tp[revious] type unl ve[rsion] vim9s[cript] vs[plit] win[size] wp[revious] x[it] xnoreme xunmenu
+syn keyword vimCommand contained	abo[veleft] argdo au bd[elete] bo[tright] breakl[ist] cN[ext] cad[dbuffer] cb[uffer] cd cfir[st] che[ckpath] cle[arjumps] cnor comp[iler] cpf[ile] cun def deletep delp diffp[atch] disa[ssemble] doaut ea echon endf[unction] ex files fini[sh] folddoc[losed] gr[ep] helpc[lose] his[tory] il[ist] interface ju[mps] keepp[atterns] lad[dexpr] later lch[dir] lefta[bove] lg[etfile] lhi[story] lmapc[lear] loadkeymap lpf[ile] luafile mak[e] mks[ession] mzf[ile] nmapc[lear] nos[wapfile] opt[ions] pe[rl] pre[serve] promptr[epl] ptl[ast] pw[d] pydo pyxfile red[o] res[ize] ru[ntime] sI sIp sav[eas] sbm[odified] sce scripte[ncoding] setg[lobal] sgc sgr sign sl[eep] smile sor[t] spellr[epall] srI srn startr[eplace] sun[hide] sy tN[ext] tabe[dit] tabnew tc[l] ter[minal] tlmenu tma[p] tr[ewind] u[ndo] unlo[ckvar] verb[ose] vim[grep] wN[ext] winc[md] wq xa[ll] xnoremenu xwininfo
+syn keyword vimCommand contained	addd arge[dit] bN[ext] bel[owright] bp[revious] bro[wse] cNf[ile] cadde[xpr] cbe[fore] cdo cg[etfile] checkt[ime] clo[se] co[py] con[tinue] cq[uit] cuna[bbrev] defc[ompile] deletl dep diffpu[t] dj[ump] dp earlier el[se] endfo[r] exi[t] filet fir[st] foldo[pen] grepa[dd] helpf[ind] i imapc[lear] intro k lN[ext] laddb[uffer] lb[uffer] lcl[ose] leg[acy] lgetb[uffer] ll lne[xt] loc[kmarks] lr[ewind] lv[imgrep] marks mksp[ell] n[ext] noa nu[mber] ownsyntax ped[it] prev[ious] ps[earch] ptn[ext] py3 pyf[ile] q[uit] redi[r] ret[ab] rub[y] sIc sIr sbN[ext] sbn[ext] scg scriptv[ersion] setl[ocal] sge sh[ell] sil[ent] sla[st] sn[ext] sp[lit] spellr[rare] src srp stj[ump] sunme syn ta[g] tabf[ind] tabo[nly] tcd tf[irst] tln tmapc[lear] try una[bbreviate] uns[ilent] vert[ical] vimgrepa[dd] w[rite] windo wqa[ll] xmapc[lear] xprop y[ank]
+syn keyword vimCommand contained	al[l] argg[lobal] b[uffer] bf[irst] br[ewind] bufdo c[hange] caddf[ile] cbel[ow] ce[nter] cgetb[uffer] chi[story] cmapc[lear] col[der] conf[irm] cr[ewind] cw[indow] delc[ommand] deletp di[splay] diffs[plit] dl dr[op] ec elsei[f] endt[ry] exp filetype fix[del] for gui helpg[rep] ia imp is[earch] kee[pmarks] lNf[ile] laddf[ile] lbe[fore] lcs lex[pr] lgete[xpr] lla[st] lnew[er] lockv[ar] ls lvimgrepa[dd] mat[ch] mkv[imrc] nb[key] noautocmd o[pen] p[rint] perld[o] pro ptN[ext] ptp[revious] py3do python3 qa[ll] redr[aw] retu[rn] rubyd[o] sIe sN[ext] sb[uffer] sbp[revious] sci scs sf[ind] sgi si sim[alt] sm[agic] sno[magic] spe[llgood] spellu[ndo] sre[wind] st[op] stopi[nsert] sunmenu sync tab tabfir[st] tabp[revious] tch[dir] th[row] tlnoremenu tn[ext] ts[elect] undoj[oin] up[date] vi[sual] viu[sage]
 syn match   vimCommand contained	"\<z[-+^.=]\=\>"
-syn keyword vimStdPlugin contained	Arguments Break Cfilter Clear Continue DiffOrig Evaluate Finish Gdb Lfilter Man N[ext] Over P[rint] Program Run S Source Step Stop Termdebug TermdebugCommand TOhtml Winbar XMLent XMLns
+syn keyword vimStdPlugin contained	Arguments Asm Break Cfilter Clear Continue DiffOrig Evaluate Finish Gdb Lfilter Man N[ext] Over P[rint] Program Run S Source Step Stop Termdebug TermdebugCommand TOhtml Winbar XMLent XMLns
 
 " vimOptions are caught only when contained in a vimSet {{{2
-syn keyword vimOption contained	acd ambw arshape background ballooneval bex bl brk buftype cf cinkeys cmdwinheight com completeslash cpoptions cscoperelative csre cursorcolumn delcombine digraph eadirection emo equalprg expandtab fdls fex fileignorecase fml foldlevel formatexpr gcr go guifontset helpheight history hlsearch imaf ims includeexpr infercase iskeyword keywordprg laststatus lispwords lrm magic maxfuncdepth menuitems mm modifiable mousemodel mzq numberwidth opfunc patchexpr pfn pp printfont pumwidth pythonthreehome re restorescreen ro rulerformat scl scs sft shellslash shortmess showtabline sj smd spell spl srr startofline suffixes switchbuf ta tagfunc tbi term termwintype tgc titlelen toolbariconsize ttimeout ttymouse twt undofile varsofttabstop verbosefile viminfofile wak weirdinvert wig wildoptions winheight wm wrapscan
-syn keyword vimOption contained	ai anti autochdir backspace balloonevalterm bexpr bo browsedir casemap cfu cino cmp comments concealcursor cpp cscopetag cst cursorline dex dip eb emoji errorbells exrc fdm ff filetype fmr foldlevelstart formatlistpat gd gp guifontwide helplang hk ic imak imsearch incsearch insertmode isp km lazyredraw list ls makeef maxmapdepth mfd mmd modified mouses mzquantum nuw osfiletype patchmode ph preserveindent printheader pvh pyx readonly revins rop runtimepath scr sect sh shelltemp shortname shq slm sn spellcapcheck splitbelow ss statusline suffixesadd sws tabline taglength tbidi termbidi terse tgst titleold top ttimeoutlen ttyscroll tx undolevels vartabstop vfile virtualedit warn wfh wildchar wim winminheight wmh write
-syn keyword vimOption contained	akm antialias autoindent backup balloonexpr bg bomb bs cb ch cinoptions cms commentstring conceallevel cpt cscopetagorder csto cursorlineopt dg dir ed enc errorfile fcl fdn ffs fillchars fo foldmarker formatoptions gdefault grepformat guiheadroom hf hkmap icon imc imsf inde is isprint kmp lbr listchars lsp makeencoding maxmem mh mmp more mouseshape mzschemedll odev pa path pheader previewheight printmbcharset pvp pyxversion redrawtime ri rs sb scroll sections shcf shelltype showbreak si sm so spellfile splitright ssl stl sw sxe tabpagemax tagrelative tbis termencoding textauto thesaurus titlestring tpm ttm ttytype uc undoreload vb vi visualbell wb wfw wildcharm winaltkeys winminwidth wmnu writeany
-syn keyword vimOption contained	al ar autoread backupcopy bdir bh breakat bsdir cc charconvert cinw co compatible confirm crb cscopeverbose csverb cwh dict directory edcompatible encoding errorformat fcs fdo fic fixendofline foldclose foldmethod formatprg gfm grepprg guioptions hh hkmapp iconstring imcmdline imst indentexpr isf joinspaces kp lcs lm luadll makeprg maxmempattern mis mmt mouse mouset mzschemegcdll oft packpath pdev pi previewpopup printmbfont pvw qe regexpengine rightleft rtp sbo scrollbind secure shell shellxescape showcmd sidescroll smartcase softtabstop spelllang spo ssop stmp swapfile sxq tabstop tags tbs termguicolors textmode tildeop tl tr tty tw udf updatecount vbs viewdir vop wc wh wildignore wincolor winptydll wmw writebackup
-syn keyword vimOption contained	aleph arab autowrite backupdir bdlay bin breakindent bsk ccv ci cinwords cocu complete copyindent cryptmethod csl cuc debug dictionary display ef endofline esckeys fdc fdt fileencoding fixeol foldcolumn foldminlines fp gfn gtl guipty hi hkp ignorecase imd imstatusfunc indentkeys isfname js langmap linebreak lmap lw mat maxmemtot mkspellmem mod mousef mousetime nf ofu para penc pm previewwindow printoptions pw qftf relativenumber rightleftcmd ru sbr scrollfocus sel shellcmdflag shellxquote showfulltag sidescrolloff smartindent sol spelloptions spr st sts swapsync syn tag tagstack tc termwinkey textwidth timeout tm ts ttybuiltin twk udir updatetime vdir viewoptions vsts wcm whichwrap wildignorecase window winwidth wop writedelay
-syn keyword vimOption contained	allowrevins arabic autowriteall backupext belloff binary breakindentopt bt cd cin clipboard cole completefunc cot cscopepathcomp cspc cul deco diff dy efm eol et fde fen fileencodings fk foldenable foldnestmax fs gfs gtt guitablabel hid hl im imdisable imstyle indk isi key langmenu lines lnr lz matchpairs mco ml modeline mousefocus mp nrformats omnifunc paragraphs perldll pmbcs printdevice prompt pythondll quickfixtextfunc remap rl rubydll sc scrolljump selection shellpipe shiftround showmatch signcolumn smarttab sp spellsuggest sps sta su swb synmaxcol tagbsearch tal tcldll termwinscroll tf timeoutlen to tsl ttyfast tws ul ur ve vif vts wcr wi wildmenu winfixheight wiv wrap ws
-syn keyword vimOption contained	altkeymap arabicshape aw backupskip beval bk bri bufhidden cdpath cindent cm colorcolumn completeopt cp cscopeprg csprg culopt def diffexpr ea ei ep eventignore fdi fenc fileformat fkmap foldexpr foldopen fsync gfw guicursor guitabtooltip hidden hlg imactivatefunc imi inc inex isident keymap langnoremap linespace loadplugins ma matchtime mef mle modelineexpr mousehide mps nu opendevice paste pex pmbfn printencoding pt pythonhome quoteescape renderoptions rlc ruf scb scrolloff selectmode shellquote shiftwidth showmode siso smc spc spf sr stal sua swf syntax tagcase tb tenc termwinsize tfu title toolbar tsr ttym twsl undodir ut verbose viminfo wa wd wic wildmode winfixwidth wiw wrapmargin ww
-syn keyword vimOption contained	ambiwidth ari awa balloondelay bevalterm bkc briopt buflisted cedit cink cmdheight columns completepopup cpo cscopequickfix csqf cursorbind define diffopt ead ek equalalways ex fdl fencs fileformats flp foldignore foldtext ft ghr guifont helpfile highlight hls imactivatekey iminsert include inf isk keymodel langremap lisp lpl macatsui maxcombine menc mls modelines mousem msm number operatorfunc pastetoggle pexpr popt printexpr pumheight pythonthreedll rdt report rnu ruler scf scrollopt sessionoptions shellredir shm
+syn keyword vimOption contained	acd ambw arshape aw backupskip beval bk bri bufhidden cdpath cindent cm colorcolumn completeopt cp cscopeprg csprg culopt def diffexpr ea ei ep eventignore fdi fenc fileformat fkmap foldexpr foldopen fsync gfw guicursor guitabtooltip hidden hlg imactivatefunc imi inc inex isident keymap langnoremap linespace loadplugins ma matchtime mef mle modelineexpr mousehide mps nu opendevice paste pex pmbfn printencoding pt pythonhome quoteescape renderoptions rlc ruf scb scrolloff selectmode shellquote shiftwidth showmode sj smd spell spl srr startofline suffixes switchbuf ta tagfunc tbi term termwintype tgc titlelen toolbariconsize ttimeout ttymouse twt undofile varsofttabstop verbosefile viminfofile wak weirdinvert wig wildoptions winheight wm wrapscan
+syn keyword vimOption contained	ai anti asd awa balloondelay bevalterm bkc briopt buflisted cedit cink cmdheight columns completepopup cpo cscopequickfix csqf cursorbind define diffopt ead ek equalalways ex fdl fencs fileformats flp foldignore foldtext ft ghr guifont helpfile highlight hls imactivatekey iminsert include inf isk keymodel langremap lisp lpl macatsui maxcombine menc mls modelines mousem msm number operatorfunc pastetoggle pexpr popt printexpr pumheight pythonthreedll rdt report rnu ruler scf scrollopt sessionoptions shellredir shm showtabline slm sn spellcapcheck splitbelow ss statusline suffixesadd sws tabline taglength tbidi termbidi terse tgst titleold top ttimeoutlen ttyscroll tx undolevels vartabstop vfile virtualedit warn wfh wildchar wim winminheight wmh write
+syn keyword vimOption contained	akm antialias autochdir background ballooneval bex bl brk buftype cf cinkeys cmdwinheight com completeslash cpoptions cscoperelative csre cursorcolumn delcombine digraph eadirection emo equalprg expandtab fdls fex fileignorecase fml foldlevel formatexpr gcr go guifontset helpheight history hlsearch imaf ims includeexpr infercase iskeyword keywordprg laststatus lispwords lrm magic maxfuncdepth menuitems mm modifiable mousemodel mzq numberwidth opfunc patchexpr pfn pp printfont pumwidth pythonthreehome re restorescreen ro rulerformat scl scs sft shellslash shortmess shq sm so spellfile splitright ssl stl sw sxe tabpagemax tagrelative tbis termencoding textauto thesaurus titlestring tpm ttm ttytype uc undoreload vb vi visualbell wb wfw wildcharm winaltkeys winminwidth wmnu writeany
+syn keyword vimOption contained	al ar autoindent backspace balloonevalterm bexpr bo browsedir casemap cfu cino cmp comments concealcursor cpp cscopetag cst cursorline dex dip eb emoji errorbells exrc fdm ff filetype fmr foldlevelstart formatlistpat gd gp guifontwide helplang hk ic imak imsearch incsearch insertmode isp km lazyredraw list ls makeef maxmapdepth mfd mmd modified mouses mzquantum nuw osfiletype patchmode ph preserveindent printheader pvh pyx readonly revins rop runtimepath scr sect sh shelltemp shortname si smartcase softtabstop spelllang spo ssop stmp swapfile sxq tabstop tags tbs termguicolors textmode tildeop tl tr tty tw udf updatecount vbs viewdir vop wc wh wildignore wincolor winptydll wmw writebackup
+syn keyword vimOption contained	aleph arab autoread backup balloonexpr bg bomb bs cb ch cinoptions cms commentstring conceallevel cpt cscopetagorder csto cursorlineopt dg dir ed enc errorfile fcl fdn ffs fillchars fo foldmarker formatoptions gdefault grepformat guiheadroom hf hkmap icon imc imsf inde is isprint kmp lbr listchars lsp makeencoding maxmem mh mmp more mouseshape mzschemedll odev pa path pheader previewheight printmbcharset pvp pyxversion redrawtime ri rs sb scroll sections shcf shelltype showbreak sidescroll smartindent sol spelloptions spr st sts swapsync syn tag tagstack tc termwinkey textwidth timeout tm ts ttybuiltin twk udir updatetime vdir viewoptions vsts wcm whichwrap wildignorecase window winwidth wop writedelay
+syn keyword vimOption contained	allowrevins arabic autoshelldir backupcopy bdir bh breakat bsdir cc charconvert cinw co compatible confirm crb cscopeverbose csverb cwh dict directory edcompatible encoding errorformat fcs fdo fic fixendofline foldclose foldmethod formatprg gfm grepprg guioptions hh hkmapp iconstring imcmdline imst indentexpr isf joinspaces kp lcs lm luadll makeprg maxmempattern mis mmt mouse mouset mzschemegcdll oft packpath pdev pi previewpopup printmbfont pvw qe regexpengine rightleft rtp sbo scrollbind secure shell shellxescape showcmd sidescrolloff smarttab sp spellsuggest sps sta su swb synmaxcol tagbsearch tal tcldll termwinscroll tf timeoutlen to tsl ttyfast tws ul ur ve vif vts wcr wi wildmenu winfixheight wiv wrap ws
+syn keyword vimOption contained	altkeymap arabicshape autowrite backupdir bdlay bin breakindent bsk ccv ci cinwords cocu complete copyindent cryptmethod csl cuc debug dictionary display ef endofline esckeys fdc fdt fileencoding fixeol foldcolumn foldminlines fp gfn gtl guipty hi hkp ignorecase imd imstatusfunc indentkeys isfname js langmap linebreak lmap lw mat maxmemtot mkspellmem mod mousef mousetime nf ofu para penc pm previewwindow printoptions pw qftf relativenumber rightleftcmd ru sbr scrollfocus sel shellcmdflag shellxquote showfulltag signcolumn smc spc spf sr stal sua swf syntax tagcase tb tenc termwinsize tfu title toolbar tsr ttym twsl undodir ut verbose viminfo wa wd wic wildmode winfixwidth wiw wrapmargin ww
+syn keyword vimOption contained	ambiwidth ari autowriteall backupext belloff binary breakindentopt bt cd cin clipboard cole completefunc cot cscopepathcomp cspc cul deco diff dy efm eol et fde fen fileencodings fk foldenable foldnestmax fs gfs gtt guitablabel hid hl im imdisable imstyle indk isi key langmenu lines lnr lz matchpairs mco ml modeline mousefocus mp nrformats omnifunc paragraphs perldll pmbcs printdevice prompt pythondll quickfixtextfunc remap rl rubydll sc scrolljump selection shellpipe shiftround showmatch siso
 
 " vimOptions: These are the turn-off setting variants {{{2
-syn keyword vimOption contained	noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobevalterm nobk nobreakindent nocf nocindent nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noemo noeol noesckeys noexpandtab nofic nofixeol nofoldenable nogd nohid nohkmap nohls noicon noimc noimdisable noinfercase nojoinspaces nolangremap nolinebreak nolnr nolrm nomacatsui noml nomod nomodelineexpr nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscrollbind noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup
-syn keyword vimOption contained	noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa noballoonevalterm nobin nobl nobri noci nocompatible nocp nocscopetag nocst nocul nocursorline nodg noea noedcompatible noemoji noequalalways noet noexrc nofileignorecase nofk nofs nogdefault nohidden nohkmapp nohlsearch noignorecase noimcmdline noincsearch noinsertmode nojs nolazyredraw nolisp noloadplugins nolz nomagic nomle nomodeline nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscf noscrollfocus nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast noudf novb nowa nowb nowfh nowic nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
-syn keyword vimOption contained	noakm noanti noarab noari noautoindent noautowriteall nobackup nobeval nobinary nobomb nobuflisted nocin noconfirm nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noendofline noerrorbells noex nofen nofixendofline nofkmap nofsync noguipty nohk nohkp noic noim noimd noinf nois nolangnoremap nolbr nolist nolpl noma nomh
+syn keyword vimOption contained	noacd noallowrevins noantialias noarabic noarshape noautoindent noautowrite noawa noballoonevalterm nobin nobl nobri noci nocompatible nocp nocscopetag nocst nocul nocursorline nodg noea noedcompatible noemoji noequalalways noet noexrc nofileignorecase nofk nofs nogdefault nohidden nohkmapp nohlsearch noignorecase noimcmdline noincsearch noinsertmode nojs nolazyredraw nolisp noloadplugins nolz nomagic nomle nomodelineexpr nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscrollbind noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup
+syn keyword vimOption contained	noai noaltkeymap noar noarabicshape noasd noautoread noautowriteall nobackup nobeval nobinary nobomb nobuflisted nocin noconfirm nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noendofline noerrorbells noex nofen nofixendofline nofkmap nofsync noguipty nohk nohkp noic noim noimd noinf nois nolangnoremap nolbr nolist nolpl noma nomh nomod nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscf noscrollfocus nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast noudf novb nowa nowb nowfh nowic nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
+syn keyword vimOption contained	noakm noanti noarab noari noautochdir noautoshelldir noaw noballooneval nobevalterm nobk nobreakindent nocf nocindent nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noemo noeol noesckeys noexpandtab nofic nofixeol nofoldenable nogd nohid nohkmap nohls noicon noimc noimdisable noinfercase nojoinspaces nolangremap nolinebreak nolnr nolrm nomacatsui noml nomodeline
 
 " vimOptions: These are the invertible variants {{{2
-syn keyword vimOption contained	invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbevalterm invbk invbreakindent invcf invcindent invcopyindent invcscoperelative invcsre invcuc invcursorcolumn invdelcombine invdigraph inved invemo inveol invesckeys invexpandtab invfic invfixeol invfoldenable invgd invhid invhkmap invhls invicon invimc invimdisable invinfercase invjoinspaces invlangremap invlinebreak invlnr invlrm invmacatsui invml invmod invmodelineexpr invmodified invmousef invmousehide invnumber invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscrollbind invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invspr invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invundofile invvisualbell invwarn invweirdinvert invwfw invwildignorecase invwinfixheight invwiv invwrap invwrite invwritebackup
-syn keyword vimOption contained	invai invaltkeymap invar invarabicshape invautochdir invautowrite invawa invballoonevalterm invbin invbl invbri invci invcompatible invcp invcscopetag invcst invcul invcursorline invdg invea invedcompatible invemoji invequalalways invet invexrc invfileignorecase invfk invfs invgdefault invhidden invhkmapp invhlsearch invignorecase invimcmdline invincsearch invinsertmode invjs invlazyredraw invlisp invloadplugins invlz invmagic invmle invmodeline invmodifiable invmore invmousefocus invnu invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscf invscrollfocus invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invudf invvb invwa invwb invwfh invwic invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
-syn keyword vimOption contained	invakm invanti invarab invari invautoindent invautowriteall invbackup invbeval invbinary invbomb invbuflisted invcin invconfirm invcrb invcscopeverbose invcsverb invcursorbind invdeco invdiff inveb invek invendofline inverrorbells invex invfen invfixendofline invfkmap invfsync invguipty invhk invhkp invic invim invimd invinf invis invlangnoremap invlbr invlist invlpl invma invmh
+syn keyword vimOption contained	invacd invallowrevins invantialias invarabic invarshape invautoindent invautowrite invawa invballoonevalterm invbin invbl invbri invci invcompatible invcp invcscopetag invcst invcul invcursorline invdg invea invedcompatible invemoji invequalalways invet invexrc invfileignorecase invfk invfs invgdefault invhidden invhkmapp invhlsearch invignorecase invimcmdline invincsearch invinsertmode invjs invlazyredraw invlisp invloadplugins invlz invmagic invmle invmodelineexpr invmodified invmousef invmousehide invnumber invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscrollbind invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invspr invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invundofile invvisualbell invwarn invweirdinvert invwfw invwildignorecase invwinfixheight invwiv invwrap invwrite invwritebackup
+syn keyword vimOption contained	invai invaltkeymap invar invarabicshape invasd invautoread invautowriteall invbackup invbeval invbinary invbomb invbuflisted invcin invconfirm invcrb invcscopeverbose invcsverb invcursorbind invdeco invdiff inveb invek invendofline inverrorbells invex invfen invfixendofline invfkmap invfsync invguipty invhk invhkp invic invim invimd invinf invis invlangnoremap invlbr invlist invlpl invma invmh invmod invmodifiable invmore invmousefocus invnu invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscf invscrollfocus invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invudf invvb invwa invwb invwfh invwic invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
+syn keyword vimOption contained	invakm invanti invarab invari invautochdir invautoshelldir invaw invballooneval invbevalterm invbk invbreakindent invcf invcindent invcopyindent invcscoperelative invcsre invcuc invcursorcolumn invdelcombine invdigraph inved invemo inveol invesckeys invexpandtab invfic invfixeol invfoldenable invgd invhid invhkmap invhls invicon invimc invimdisable invinfercase invjoinspaces invlangremap invlinebreak invlnr invlrm invmacatsui invml invmodeline
 
 " termcap codes (which can also be set) {{{2
-syn keyword vimOption contained	t_8b t_8u t_AF t_AL t_bc t_BE t_ce t_cl t_Co t_Cs t_CV t_db t_DL t_EI t_F2 t_F4 t_F6 t_F8 t_fs t_IE t_k1 t_k2 t_K3 t_K4 t_K5 t_K6 t_K7 t_K8 t_K9 t_kb t_KB t_kd t_KD t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_PE t_PS t_RB t_RC t_RF t_Ri t_RI t_RS t_RT t_RV t_Sb t_SC t_se t_Sf t_SH t_Si t_SI t_so t_sr t_SR t_ST t_te t_Te t_TE t_ti t_TI t_ts t_Ts t_u7 t_ue t_us t_ut t_vb t_ve t_vi t_vs t_VS t_WP t_WS t_xn t_xs t_ZH t_ZR
-syn keyword vimOption contained	t_8f t_AB t_al t_AU t_BD t_cd t_Ce t_cm t_cs t_CS t_da t_dl t_EC t_F1 t_F3 t_F5 t_F7 t_F9 t_GP t_IS t_K1 t_k3 t_k4 t_k5 t_k6 t_k7 t_k8 t_k9 t_KA t_kB t_KC t_kD t_ke
+syn keyword vimOption contained	t_8b t_8u t_AF t_AL t_bc t_BE t_ce t_cl t_Co t_Cs t_CV t_db t_DL t_EI t_F2 t_F4 t_F6 t_F8 t_fd t_fs t_IE t_k1 t_k2 t_K3 t_K4 t_K5 t_K6 t_K7 t_K8 t_K9 t_kb t_KB t_kd t_KD t_KE t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_PE t_PS t_RB t_RC t_RF t_Ri t_RI t_RS t_RT t_RV t_Sb t_SC t_se t_Sf t_SH t_Si t_SI t_so t_sr t_SR t_ST t_te t_Te t_TE t_ti t_TI t_ts t_Ts t_u7 t_ue t_us t_ut t_vb t_ve t_vi t_vs t_VS t_WP t_WS t_xn t_xs t_ZH t_ZR
+syn keyword vimOption contained	t_8f t_AB t_al t_AU t_BD t_cd t_Ce t_cm t_cs t_CS t_da t_dl t_EC t_F1 t_F3 t_F5 t_F7 t_F9 t_fe t_GP t_IS t_K1 t_k3 t_k4 t_k5 t_k6 t_k7 t_k8 t_k9 t_KA t_kB t_KC t_kD t_ke t_KF
 syn match   vimOption contained	"t_%1"
 syn match   vimOption contained	"t_#2"
 syn match   vimOption contained	"t_#4"
@@ -78,12 +78,12 @@ syn match vimHLGroup contained	"Conceal"
 syn case match
 
 " Function Names {{{2
-syn keyword vimFuncName contained	abs argc assert_beeps assert_false assert_report balloon_show bufexists bufnr byteidxcomp charclass ch_evalexpr ch_log ch_readraw cindent complete_check cosh deepcopy diff_hlID eval exists feedkeys findfile fnameescape foldtext garbagecollect getchangelist getcmdpos getcwd getftime getloclist getpos gettabinfo getwininfo glob haslocaldir histnr indent inputrestore invert items job_status json_decode libcallnr listener_add log10 mapnew matcharg matchlist min nr2char popup_beval popup_filter_menu popup_getpos popup_move pow prompt_setinterrupt prop_list prop_type_get pyeval readdirex reltime remote_peek rename rubyeval screenpos searchdecl serverlist setcmdpos setmatches settabwinvar shiftwidth sign_place simplify soundfold spellsuggest str2float strdisplaywidth strlen strwidth synconcealed system tagfiles term_dumpdiff term_getattr term_getsize term_list term_setkill test_alloc_fail test_getvalue test_null_function test_option_not_set test_settime timer_pause toupper undofile visualmode win_execute winheight winnr win_splitmove
-syn keyword vimFuncName contained	acos argidx assert_equal assert_inrange assert_true balloon_split buflisted bufwinid call ch_canread ch_evalraw ch_logfile ch_sendexpr clearmatches complete_info count delete echoraw eventhandler exp filereadable flatten fnamemodify foldtextresult get getchar getcmdtype getenv getftype getmarklist getqflist gettabvar getwinpos glob2regpat hasmapto hlexists index inputsave isdirectory job_getchannel job_stop json_encode line listener_flush luaeval mapset matchdelete matchstr mkdir or popup_clear popup_filter_yesno popup_hide popup_notification prevnonblank prompt_setprompt prop_remove prop_type_list pyxeval readfile reltimefloat remote_read repeat screenattr screenrow searchpair setbufline setenv setpos settagstack sign_define sign_placelist sin sound_playevent split str2list strftime strpart submatch synID systemlist taglist term_dumpload term_getcursor term_getstatus term_scrape term_setrestore test_autochdir test_ignore_error test_null_job test_override test_srand_seed timer_start tr undotree wildmenumode win_findbuf win_id2tabwin winrestcmd winwidth
-syn keyword vimFuncName contained	add arglistid assert_equalfile assert_match atan browse bufload bufwinnr ceil ch_close ch_getbufnr ch_open ch_sendraw col confirm cscope_connection deletebufline empty executable expand filewritable float2nr foldclosed foreground getbufinfo getcharmod getcmdwintype getfontname getimstatus getmatches getreg gettabwinvar getwinposx globpath histadd hlID input inputsecret isinf job_info join keys line2byte listener_remove map match matchend matchstrpos mode pathshorten popup_close popup_findinfo popup_list popup_setoptions printf prop_add prop_type_add pum_getpos rand reduce reltimestr remote_send resolve screenchar screenstring searchpairpos setbufvar setfperm setqflist setwinvar sign_getdefined sign_undefine sinh sound_playfile sqrt str2nr strgetchar strptime substitute synIDattr tabpagebuflist tan term_dumpwrite term_getjob term_gettitle term_sendkeys term_setsize test_feedinput test_null_blob test_null_list test_refcount test_unknown timer_stop trim uniq winbufnr win_getid win_id2win winrestview wordcount
-syn keyword vimFuncName contained	and argv assert_exception assert_notequal atan2 browsedir bufloaded byte2line changenr ch_close_in ch_getjob ch_read ch_setoptions complete copy cursor did_filetype environ execute expandcmd filter floor foldclosedend funcref getbufline getcharsearch getcompletion getfperm getjumplist getmousepos getreginfo gettagstack getwinposy has histdel hostname inputdialog insert islocked job_setoptions js_decode len lispindent localtime maparg matchadd matchfuzzy max mzeval perleval popup_create popup_findpreview popup_locate popup_settext prompt_getprompt prop_clear prop_type_change pumvisible range reg_executing remote_expr remote_startserver reverse screenchars search searchpos setcellwidths setline setreg sha256 sign_getplaced sign_unplace sort sound_stop srand strcharpart stridx strridx swapinfo synIDtrans tabpagenr tanh term_getaltscreen term_getline term_gettty term_setansicolors term_start test_garbagecollect_now test_null_channel test_null_partial test_scrollbar test_void timer_stopall trunc values wincol win_gettype winlayout winsaveview writefile
-syn keyword vimFuncName contained	append asin assert_fails assert_notmatch balloon_gettext bufadd bufname byteidx char2nr chdir ch_info ch_readblob ch_status complete_add cos debugbreak diff_filler escape exepath extend finddir fmod foldlevel function getbufvar getcmdline getcurpos getfsize getline getpid getregtype gettext getwinvar has_key histget iconv inputlist interrupt isnan job_start js_encode libcall list2str log mapcheck matchaddpos matchfuzzypos menu_info nextnonblank popup_atcursor popup_dialog popup_getoptions popup_menu popup_show prompt_setcallback prop_find prop_type_delete py3eval readdir reg_recording remote_foreground remove round screencol searchcount server2client setcharsearch setloclist settabvar shellescape sign_jump sign_unplacelist sound_clear spellbadword state strchars string strtrans swapname synstack tabpagewinnr tempname term_getansicolors term_getscrolled terminalprops term_setapi term_wait test_garbagecollect_soon test_null_dict test_null_string test_setmouse timer_info tolower type virtcol windowsversion win_gotoid winline win_screenpos xor
-syn keyword vimFuncName contained	appendbufline
+syn keyword vimFuncName contained	abs argc assert_equal assert_match atan browsedir bufname byteidxcomp charcol ch_evalexpr ch_logfile ch_sendraw complete cos deepcopy echoraw eventhandler exp feedkeys findfile fmod foldlevel funcref getbufline getcharpos getcmdwintype getenv getftype getmarklist getqflist gettabvar getwinpos glob2regpat hasmapto hlexists index inputsave isdirectory job_getchannel job_stop json_encode line listener_flush luaeval mapset matchdelete matchstr mkdir or popup_clear popup_filter_yesno popup_hide popup_notification prevnonblank prompt_setprompt prop_remove prop_type_list pyxeval readdirex reltime remote_peek rename rubyeval screenpos searchdecl serverlist setcharsearch setline setreg sha256 sign_getplaced sign_unplace slice sound_playfile sqrt str2nr strftime strpart submatch synID systemlist taglist term_dumpload term_getcursor term_getstatus term_scrape term_setrestore test_autochdir test_ignore_error test_null_job test_override test_srand_seed timer_start tr undofile visualmode win_execute winheight winnr win_splitmove
+syn keyword vimFuncName contained	acos argidx assert_equalfile assert_nobeep atan2 bufadd bufnr call charidx ch_evalraw ch_open ch_setoptions complete_add cosh delete empty executable expand filereadable flatten fnameescape foldtext function getbufvar getcharsearch getcompletion getfontname getimstatus getmatches getreg gettabwinvar getwinposx globpath histadd hlID input inputsecret isinf job_info join keys line2byte listener_remove map match matchend matchstrpos mode pathshorten popup_close popup_findinfo popup_list popup_setoptions printf prop_add prop_type_add pum_getpos rand readfile reltimefloat remote_read repeat screenattr screenrow searchpair setbufline setcmdpos setloclist settabvar shellescape sign_jump sign_unplacelist sort sound_stop srand strcharlen strgetchar strptime substitute synIDattr tabpagebuflist tan term_dumpwrite term_getjob term_gettitle term_sendkeys term_setsize test_feedinput test_null_blob test_null_list test_refcount test_unknown timer_stop trim undotree wildmenumode win_findbuf win_id2tabwin winrestcmd winwidth
+syn keyword vimFuncName contained	add arglistid assert_exception assert_notequal balloon_gettext bufexists bufwinid ceil ch_canread ch_getbufnr ch_read ch_status complete_check count deletebufline environ execute expandcmd filewritable flattennew fnamemodify foldtextresult garbagecollect getchangelist getcmdline getcurpos getfperm getjumplist getmousepos getreginfo gettagstack getwinposy has histdel hostname inputdialog insert islocked job_setoptions js_decode len lispindent localtime maparg matchadd matchfuzzy max mzeval perleval popup_create popup_findpreview popup_locate popup_settext prompt_getprompt prop_clear prop_type_change pumvisible range reduce reltimestr remote_send resolve screenchar screenstring searchpairpos setbufvar setcursorcharpos setmatches settabwinvar shiftwidth sign_place simplify sound_clear spellbadword state strcharpart stridx strridx swapinfo synIDtrans tabpagenr tanh term_getaltscreen term_getline term_gettty term_setansicolors term_start test_garbagecollect_now test_null_channel test_null_partial test_scrollbar test_void timer_stopall trunc uniq winbufnr win_getid win_id2win winrestview wordcount
+syn keyword vimFuncName contained	and argv assert_fails assert_notmatch balloon_show buflisted bufwinnr changenr ch_close ch_getjob ch_readblob cindent complete_info cscope_connection did_filetype escape exepath extend filter float2nr foldclosed foreground get getchar getcmdpos getcursorcharpos getfsize getline getpid getregtype gettext getwinvar has_key histget iconv inputlist interrupt isnan job_start js_encode libcall list2str log mapcheck matchaddpos matchfuzzypos menu_info nextnonblank popup_atcursor popup_dialog popup_getoptions popup_menu popup_show prompt_setcallback prop_find prop_type_delete py3eval readblob reg_executing remote_expr remote_startserver reverse screenchars search searchpos setcellwidths setenv setpos settagstack sign_define sign_placelist sin soundfold spellsuggest str2float strchars string strtrans swapname synstack tabpagewinnr tempname term_getansicolors term_getscrolled terminalprops term_setapi term_wait test_garbagecollect_soon test_null_dict test_null_string test_setmouse timer_info tolower type values wincol win_gettype winlayout winsaveview writefile
+syn keyword vimFuncName contained	append asin assert_false assert_report balloon_split bufload byte2line char2nr ch_close_in ch_info ch_readraw clearmatches confirm cursor diff_filler eval exists extendnew finddir floor foldclosedend fullcommand getbufinfo getcharmod getcmdtype getcwd getftime getloclist getpos gettabinfo getwininfo glob haslocaldir histnr indent inputrestore invert items job_status json_decode libcallnr listener_add log10 mapnew matcharg matchlist min nr2char popup_beval popup_filter_menu popup_getpos popup_move pow prompt_setinterrupt prop_list prop_type_get pyeval readdir reg_recording remote_foreground remove round screencol searchcount server2client setcharpos setfperm setqflist setwinvar sign_getdefined sign_undefine sinh sound_playevent split str2list strdisplaywidth strlen strwidth synconcealed system tagfiles term_dumpdiff term_getattr term_getsize term_list term_setkill test_alloc_fail test_getvalue test_null_function test_option_not_set test_settime timer_pause toupper typename virtcol windowsversion win_gotoid winline win_screenpos xor
+syn keyword vimFuncName contained	appendbufline assert_beeps assert_inrange assert_true browse bufloaded byteidx charclass chdir ch_log ch_sendexpr col copy debugbreak diff_hlID
 
 "--- syntax here and above generated by mkvimvim ---
 " Special Vim Highlighting (not automatic) {{{1
@@ -176,7 +176,7 @@ syn match vimNumber	'\<0[xX]\x\+'		     
 syn match vimNumber	'\%(^\|\A\)\zs#\x\{6}'             	       skipwhite nextgroup=vimGlobal,vimSubst,vimCommand,vimComment,vim9Comment
 syn match vimNumber	'\<0[zZ][a-zA-Z0-9.]\+'                    skipwhite nextgroup=vimGlobal,vimSubst,vimCommand,vimComment,vim9Comment
 syn match vimNumber	'0[0-7]\+'		       skipwhite nextgroup=vimGlobal,vimSubst,vimCommand,vimComment,vim9Comment           
-syn match vimNumber	'0b[01]\+'		       skipwhite nextgroup=vimGlobal,vimSubst,vimCommand,vimComment,vim9Comment           
+syn match vimNumber	'0[bB][01]\+'		       skipwhite nextgroup=vimGlobal,vimSubst,vimCommand,vimComment,vim9Comment           
 
 " All vimCommands are contained by vimIsCommand. {{{2
 syn match vimCmdSep	"[:|]\+"	skipwhite nextgroup=vimAddress,vimAutoCmd,vimEcho,vimIsCommand,vimExtCmd,vimFilter,vimLet,vimMap,vimMark,vimSet,vimSyntax,vimUserCmd
@@ -384,8 +384,8 @@ syn match	vimCmplxRepeat	'[^a-zA-Z_/\\()
 syn match	vimCmplxRepeat	'@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\>\)'
 
 " Set command and associated set-options (vimOptions) with comment {{{2
-syn region	vimSet		matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skip="\%(\\\\\)*\\." end="$" end="|" matchgroup=vimNotation end="<[cC][rR]>" keepend oneline contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vim9Comment,vimSetString,vimSetMod
-syn region	vimSetEqual	contained	start="[=:]\|[-+^]=" skip="\\\\\|\\\s" end="[| \t]\|$"me=e-1	contains=vimCtrlChar,vimSetSep,vimNotation,vimEnvvar oneline
+syn region	vimSet		matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skip="\%(\\\\\)*\\." end="$" end="|" matchgroup=vimNotation end="<[cC][rR]>" oneline keepend contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vim9Comment,vimSetString,vimSetMod
+syn region	vimSetEqual	contained	start="[=:]\|[-+^]=" skip="\\\\\|\\\s" end="[| \t]"me=e-1 end="$"	contains=vimCtrlChar,vimSetSep,vimNotation,vimEnvvar
 syn region	vimSetString	contained	start=+="+hs=s+1	skip=+\\\\\|\\"+  end=+"+		contains=vimCtrlChar
 syn match	vimSetSep	contained	"[,:]"
 syn match	vimSetMod	contained	"&vim\=\|[!&?<]\|all&"
@@ -462,7 +462,8 @@ syn match vimFunc		"\%(\%([sSgGbBwWtTlL]
 syn match vimUserFunc contained	"\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\<if\>"	contains=vimNotation
 
 " User Command Highlighting: {{{2
-syn match vimUsrCmd	'^\s*\zs\u\w*.*$'
+"syn match vimUsrCmd	'^\s*\zs\u\w*.*$'
+syn match vimUsrCmd	'^\s*\zs\u\%(\w*\)\@>\%([(#[]\|\s\+\%([-+*/%]\=\|\.\.\)=\)\@!'
 
 " Errors And Warnings: {{{2
 " ====================
@@ -600,7 +601,7 @@ syn case match
 syn match	vimHiAttribList	contained	"\i\+"	contains=vimHiAttrib
 syn match	vimHiAttribList	contained	"\i\+,"he=e-1	contains=vimHiAttrib nextgroup=vimHiAttribList
 syn case ignore
-syn keyword	vimHiCtermColor	contained	black blue brown cyan darkblue darkcyan darkgray darkgreen darkgrey darkmagenta darkred darkyellow gray green grey lightblue lightcyan lightgray lightgreen lightgrey lightmagenta lightred magenta red white yellow
+syn keyword	vimHiCtermColor	contained	black blue brown cyan darkblue darkcyan darkgray darkgreen darkgrey darkmagenta darkred darkyellow gray green grey grey40 grey50 grey90 lightblue lightcyan lightgray lightgreen lightgrey lightmagenta lightred lightyellow magenta red seagreen white yellow
 syn match	vimHiCtermColor	contained	"\<color\d\{1,3}\>"
 
 syn case match
--- a/runtime/tutor/tutor
+++ b/runtime/tutor/tutor
@@ -881,11 +881,11 @@ NOTE:  If you want to ignore case for ju
 			  ** Enable Vim features **
 
   Vim has many more features than Vi, but most of them are disabled by
-  default.  To start using more features you have to create a "vimrc" file.
+  default.  To start using more features you should create a "vimrc" file.
 
   1. Start editing the "vimrc" file.  This depends on your system:
 	:e ~/.vimrc		for Unix
-	:e $VIM/_vimrc		for Windows
+	:e ~/_vimrc		for Windows
 
   2. Now read the example "vimrc" file contents:
 	:r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.bar
+++ b/runtime/tutor/tutor.bar
@@ -884,7 +884,7 @@ Anmrkung:  Sollt klain/groo bei ayner ainzignen Suech wurst sein,  benutz  \c
 
   1. Lg ayn "vimrc"-Dautticht an;  ds geet  ie naach Betribsgebu  verschidn:
      :e ~/.vimrc     fr s Unix
-     :e $VIM/_vimrc  bei n Fenstl
+     :e ~/_vimrc     bei n Fenstl
 
   2. Ietz lis nn Inhalt von dyr Beispil-"vimrc"-Dautticht ein:
      :r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.bar.utf-8
+++ b/runtime/tutor/tutor.bar.utf-8
@@ -884,7 +884,7 @@ Anmörkung:  Sollt klain/grooß bei ayner ainzignen Suech wurst sein,  benutz  \c
 
   1. Lög ayn "vimrc"-Dautticht an;  dös geet  ie naach Betribsgebäu  verschidn:
      :e ~/.vimrc     für s Unix
-     :e $VIM/_vimrc  bei n Fenstl
+     :e ~/_vimrc     bei n Fenstl
 
   2. Ietz lis önn Inhalt von dyr Beispil-"vimrc"-Dautticht ein:
      :r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.bg.utf-8
+++ b/runtime/tutor/tutor.bg.utf-8
@@ -944,8 +944,8 @@
   създадете файл, наречен "vimrc".
 
   1. Създайте вашия файл "vimrc". В зависимост от вашата операционна система:
-	:e ~/.vimrc		за всеки вид Unix
-	:e $VIM/_vimrc	за MS-Windows
+	:e ~/.vimrc	за всеки вид Unix
+	:e ~/_vimrc	за MS-Windows
 
   2. Сега прочетете съдържанието на примерния файл "vimrc":
 	:r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.ca
+++ b/runtime/tutor/tutor.ca
@@ -767,8 +767,8 @@ Nota: Aix s'evita haver de prmer  i , l'ltim carcter, el text a inserir,
  fitxer "vimrc".
 
   1. Comenceu a editar el fitxer "vimrc", depenent del sistema
-        :edit ~/.vimrc                  per Unix
-        :edit $VIM/_vimrc               per MS-Windows
+        :edit ~/.vimrc         per Unix
+        :edit ~/_vimrc         per MS-Windows
 
   2. Llegiu el fitxer "vimrc" d'exemple:
 
--- a/runtime/tutor/tutor.ca.utf-8
+++ b/runtime/tutor/tutor.ca.utf-8
@@ -767,8 +767,8 @@ Nota: Així s'evita haver de prémer  i , l'últim caràcter, el text a inserir,
  fitxer "vimrc".
 
   1. Comenceu a editar el fitxer "vimrc", depenent del sistema
-        :edit ~/.vimrc                  per Unix
-        :edit $VIM/_vimrc               per MS-Windows
+        :edit ~/.vimrc               per Unix
+        :edit ~/_vimrc               per MS-Windows
 
   2. Llegiu el fitxer "vimrc" d'exemple:
 
--- a/runtime/tutor/tutor.cs
+++ b/runtime/tutor/tutor.cs
@@ -765,8 +765,8 @@ Poznmka: Tmto se vyhne stisknut  i  , poslednho znaku, textu na vloen,
   nastaven. Pro zapnut nkterch vytvo soubor "vimrc".
 
   1. Zani upravovat soubor "vimrc". Toto zvis na pouitm systmu:
-	:edit ~/.vimrc			pro Unix
-	:edit $VIM/_vimrc		pro MS-Windows
+	:edit ~/.vimrc		pro Unix
+	:edit ~/_vimrc		pro MS-Windows
 
   2. Nyn ti ukzkov "vimrc" soubor:
 
--- a/runtime/tutor/tutor.cs.cp1250
+++ b/runtime/tutor/tutor.cs.cp1250
@@ -765,8 +765,8 @@ Poznmka: Tmto se vyhne stisknut  i  , poslednho znaku, textu na vloen,
   nastaven. Pro zapnut nkterch vytvo soubor "vimrc".
 
   1. Zani upravovat soubor "vimrc". Toto zvis na pouitm systmu:
-	:edit ~/.vimrc			pro Unix
-	:edit $VIM/_vimrc		pro MS-Windows
+	:edit ~/.vimrc		pro Unix
+	:edit ~/_vimrc		pro MS-Windows
 
   2. Nyn ti ukzkov "vimrc" soubor:
 
--- a/runtime/tutor/tutor.cs.utf-8
+++ b/runtime/tutor/tutor.cs.utf-8
@@ -765,8 +765,8 @@ Poznámka: Tímto se vyhneš stisknutí  i  , posledního znaku, textu na vložení,
   nastavení. Pro zapnutí některých vytvoř soubor "vimrc".
 
   1. Začni upravovat soubor "vimrc". Toto závisí na použitém systému:
-	:edit ~/.vimrc			pro Unix
-	:edit $VIM/_vimrc		pro MS-Windows
+	:edit ~/.vimrc		pro Unix
+	:edit ~/_vimrc		pro MS-Windows
 
   2. Nyní čti ukázkový "vimrc" soubor:
 
--- a/runtime/tutor/tutor.da
+++ b/runtime/tutor/tutor.da
@@ -883,7 +883,7 @@ BEMRK: Hvis du vil ignorere case for en enkelt sg-kommando, s brug  \c
 
   1. Begynd at redigere "vimrc"-filen. Det afhnger af dit system:
 	:e ~/.vimrc		i Unix
-	:e $VIM/_vimrc		i MS-Windows
+	:e ~/_vimrc		i MS-Windows
 
   2. Ls nu indholdet af eksempel "vimrc"-filen:
 	:r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.da.utf-8
+++ b/runtime/tutor/tutor.da.utf-8
@@ -883,7 +883,7 @@ BEMÆRK: Hvis du vil ignorere case for en enkelt søg-kommando, så brug  \c
 
   1. Begynd at redigere "vimrc"-filen. Det afhænger af dit system:
 	:e ~/.vimrc		i Unix
-	:e $VIM/_vimrc		i MS-Windows
+	:e ~/_vimrc		i MS-Windows
 
   2. Læs nu indholdet af eksempel "vimrc"-filen:
 	:r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.de
+++ b/runtime/tutor/tutor.de
@@ -886,7 +886,7 @@ Anmerkung: Um die Schreibweise fr eine einzige Suche zu ignorieren, benutze \c
 
   1. Starte das Editieren der "vimrc"-Datei, abhngig von deinem System:
 	:e ~/.vimrc		fr Unix
-	:e $VIM/_vimrc		fr MS-Windows
+	:e ~/_vimrc		fr MS-Windows
 
   2. Nun lies den Inhalt der Beispiel-"vimrc"-Datei ein:
 	:r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.de.utf-8
+++ b/runtime/tutor/tutor.de.utf-8
@@ -886,7 +886,7 @@ Anmerkung: Um die Schreibweise für eine einzige Suche zu ignorieren, benutze \c
 
   1. Starte das Editieren der "vimrc"-Datei, abhängig von deinem System:
 	:e ~/.vimrc		für Unix
-	:e $VIM/_vimrc		für MS-Windows
+	:e ~/_vimrc		für MS-Windows
 
   2. Nun lies den Inhalt der Beispiel-"vimrc"-Datei ein:
 	:r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.el
+++ b/runtime/tutor/tutor.el
@@ -768,8 +768,8 @@
          "vimrc".
 
   1.     "vimrc",      :
-	:edit ~/.vimrc                Unix
-	:edit $VIM/_vimrc             MS-Windows
+	:edit ~/.vimrc             Unix
+	:edit ~/_vimrc             MS-Windows
 
   2.        "vimrc":
 	:read $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.el.cp737
+++ b/runtime/tutor/tutor.el.cp737
@@ -768,8 +768,8 @@
   櫜  ⧜  ᥜ ⤘  "vimrc".
 
   1. 婫 餦   "vimrc",  ᫘   穫 :
-	:edit ~/.vimrc                Unix
-	:edit $VIM/_vimrc             MS-Windows
+	:edit ~/.vimrc             Unix
+	:edit ~/_vimrc             MS-Windows
 
   2. 騘 ᚜  壜 嚣   "vimrc":
 	:read $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.el.utf-8
+++ b/runtime/tutor/tutor.el.utf-8
@@ -768,8 +768,8 @@
   περισσότερα χαρακτηριστικά πρέπει να φτιάξετε ένα αρχείο "vimrc".
 
   1. Αρχίστε διορθώνοντας το αρχείο "vimrc", αυτό εξαρτάται από το σύστημά σας:
-	:edit ~/.vimrc               για Unix
-	:edit $VIM/_vimrc            για MS-Windows
+	:edit ~/.vimrc            για Unix
+	:edit ~/_vimrc            για MS-Windows
 
   2. Τώρα εισάγετε το κείμενο παραδείγματος για αρχείο "vimrc":
 	:read $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.eo
+++ b/runtime/tutor/tutor.eo
@@ -914,7 +914,7 @@ RIMARKO: Se vi deziras ignori usklecon por nur unu sera komando, uzu  \c
 
   1. Ekredaktu la dosieron "vimrc".  Tio dependas de via sistemo:
       :e ~/.vimrc          por Unikso
-      :e $VIM/_vimrc       por Vindozo
+      :e ~/_vimrc          por Vindozo
 
   2. Nun legu la enhavon de la ekzempla "vimrc"
       :r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.eo.utf-8
+++ b/runtime/tutor/tutor.eo.utf-8
@@ -914,7 +914,7 @@ RIMARKO: Se vi deziras ignori usklecon por nur unu serĉa komando, uzu  \c
 
   1. Ekredaktu la dosieron "vimrc".  Tio dependas de via sistemo:
       :e ~/.vimrc          por Unikso
-      :e $VIM/_vimrc       por Vindozo
+      :e ~/_vimrc          por Vindozo
 
   2. Nun legu la enhavon de la ekzempla "vimrc"
       :r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.fr
+++ b/runtime/tutor/tutor.fr
@@ -950,7 +950,7 @@ NOTE : Si vous voulez ignorer la casse u
 
   1. Commencez  diter le fichier "vimrc". Ceci dpend de votre systme :
         :edit ~/.vimrc         pour Unix
-        :edit $VIM/_vimrc      pour Windows
+        :edit ~/_vimrc         pour Windows
 
   2. Lisez maintenant le fichier d'exemple "vimrc" :
         :r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.fr.utf-8
+++ b/runtime/tutor/tutor.fr.utf-8
@@ -950,7 +950,7 @@ NOTE : Si vous voulez ignorer la casse u
 
   1. Commencez à éditer le fichier "vimrc". Ceci dépend de votre système :
         :edit ~/.vimrc         pour Unix
-        :edit $VIM/_vimrc      pour Windows
+        :edit ~/_vimrc         pour Windows
 
   2. Lisez maintenant le fichier d'exemple "vimrc" :
         :r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.hr
+++ b/runtime/tutor/tutor.hr
@@ -883,7 +883,7 @@ NAPOMENA:  Bez razlikovanja velikih i ma
 
   1. Uredite "vimrc" datoteku.  Ovo ovisi o vaem sistemu:
 	:e ~/.vimrc		za Unix
-	:e $VIM/_vimrc		za MS-Windows
+	:e ~/_vimrc		za MS-Windows
 
   2. Sada uitajte primjer sadraja "vimrc" datoteke:
 	:r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.hr.cp1250
+++ b/runtime/tutor/tutor.hr.cp1250
@@ -883,7 +883,7 @@ NAPOMENA:  Bez razlikovanja velikih i ma
 
   1. Uredite "vimrc" datoteku.  Ovo ovisi o vaem sistemu:
 	:e ~/.vimrc		za Unix
-	:e $VIM/_vimrc		za MS-Windows
+	:e ~/_vimrc		za MS-Windows
 
   2. Sada uitajte primjer sadraja "vimrc" datoteke:
 	:r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.hr.utf-8
+++ b/runtime/tutor/tutor.hr.utf-8
@@ -883,7 +883,7 @@ NAPOMENA:  Bez razlikovanja velikih i ma
 
   1. Uredite "vimrc" datoteku.  Ovo ovisi o vašem sistemu:
 	:e ~/.vimrc		za Unix
-	:e $VIM/_vimrc		za MS-Windows
+	:e ~/_vimrc		za MS-Windows
 
   2. Sada učitajte primjer sadržaja "vimrc" datoteke:
 	:r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.hu
+++ b/runtime/tutor/tutor.hu
@@ -779,8 +779,8 @@ Megj: A Vimben a sor legvgre is lehet llni, azonban ez eldjben
   kell egy "vimrc" fjlt.
 
   1. Kezdjk el szerkeszteni a "vimrc" fjlt, ennek mdja:
-	:edit ~/.vimrc			Unixon, Linuxon
-	:edit $VIM/_vimrc		MS-Windowson
+	:edit ~/.vimrc		Unixon, Linuxon
+	:edit ~/_vimrc		MS-Windowson
 
   2. Most szrjuk be a plda "vimrc" fjl szvegt:
 
--- a/runtime/tutor/tutor.hu.cp1250
+++ b/runtime/tutor/tutor.hu.cp1250
@@ -779,8 +779,8 @@ Megj: A Vimben a sor legvgre is lehet llni, azonban ez eldjben
   kell egy "vimrc" fjlt.
 
   1. Kezdjk el szerkeszteni a "vimrc" fjlt, ennek mdja:
-	:edit ~/.vimrc			Unixon, Linuxon
-	:edit $VIM/_vimrc		MS-Windowson
+	:edit ~/.vimrc		Unixon, Linuxon
+	:edit ~/_vimrc		MS-Windowson
 
   2. Most szrjuk be a plda "vimrc" fjl szvegt:
 
--- a/runtime/tutor/tutor.hu.utf-8
+++ b/runtime/tutor/tutor.hu.utf-8
@@ -779,8 +779,8 @@ Megj: A Vimben a sor legvégére is lehet állni, azonban ez elődjében
   kell egy "vimrc" fájlt.
 
   1. Kezdjük el szerkeszteni a "vimrc" fájlt, ennek módja:
-	:edit ~/.vimrc			Unixon, Linuxon
-	:edit $VIM/_vimrc		MS-Windowson
+	:edit ~/.vimrc		Unixon, Linuxon
+	:edit ~/_vimrc		MS-Windowson
 
   2. Most szúrjuk be a példa "vimrc" fájl szövegét:
 
--- a/runtime/tutor/tutor.it
+++ b/runtime/tutor/tutor.it
@@ -882,7 +882,7 @@ NOTA: Per ignorare maiuscole/minuscole s
 
   1. Comincia a editare il file "vimrc".  Questo dipende dal tuo sistema:
 	:e ~/.vimrc		per Unix
-	:e $VIM/_vimrc		per MS-Windows
+	:e ~/_vimrc		per MS-Windows
 
   2. Ora leggi i contenuti del file "vimrc" distribuito come esempio:
 
--- a/runtime/tutor/tutor.it.utf-8
+++ b/runtime/tutor/tutor.it.utf-8
@@ -882,7 +882,7 @@ NOTA: Per ignorare maiuscole/minuscole s
 
   1. Comincia a editare il file "vimrc".  Questo dipende dal tuo sistema:
 	:e ~/.vimrc		per Unix
-	:e $VIM/_vimrc		per MS-Windows
+	:e ~/_vimrc		per MS-Windows
 
   2. Ora leggi i contenuti del file "vimrc" distribuito come esempio:
 
--- a/runtime/tutor/tutor.ja.euc
+++ b/runtime/tutor/tutor.ja.euc
@@ -884,8 +884,8 @@ NOTE: 1Ĥθޥɤʸʸζ̤᤿ʤСե졼 \c
   ޤ
 
   1. "vimrc" եԽ򳫻Ϥ롣ϥƥ˰¸ޤ
-	:edit ~/.vimrc			UNIX 
-	:edit $VIM/_vimrc		Windows 
+	:edit ~/.vimrc		    UNIX 
+	:edit ~/_vimrc		    Windows 
 
   2. ǥץ "vimrc" ɤ߹ߤޤ
 	:read $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.ja.sjis
+++ b/runtime/tutor/tutor.ja.sjis
@@ -884,8 +884,8 @@ NOTE: 1‚̌R}h啶̋ʂ߂Ȃ΁At[Y \c
   쐬܂B
 
   1. "vimrc" t@C̕ҏWJnB̓VXeɈˑ܂B
-	:edit ~/.vimrc			UNIX 
-	:edit $VIM/_vimrc		Windows 
+	:edit ~/.vimrc		    UNIX 
+	:edit ~/_vimrc		    Windows 
 
   2. ŃTv "vimrc" ǂݍ݂܂B
 	:read $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.ja.utf-8
+++ b/runtime/tutor/tutor.ja.utf-8
@@ -884,8 +884,8 @@ NOTE: 1つの検索コマンドだけ大文字小文字の区別をやめたいならば、フレーズに \c
   を作成します。
 
   1. "vimrc" ファイルの編集を開始する。これはシステムに依存します。
-	:edit ~/.vimrc			UNIX 向け
-	:edit $VIM/_vimrc		Windows 向け
+	:edit ~/.vimrc		    UNIX 向け
+	:edit ~/_vimrc		    Windows 向け
 
   2. ここでサンプルの "vimrc" を読み込みます。
 	:read $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.ko
+++ b/runtime/tutor/tutor.ko
@@ -878,8 +878,8 @@ ce 는 단어를 치환하는 것 뿐만 아니라, 내용을 삽입할 수 있도록 한다는 것에
   않습니다. 더 많은 기능을 써보려면, "vimrc" 라는 파일을 만들어야 합니다.
 
   1. "vimrc" 파일을 수정합시다. 이 파일은 사용하는 시스템에 따라 다릅니다:
-        :e ~/.vimrc                  Unix의 경우
-        :e $VIM/_vimrc               MS-Windows의 경우
+        :e ~/.vimrc               Unix의 경우
+        :e ~/_vimrc               MS-Windows의 경우
 
   2. 이제 "vimrc"의 예제를 읽어들입니다:
         :r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.ko.euc
+++ b/runtime/tutor/tutor.ko.euc
@@ -878,8 +878,8 @@ ce  ܾ ġȯϴ  Ӹ ƴ϶,    ֵ Ѵٴ Ϳ
   ʽϴ.    Ẹ, "vimrc"    մϴ.
 
   1. "vimrc"  սô.   ϴ ýۿ  ٸϴ:
-        :e ~/.vimrc                  Unix 
-        :e $VIM/_vimrc               MS-Windows 
+        :e ~/.vimrc               Unix 
+        :e ~/_vimrc               MS-Windows 
 
   2.  "vimrc"  оԴϴ:
         :r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.ko.utf-8
+++ b/runtime/tutor/tutor.ko.utf-8
@@ -878,8 +878,8 @@ ce 는 단어를 치환하는 것 뿐만 아니라, 내용을 삽입할 수 있도록 한다는 것에
   않습니다. 더 많은 기능을 써보려면, "vimrc" 라는 파일을 만들어야 합니다.
 
   1. "vimrc" 파일을 수정합시다. 이 파일은 사용하는 시스템에 따라 다릅니다:
-        :e ~/.vimrc                  Unix의 경우
-        :e $VIM/_vimrc               MS-Windows의 경우
+        :e ~/.vimrc               Unix의 경우
+        :e ~/_vimrc               MS-Windows의 경우
 
   2. 이제 "vimrc"의 예제를 읽어들입니다:
         :r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.lv.utf-8
+++ b/runtime/tutor/tutor.lv.utf-8
@@ -916,8 +916,8 @@ PIEZĪME:  Ja vēlaties meklēt gan lielos, gan mazos burtus vienā meklējumā,
   pēc noklusēšanas, nav ieslēgtas. Lai tās ieslēgtu, izveidojiet "vimrc" failu.
 
   1. Atkarībā no lietotās operētājsistēmas, atveriet "vimrc" failu sekojoši:
-	:e ~/.vimrc             Unix-veidīgā (t.sk. MacOS un Linux)
-	:e $VIM/_vimrc          VMS-veidīgā (t.sk. MS-Windows)
+	:e ~/.vimrc          Unix-veidīgā (t.sk. MacOS un Linux)
+	:e ~/_vimrc          VMS-veidīgā (t.sk. MS-Windows)
 
   2. Ielasiet "vimrc" šablona faila saturu, ievadot:
 	:r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.nb
+++ b/runtime/tutor/tutor.nb
@@ -884,7 +884,7 @@ Merk: Hvis du vil ignorere store/sm bokstaver for kun en skekommando, bruk
 
   1. Start redigeringen av vimrc-filen. Dette avhenger av systemet ditt:
 	:e ~/.vimrc	  for Unix
-	:e $VIM/_vimrc	  for MS Windows
+	:e ~/_vimrc	  for MS Windows
 
   2. Les inn eksempelfilen for vimrc:
 	:r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.nb.utf-8
+++ b/runtime/tutor/tutor.nb.utf-8
@@ -884,7 +884,7 @@ Merk: Hvis du vil ignorere store/små bokstaver for kun en søkekommando, bruk
 
   1. Start redigeringen av «vimrc»-filen. Dette avhenger av systemet ditt:
 	:e ~/.vimrc	  for Unix
-	:e $VIM/_vimrc	  for MS Windows
+	:e ~/_vimrc	  for MS Windows
 
   2. Les inn eksempelfilen for «vimrc»:
 	:r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.nl
+++ b/runtime/tutor/tutor.nl
@@ -864,7 +864,7 @@
 
   1. Bewerk het bestand 'vimrc'. Hoe dat moet hangt af van je systeem:
       :e ~/.vimrc		voor Unix
-      :e $VIM/_vimrc		voor MS-Windows
+      :e ~/_vimrc		voor MS-Windows
 
   2. Lees de inhoud van het voorbeeld-bestand:
       :r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.nl.utf-8
+++ b/runtime/tutor/tutor.nl.utf-8
@@ -864,7 +864,7 @@
 
   1. Bewerk het bestand 'vimrc'. Hoe dat moet hangt af van je systeem:
       :e ~/.vimrc		voor Unix
-      :e $VIM/_vimrc		voor MS-Windows
+      :e ~/_vimrc		voor MS-Windows
 
   2. Lees de inhoud van het voorbeeld-bestand:
       :r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.no
+++ b/runtime/tutor/tutor.no
@@ -884,7 +884,7 @@ Merk: Hvis du vil ignorere store/sm bokstaver for kun en skekommando, bruk
 
   1. Start redigeringen av vimrc-filen. Dette avhenger av systemet ditt:
 	:e ~/.vimrc	  for Unix
-	:e $VIM/_vimrc	  for MS Windows
+	:e ~/_vimrc	  for MS Windows
 
   2. Les inn eksempelfilen for vimrc:
 	:r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.no.utf-8
+++ b/runtime/tutor/tutor.no.utf-8
@@ -884,7 +884,7 @@ Merk: Hvis du vil ignorere store/små bokstaver for kun en søkekommando, bruk
 
   1. Start redigeringen av «vimrc»-filen. Dette avhenger av systemet ditt:
 	:e ~/.vimrc	  for Unix
-	:e $VIM/_vimrc	  for MS Windows
+	:e ~/_vimrc	  for MS Windows
 
   2. Les inn eksempelfilen for «vimrc»:
 	:r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.pl
+++ b/runtime/tutor/tutor.pl
@@ -888,7 +888,7 @@ Uwaga: Aby ignorowa wielko liter dla jednego wyszukiwania: /ignore\c<ENTER>
 
   1. Pocztek edycji pliku "vimrc" zaley od Twojego systemu:
      :edit ~/.vimrc	     dla Uniksa
-     :edit $VIM/_vimrc       dla MS-Windows
+     :edit ~/_vimrc          dla MS-Windows
   2. Teraz wczytaj przykadowy plik "vimrc":
      :read $VIMRUNTIME/vimrc_example.vim
   3. Zapisz plik:
--- a/runtime/tutor/tutor.pl.cp1250
+++ b/runtime/tutor/tutor.pl.cp1250
@@ -888,7 +888,7 @@ Uwaga: Aby ignorowa wielko liter dla jednego wyszukiwania: /ignore\c<ENTER>
 
   1. Pocztek edycji pliku "vimrc" zaley od Twojego systemu:
      :edit ~/.vimrc	     dla Uniksa
-     :edit $VIM/_vimrc       dla MS-Windows
+     :edit ~/_vimrc          dla MS-Windows
   2. Teraz wczytaj przykadowy plik "vimrc":
      :read $VIMRUNTIME/vimrc_example.vim
   3. Zapisz plik:
--- a/runtime/tutor/tutor.pl.utf-8
+++ b/runtime/tutor/tutor.pl.utf-8
@@ -888,7 +888,7 @@ Uwaga: Aby ignorować wielkość liter dla jednego wyszukiwania: /ignore\c<ENTER>
 
   1. Początek edycji pliku "vimrc" zależy od Twojego systemu:
      :edit ~/.vimrc	     dla Uniksa
-     :edit $VIM/_vimrc       dla MS-Windows
+     :edit ~/_vimrc          dla MS-Windows
   2. Teraz wczytaj przykładowy plik "vimrc":
      :read $VIMRUNTIME/vimrc_example.vim
   3. Zapisz plik:
--- a/runtime/tutor/tutor.pt
+++ b/runtime/tutor/tutor.pt
@@ -901,7 +901,7 @@ NOTA:  Se quiser ignorar a diferena entre maisculas e minsculas em apenas
 
   1. Comece a editar o arquivo "vimrc". Isso depende do sistema:
          :e ~/.vimrc              para Unix
-         :e $VIM/_vimrc           para MS-Windows
+         :e ~/_vimrc              para MS-Windows
 
   2. Agora, leia o contedo do arquivo "vimrc" de exemplo:
          :r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.pt.utf-8
+++ b/runtime/tutor/tutor.pt.utf-8
@@ -900,8 +900,8 @@ NOTA:  Se quiser ignorar a diferença entre maiúsculas e minúsculas em apenas
   arquivo "vimrc".
 
   1. Comece a editar o arquivo "vimrc". Isso depende do sistema:
-         :e ~/.vimrc              para Unix
-         :e $VIM/_vimrc           para MS-Windows
+         :e ~/.vimrc           para Unix
+         :e ~/_vimrc           para MS-Windows
 
   2. Agora, leia o conteúdo do arquivo "vimrc" de exemplo:
 	 :r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.ru
+++ b/runtime/tutor/tutor.ru
@@ -916,7 +916,7 @@
   1.    `vimrc'.    
       :
 	:e ~/.vimrc		 Unix
-	:e $VIM/_vimrc		 MS-Windows
+	:e ~/_vimrc		 MS-Windows
 
   2.     `vimrc':
 	:r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.ru.cp1251
+++ b/runtime/tutor/tutor.ru.cp1251
@@ -916,7 +916,7 @@
   1.    `vimrc'.    
       :
 	:e ~/.vimrc		 Unix
-	:e $VIM/_vimrc		 MS-Windows
+	:e ~/_vimrc		 MS-Windows
 
   2.     `vimrc':
 	:r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.ru.utf-8
+++ b/runtime/tutor/tutor.ru.utf-8
@@ -916,7 +916,7 @@
   1. Отредактируйте новый файл `vimrc'. Его расположение зависит от
      используемой системы:
 	:e ~/.vimrc		для Unix
-	:e $VIM/_vimrc		для MS-Windows
+	:e ~/_vimrc		для MS-Windows
 
   2. Теперь прочитайте пример файла `vimrc':
 	:r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.sk
+++ b/runtime/tutor/tutor.sk
@@ -916,7 +916,7 @@ POZNMKA: Ak chce nerozlyova vekos psmen len pre jedno
 
   1. Zani editova "vimrc" sbor, to zvis na pouitom systme:
 	:e ~/.vimrc      pre Unix
-	:e $VIM/_vimrc   pre MS-Windows
+	:e ~/_vimrc      pre MS-Windows
 
   2. Teraz si pretaj text prkladu "vimrc" sboru:
 
--- a/runtime/tutor/tutor.sk.cp1250
+++ b/runtime/tutor/tutor.sk.cp1250
@@ -916,7 +916,7 @@ POZNMKA: Ak chce nerozlyova vekos psmen len pre jedno
 
   1. Zani editova "vimrc" sbor, to zvis na pouitom systme:
 	:e ~/.vimrc      pre Unix
-	:e $VIM/_vimrc   pre MS-Windows
+	:e ~/_vimrc      pre MS-Windows
 
   2. Teraz si pretaj text prkladu "vimrc" sboru:
 
--- a/runtime/tutor/tutor.sk.utf-8
+++ b/runtime/tutor/tutor.sk.utf-8
@@ -916,7 +916,7 @@ POZNÁMKA: Ak chceš nerozlyšovať veľkosť písmen len pre jedno
 
   1. Začni editovať "vimrc" súbor, to závisí na použitom systéme:
 	:e ~/.vimrc      pre Unix
-	:e $VIM/_vimrc   pre MS-Windows
+	:e ~/_vimrc      pre MS-Windows
 
   2. Teraz si prečítaj text príkladu "vimrc" súboru:
 
--- a/runtime/tutor/tutor.sr.cp1250
+++ b/runtime/tutor/tutor.sr.cp1250
@@ -882,7 +882,7 @@ NAPOMENA:  Ako elite da ne razlikujete veliinu slova u samo jednoj komandi
 
   1. Otvorite "vimrc" fajl.  Ovo zavisi od vaeg sistema:
 	:e ~/.vimrc		za Unix
-	:e $VIM/_vimrc		za MS-Windows
+	:e ~/_vimrc		za MS-Windows
 
   2. Onda uitajte primer sadraja "vimrc" fajla:
 	:r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.sr.utf-8
+++ b/runtime/tutor/tutor.sr.utf-8
@@ -882,7 +882,7 @@ NAPOMENA:  Ako želite da ne razlikujete veličinu slova u samo jednoj komandi
 
   1. Otvorite "vimrc" fajl.  Ovo zavisi od vašeg sistema:
 	:e ~/.vimrc		za Unix
-	:e $VIM/_vimrc		za MS-Windows
+	:e ~/_vimrc		za MS-Windows
 
   2. Onda učitajte primer sadržaja "vimrc" fajla:
 	:r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.sv
+++ b/runtime/tutor/tutor.sv
@@ -786,8 +786,8 @@ Notera: Detta undviker att behva skriva  i , det sista tecknet, texten att
   standard. Fr att brja anvnda fler funktioner mste du skapa en "vimrc"-fil.
 
   1. Brja redigera "vimrc"-filen, detta beror p ditt system:
-	:edit ~/.vimrc			fr Unix
-	:edit $VIM/_vimrc		fr MS-Windows
+	:edit ~/.vimrc		fr Unix
+	:edit ~/_vimrc		fr MS-Windows
 
   2. Ls nu texten i exempel "vimrc"-filen:
 
--- a/runtime/tutor/tutor.sv.utf-8
+++ b/runtime/tutor/tutor.sv.utf-8
@@ -786,8 +786,8 @@ Notera: Detta undviker att behöva skriva  i , det sista tecknet, texten att
   standard. För att börja använda fler funktioner måste du skapa en "vimrc"-fil.
 
   1. Börja redigera "vimrc"-filen, detta beror på ditt system:
-	:edit ~/.vimrc			för Unix
-	:edit $VIM/_vimrc		för MS-Windows
+	:edit ~/.vimrc		för Unix
+	:edit ~/_vimrc		för MS-Windows
 
   2. Läs nu texten i exempel "vimrc"-filen:
 
--- a/runtime/tutor/tutor.tr.iso9
+++ b/runtime/tutor/tutor.tr.iso9
@@ -881,7 +881,7 @@ Not: Arama dosyann sonuna ulatnda dosyann bandan srecektir. Bunu
   1. "vimrc" dosyasn dzenlemeye balayn. letim sistemlerine gre:
 
     :e ~/.vimrc		Unix iin
-    :e $VIM/_vimrc	Windows iin
+    :e ~/_vimrc		Windows iin
 
   2. imdi rnek "vimrc" dosyas ieriini okuyun:
 
--- a/runtime/tutor/tutor.tr.utf-8
+++ b/runtime/tutor/tutor.tr.utf-8
@@ -881,7 +881,7 @@ Not: Arama dosyanın sonuna ulaştığında dosyanın başından sürecektir. Bunu
   1. "vimrc" dosyasını düzenlemeye başlayın. İşletim sistemlerine göre:
 
     :e ~/.vimrc		Unix için
-    :e $VIM/_vimrc	Windows için
+    :e ~/_vimrc		Windows için
 
   2. Şimdi örnek "vimrc" dosyası içeriğini okuyun:
 
--- a/runtime/tutor/tutor.uk.utf-8
+++ b/runtime/tutor/tutor.uk.utf-8
@@ -894,8 +894,8 @@
   файл "vimrc".
 
   1. Почніть редагування файлу "vimrc" .  Це залежить від вашої системи:
-        :e ~/.vimrc             для Unix
-        :e $VIM/_vimrc          для MS-Windows
+        :e ~/.vimrc          для Unix
+        :e ~/_vimrc          для MS-Windows
 
   2. Тепер прочитайте приклад вмісту "vimrc" :
         :r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.utf-8
+++ b/runtime/tutor/tutor.utf-8
@@ -881,11 +881,11 @@ NOTE:  If you want to ignore case for ju
 			  ** Enable Vim features **
 
   Vim has many more features than Vi, but most of them are disabled by
-  default.  To start using more features you have to create a "vimrc" file.
+  default.  To start using more features you should create a "vimrc" file.
 
   1. Start editing the "vimrc" file.  This depends on your system:
 	:e ~/.vimrc		for Unix
-	:e $VIM/_vimrc		for Windows
+	:e ~/_vimrc		for Windows
 
   2. Now read the example "vimrc" file contents:
 	:r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.vi.utf-8
+++ b/runtime/tutor/tutor.vi.utf-8
@@ -765,8 +765,8 @@ Chú ý: Lệnh này thay cho việc gõ  i , ký tự cuối cùng, văn bản muốn chèn,
   Để sử dụng các tính năng này bạn cần phải tạo một tập tin "vimrc".
 
   1. Soạn thảo tệp tin "vimrc", phụ thuộc vào hệ thống của bạn:
-	:edit ~/.vimrc			đối với Unix
-	:edit $VIM/_vimrc		đối với MS-Windows
+	:edit ~/.vimrc		đối với Unix
+	:edit ~/_vimrc		đối với MS-Windows
 
   2. Bây giờ đọc tập tin "vimrc" ví dụ:
 
--- a/runtime/tutor/tutor.zh.big5
+++ b/runtime/tutor/tutor.zh.big5
@@ -778,7 +778,7 @@ Open up a line above this by typing Shif
   1. }lsvimrcAoM_zҨϥΪާ@tΡJ
 
      :edit ~/.vimrc		oOUnixtΩҨϥΪRO
-     :edit $VIM/_vimrc		oOWindowstΩҨϥΪRO
+     :edit ~/_vimrc		oOWindowstΩҨϥΪRO
 
   2. ۾ɤJvimrcSҤJ
 
--- a/runtime/tutor/tutor.zh.euc
+++ b/runtime/tutor/tutor.zh.euc
@@ -883,7 +883,7 @@
 
   1. ʼ༭ vimrc ļȡʹõIJϵͳ
         :edit ~/.vimrc		 Unix ϵͳʹõ
-        :edit $VIM/_vimrc	 MS-Windows ϵͳʹõ
+        :edit ~/_vimrc		 MS-Windows ϵͳʹõ
 
   2. Ŷȡ vimrc ʾļݣ
         :r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.zh.utf-8
+++ b/runtime/tutor/tutor.zh.utf-8
@@ -778,7 +778,7 @@ Open up a line above this by typing Shif
   1. 開始編輯vimrc文件,這取決于您所使用的操作系統︰
 
      :edit ~/.vimrc		這是Unix系統所使用的命令
-     :edit $VIM/_vimrc		這是Windows系統所使用的命令
+     :edit ~/_vimrc		這是Windows系統所使用的命令
 
   2. 接著導入vimrc范例文件︰
 
--- a/runtime/tutor/tutor.zh_cn.utf-8
+++ b/runtime/tutor/tutor.zh_cn.utf-8
@@ -883,7 +883,7 @@
 
   1. 开始编辑 vimrc 文件,具体命令取决于您所使用的操作系统:
         :edit ~/.vimrc		这是 Unix 系统所使用的命令
-        :edit $VIM/_vimrc	这是 MS-Windows 系统所使用的命令
+        :edit ~/_vimrc		这是 MS-Windows 系统所使用的命令
 
   2. 接着读取 vimrc 示例文件的内容:
         :r $VIMRUNTIME/vimrc_example.vim
--- a/runtime/tutor/tutor.zh_tw.utf-8
+++ b/runtime/tutor/tutor.zh_tw.utf-8
@@ -778,7 +778,7 @@ Open up a line above this by typing Shif
   1. 開始編輯vimrc文件,這取決于您所使用的操作系統︰
 
      :edit ~/.vimrc		這是Unix系統所使用的命令
-     :edit $VIM/_vimrc		這是Windows系統所使用的命令
+     :edit ~/_vimrc		這是Windows系統所使用的命令
 
   2. 接著導入vimrc范例文件︰