diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index a29c5dd..dfd7dcb 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 8.2.  Last change: 2020 Dec 10
+*autocmd.txt*   For Vim version 8.2.  Last change: 2020 Dec 19
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -851,6 +851,8 @@
 				when it's used.  The pattern is matched
 				against the function name.  Both <amatch> and
 				<afile> are set to the name of the function.
+				Not triggered when compiling a |Vim9|
+				function.
 				NOTE: When writing Vim scripts a better
 				alternative is to use an autoloaded function.
 				See |autoload-functions|.
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index ab2219d..7f30e54 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt*   For Vim version 8.2.  Last change: 2020 Oct 23
+*editing.txt*   For Vim version 8.2.  Last change: 2020 Dec 19
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1033,7 +1033,7 @@
 lost the original file.
 
 						*DOS-format-write*
-If the 'fileformat' is "dos", <CR> <NL> is used for <EOL>.  This is default
+If the 'fileformat' is "dos", <CR><NL> is used for <EOL>.  This is default
 for Win32.  On other systems the message "[dos format]" is shown to remind you
 that an unusual <EOL> was used.
 						*Unix-format-write*
@@ -1419,8 +1419,8 @@
   the file.  It is also possible that you get an "out of memory" error when
   reading the file.
 - Make sure the 'binary' option is set BEFORE loading the
-  file.  Otherwise both <CR> <NL> and <NL> are considered to end a line
-  and when the file is written the <NL> will be replaced with <CR> <NL>.
+  file.  Otherwise both <CR><NL> and <NL> are considered to end a line
+  and when the file is written the <NL> will be replaced with <CR><NL>.
 - <Nul> characters are shown on the screen as ^@.  You can enter them with
   "CTRL-V CTRL-@" or "CTRL-V 000"
 - To insert a <NL> character in the file split a line.  When writing the
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 9e81832..4c6636c 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.2.  Last change: 2020 Dec 02
+*eval.txt*	For Vim version 8.2.  Last change: 2020 Dec 22
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4740,7 +4740,8 @@
 			:echo fnamemodify("main.c", ":p:h")
 <		results in: >
 			/home/mool/vim/vim/src
-<		Note: Environment variables don't work in {fname}, use
+<		If {mods} is empty then {fname} is returned.
+		Note: Environment variables don't work in {fname}, use
 		|expand()| first then.
 
 		Can also be used as a |method|: >
@@ -5143,7 +5144,10 @@
 		|xterm-bracketed-paste|.
 
 		There is no prompt, you will somehow have to make clear to the
-		user that a character has to be typed.
+		user that a character has to be typed.  The screen is not
+		redrawn, e.g. when resizing the window.  When using a popup
+		window it should work better with a |popup-filter|.
+
 		There is no mapping for the character.
 		Key codes are replaced, thus when the user presses the <Del>
 		key you get the code for the <Del> key, not the raw character
@@ -10842,6 +10846,8 @@
 		function or a |Funcref|.  It is called with one argument, which
 		is the timer ID.  The callback is only invoked when Vim is
 		waiting for input.
+		If you want to show a message look at |popup_notification()|
+		to avoid intefering with what the user is doing.
 
 		{options} is a dictionary.  Supported entries:
 		   "repeat"	Number of times to repeat calling the
diff --git a/runtime/doc/helphelp.txt b/runtime/doc/helphelp.txt
index 36e766e..c724923 100644
--- a/runtime/doc/helphelp.txt
+++ b/runtime/doc/helphelp.txt
@@ -1,4 +1,4 @@
-*helphelp.txt*	For Vim version 8.2.  Last change: 2020 Dec 05
+*helphelp.txt*	For Vim version 8.2.  Last change: 2020 Dec 19
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -92,9 +92,9 @@
 				:help k| only
 <			Note that a space before the '|' is seen as part of
 			the ":help" argument.
-			You can also use <LF> or <CR> to separate the help
+			You can also use <NL> or <CR> to separate the help
 			command from a following command.  You need to type
-			CTRL-V first to insert the <LF> or <CR>.  Example: >
+			CTRL-V first to insert the <NL> or <CR>.  Example: >
 				:help so<C-V><CR>only
 
 :h[elp]! [subject]	Like ":help", but in non-English help files prefer to
diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt
index adeaa16..c555dc2 100644
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -1,4 +1,4 @@
-*intro.txt*     For Vim version 8.2.  Last change: 2020 Aug 15
+*intro.txt*     For Vim version 8.2.  Last change: 2020 Dec 19
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -434,7 +434,7 @@
 <CSI>		command sequence intro  ALT-Esc 155	*<CSI>*
 <xCSI>		CSI when typed in the GUI		*<xCSI>*
 
-<EOL>		end-of-line (can be <CR>, <LF> or <CR><LF>,
+<EOL>		end-of-line (can be <CR>, <NL> or <CR><NL>,
 		depends on system and 'fileformat')	*<EOL>*
 
 <Up>		cursor-up			*cursor-up* *cursor_up*
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 239ecb2..db62f8a 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.2.  Last change: 2020 Oct 10
+*options.txt*	For Vim version 8.2.  Last change: 2020 Dec 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2801,6 +2801,7 @@
 	toggled each time the flag is given.  See |complex-change|.  See
 	also 'gdefault' option.
 	Switching this option on may break plugins!
+	This option is not used in |Vim9| script.
 
 					*'emoji'* *'emo'* *'noemoji'* *'noemo'*
 'emoji' 'emo'	boolean (default: on)
@@ -3121,7 +3122,7 @@
 			local to buffer
 	This gives the <EOL> of the current buffer, which is used for
 	reading/writing the buffer from/to a file:
-	    dos	    <CR> <NL>
+	    dos	    <CR><NL>
 	    unix    <NL>
 	    mac	    <CR>
 	When "dos" is used, CTRL-Z at the end of a file is ignored.
@@ -3570,6 +3571,7 @@
 	DEPRECATED: Setting this option may break plugins that are not aware
 	of this option.  Also, many users get confused that adding the /g flag
 	has the opposite effect of that it normally does.
+	This option is not used in |Vim9| script.
 
 						*'grepformat'* *'gfm'*
 'grepformat' 'gfm'	string	(default "%f:%l:%m,%f:%l%m,%f  %l%m")
@@ -4943,6 +4945,8 @@
 	Only switch it off when working with old Vi scripts.  In any other
 	situation write patterns that work when 'magic' is on.  Include "\M"
 	when you want to |/\M|.
+	In |Vim9| script the value of 'magic' is ignored, patterns behave like
+	it is always set.
 
 						*'makeef'* *'mef'*
 'makeef' 'mef'		string	(default: "")
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index 9014a42..971181c 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 8.2.  Last change: 2020 Sep 23
+*starting.txt*  For Vim version 8.2.  Last change: 2020 Dec 19
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -996,7 +996,7 @@
 
 MS-Windows line separators ~
 
-On MS-Windows, Vim assumes that all the vimrc files have <CR> <NL> pairs as
+On MS-Windows, Vim assumes that all the vimrc files have <CR><NL> pairs as
 line separators.  This will give problems if you have a file with only <NL>s
 and have a line like ":map xx yy^M".  The trailing ^M will be ignored.
 
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index ad61a8b..c171a20 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 8.2.  Last change: 2020 Dec 04
+*syntax.txt*	For Vim version 8.2.  Last change: 2020 Dec 17
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -66,8 +66,8 @@
 will start soon.  See |'go-M'| about avoiding that.
 
 							*:syn-on* *:syntax-on*
-The `:syntax enable` command will keep your current color settings.  This
-allows using `:highlight` commands to set your preferred colors before or
+The `:syntax enable` command will keep most of your current color settings.
+This allows using `:highlight` commands to set your preferred colors before or
 after using this command.  If you want Vim to overrule your settings with the
 defaults, use: >
 	:syntax on
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 4e58f65..18e3d98 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5151,10 +5151,13 @@
 VMS	os_vms.txt	/*VMS*
 Vi	intro.txt	/*Vi*
 View	starting.txt	/*View*
+Vim9	vim9.txt	/*Vim9*
 VimEnter	autocmd.txt	/*VimEnter*
 VimLeave	autocmd.txt	/*VimLeave*
 VimLeavePre	autocmd.txt	/*VimLeavePre*
 VimResized	autocmd.txt	/*VimResized*
+VimResume	autocmd.txt	/*VimResume*
+VimSuspend	autocmd.txt	/*VimSuspend*
 Vimball-copyright	pi_vimball.txt	/*Vimball-copyright*
 Virtual-Replace-mode	insert.txt	/*Virtual-Replace-mode*
 VisVim	if_ole.txt	/*VisVim*
@@ -10055,7 +10058,6 @@
 vim.vim	syntax.txt	/*vim.vim*
 vim7	version7.txt	/*vim7*
 vim8	version8.txt	/*vim8*
-vim9	vim9.txt	/*vim9*
 vim9-classes	vim9.txt	/*vim9-classes*
 vim9-const	vim9.txt	/*vim9-const*
 vim9-declaration	vim9.txt	/*vim9-declaration*
diff --git a/runtime/doc/tagsrch.txt b/runtime/doc/tagsrch.txt
index bab1a1c..f21bc94 100644
--- a/runtime/doc/tagsrch.txt
+++ b/runtime/doc/tagsrch.txt
@@ -1,4 +1,4 @@
-*tagsrch.txt*   For Vim version 8.2.  Last change: 2020 Apr 19
+*tagsrch.txt*   For Vim version 8.2.  Last change: 2020 Dec 19
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -556,7 +556,7 @@
 is the only format produced by traditional ctags implementations.  This is
 often used for functions that are global, also referenced in other files.
 
-The lines in the tags file can end in <LF> or <CR><LF>.  On the Macintosh <CR>
+The lines in the tags file can end in <NL> or <CR><NL>.  On the Macintosh <CR>
 also works.  The <CR> and <NL> characters can never appear inside a line.
 
 The second format is new.  It includes additional information in optional
diff --git a/runtime/doc/testing.txt b/runtime/doc/testing.txt
index 9644685..5be1890 100644
--- a/runtime/doc/testing.txt
+++ b/runtime/doc/testing.txt
@@ -1,4 +1,4 @@
-*testing.txt*	For Vim version 8.2.  Last change: 2020 Sep 06
+*testing.txt*	For Vim version 8.2.  Last change: 2020 Dec 12
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -308,8 +308,11 @@
 		first reported error: >
 			assert_fails('cmd', ['E987:.*expected bool'])
 <		The second pattern, if present, is matched against the last
-		reported error.  To only match the last error use an empty
-		string for the first error: >
+		reported error.
+		If there is only one error then both patterns must match. This
+		can be used to check that there is only one error.
+		To only match the last error use an empty string for the first
+		error: >
 			assert_fails('cmd', ['', 'E987:'])
 <
 		If {msg} is empty then it is not used.  Do this to get the
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 2e65918..7a87de0 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2020 Dec 10
+*todo.txt*      For Vim version 8.2.  Last change: 2020 Dec 22
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,6 +38,11 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Rewrite the section on "magic".  Say that 'magic' is normally on, then this
+happens...  If 'magic' is off, then this is different..
+
+test_vim9_cmd: uses uninitialized var
+
 Vim9 - Make everything work:
 - For an :autocmd and :command argument defined in Vim9 script, if a following
   line starts with "|" append it.  It's like line continuation. (#6702)
@@ -45,6 +50,7 @@
   a range from "a" to "b"?  To avoid confusion, require white space before
   (and after) the colon?  #7409
 - Implement "export {one, two three}".
+- Use "null" for v:null, like true and false?  #7495
 - ISN_CHECKTYPE could use check_argtype()
 - Using a script variable inside a :def function doesn't work if the variable
   is inside a block, see Test_nested_function().  Should it work?
@@ -62,6 +68,8 @@
 	map(list, SomeFunc)
 - For builtin functions using tv_get_string*() use check_for_string() to be
   more strict about the argument type.
+- Allow function names that will be script-local to start with lower case
+  letter?
 - Support passing v:none to use the default argument value. (#6504)
 - Make map() give an error if the resulting type of the first argument is
   wrong.  Only works if the type is known?  Is this slow (need to go over all
@@ -81,6 +89,7 @@
 - Using ".." at script level doesn't convert arguments to a string.
 - Compile replacement of :s command: s/pat/\=expr/
 - Compile redir to local variable: var_redir_start().
+- Implement type cast at the script level.
 - Compile builtin functions that access local variables:
     islocked()
 - When evaluating constants for script variables, some functions could work:
@@ -127,6 +136,10 @@
   stack?
 - Make profiling work - Add ISN_PROFILE instructions after every line?
 - List commands when 'verbose' is set or :verbose is used.
+Once Vim9 is stable:
+- Change the help to prefer Vim9 syntax where appropriate
+- Use Vim9 for runtime files.
+    PR #7497 for autoload/ccomplete.vim
 Further improvements:
 - compile options that are an expression, e.g. "expr:" in 'spellsuggest',
   'foldexpr', 'foldtext', 'printexpr', 'diffexpr', 'patchexpr', 'charconvert',
@@ -1273,9 +1286,6 @@
 about /S and /D options (Ken Takata, 2016 Apr 13)
 Or point to nightly builds: https://github.com/vim/vim-win32-installer/releases
 
-Problem passing non-UTF-8 strings to Python 3. (Björn Linse, 2016 Sep 11,
-#1053)  With patch, does it work?
-
 ":sbr" docs state it respects 'switchbuf', but "vsplit" does not cause a
 vertical split. (Haldean Brown, 2017 Mar 1)
 
@@ -3998,8 +4008,6 @@
     - if it can be undone (u/CTRL-R) and redone (.)
     - how it works for folded lines
     - how it works with multibyte characters
-9   In change.txt, remark about Javadoc isn't right.  Right alignment would
-    work too.
 8   Spread the windows commands over the other files.  For example, ":stag"
     should be with ":tag".  Cross-link with tags to avoid too much double
     text.
diff --git a/runtime/doc/usr_23.txt b/runtime/doc/usr_23.txt
index b124b34..def737c 100644
--- a/runtime/doc/usr_23.txt
+++ b/runtime/doc/usr_23.txt
@@ -1,4 +1,4 @@
-*usr_23.txt*	For Vim version 8.2.  Last change: 2006 Apr 24
+*usr_23.txt*	For Vim version 8.2.  Last change: 2020 Dec 19
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -28,9 +28,9 @@
 (carriage return, <CR>), another to move the paper up (line feed, <LF>).
    When computers came out, storage was expensive.  Some people decided that
 they did not need two characters for end-of-line.  The UNIX people decided
-they could use <Line Feed> only for end-of-line.  The Apple people
-standardized on <CR>.  The Microsoft Windows folks decided to keep
-the old <CR><LF>.
+they could use <New Line> or <NL> only for end-of-line.  The Apple people
+standardized on <CR>.  The Microsoft Windows folks decided to keep the old
+<CR><NL> (we use <NL> for line feed in the help text).
    This means that if you try to move a file from one system to another, you
 have line-break problems.  The Vim editor automatically recognizes the
 different file formats and handles things properly behind your back.
@@ -55,20 +55,20 @@
 
 The three names that Vim uses are:
 
-	unix		<LF>
-	dos		<CR><LF>
+	unix		<NL>
+	dos		<CR><NL>
 	mac		<CR>
 
 
 USING THE MAC FORMAT
 
-On Unix, <LF> is used to break a line.  It's not unusual to have a <CR>
+On Unix, <NL> is used to break a line.  It's not unusual to have a <CR>
 character halfway a line.  Incidentally, this happens quite often in Vi (and
 Vim) scripts.
    On the Macintosh, where <CR> is the line break character, it's possible to
-have a <LF> character halfway a line.
+have a <NL> character halfway a line.
    The result is that it's not possible to be 100% sure whether a file
-containing both <CR> and <LF> characters is a Mac or a Unix file.  Therefore,
+containing both <CR> and <NL> characters is a Mac or a Unix file.  Therefore,
 Vim assumes that on Unix you probably won't edit a Mac file, and doesn't check
 for this type of file.  To check for this format anyway, add "mac" to
 'fileformats': >
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index 126dbc4..a19d005 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt*	For Vim version 8.2.  Last change: 2020 Nov 09
+*usr_41.txt*	For Vim version 8.2.  Last change: 2020 Dec 19
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -1765,7 +1765,7 @@
 elsewhere, but form a nice checklist.
 
 The end-of-line character depends on the system.  For Unix a single <NL>
-character is used.  For MS-Windows and the like, <CR><LF> is used.  This is
+character is used.  For MS-Windows and the like, <CR><NL> is used.  This is
 important when using mappings that end in a <CR>.  See |:source_crnl|.
 
 
diff --git a/runtime/doc/version5.txt b/runtime/doc/version5.txt
index 803d743..2b44cbd 100644
--- a/runtime/doc/version5.txt
+++ b/runtime/doc/version5.txt
@@ -1,4 +1,4 @@
-*version5.txt*  For Vim version 8.2.  Last change: 2020 Sep 02
+*version5.txt*  For Vim version 8.2.  Last change: 2020 Dec 19
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -805,7 +805,7 @@
 Unix: Besides using CTRL-C, also use the INTR character from the tty settings.
 Somebody has INTR set to DEL.
 
-Allow a <LF> in a ":help" command argument to end the help command, so another
+Allow a <NL> in a ":help" command argument to end the help command, so another
 command can follow.
 
 Doing "%" on a line that starts with "   #if" didn't jump to matching "#else".
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index 1872b82..9458ad9 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt*	For Vim version 8.2.  Last change: 2020 Dec 05
+*vim9.txt*	For Vim version 8.2.  Last change: 2020 Dec 23
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -6,7 +6,7 @@
 
 THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
 
-Vim9 script commands and expressions.			*vim9*
+Vim9 script commands and expressions.			*Vim9*
 
 Most expression help is in |eval.txt|.  This file is about the new syntax and
 features in Vim9 script.
@@ -134,7 +134,7 @@
 `:def` has no options like `:function` does: "range", "abort", "dict" or
 "closure".  A `:def` function always aborts on an error (unless `:silent!` was
 used for the command or inside a `:try` block), does not get a range passed
-and cannot be a "dict" function.
+cannot be a "dict" function, and can always be a closure.
 
 The argument types and return type need to be specified.  The "any" type can
 be used, type checking will then be done at runtime, like with legacy
@@ -187,6 +187,11 @@
 Vim9 script script-local functions are defined once when the script is sourced
 and cannot be deleted or replaced.
 
+When compiling a function and a function call is encountered for a function
+that is not (yet) defined, the |FuncUndefined| autocommand is not triggered.
+You can use an autoload function if needed, or call a legacy function and have
+|FuncUndefined| triggered there.
+
 
 Variable declarations with :var, :final and :const ~
 						*vim9-declaration* *:var*
@@ -399,6 +404,16 @@
 		separator = '-'
 		): string
 
+Since a continuation line cannot be easily recognized the parsing of commands
+has been made sticter.  E.g., because of the error in the first line, the
+second line is seen as a separate command: >
+	popup_create(some invalid expression, {
+	   exit_cb: Func})
+Now "exit_cb: Func})" is actually a valid command: save any changes to the
+file "_cb: Func})" and exit.  To avoid this kind of mistake in Vim9 script
+there must be white space between most command names and the argument.
+
+
 Notes:
 - "enddef" cannot be used at the start of a continuation line, it ends the
   current function.
@@ -626,6 +641,13 @@
 	  if has('feature') | use-feature | endif
 	enddef
 
+Other differences ~
+
+Patterns are used like 'magic' is set, unless explicitly overruled.
+The 'edcompatible' option value is not used.
+The 'gdefault' option value is not used.
+
+
 ==============================================================================
 
 3. New style functions					*fast-functions*
@@ -795,12 +817,14 @@
 This can be a problem when the "any" type is undesired and the actual type is
 expected to always be the same.  For example, when declaring a list: >
 	var l: list<number> = [1, g:two]
-This will give an error, because "g:two" has type "any".  To avoid this, use a
-type cast: >
+At compile time Vim doesn't know the type of "g:two" and the expression type
+becomes list<any>.  An instruction is generated to check the list type before
+doing the assignment, which is a bit inefficient.
+							*type-casting*
+To avoid this, use a type cast: >
 	var l: list<number> = [1, <number>g:two]
-<							*type-casting*
-The compiled code will then check that "g:two" is a number at runtime and give
-an error if it isn't.  This is called type casting.
+The compiled code will then only check that "g:two" is a number and give an
+error if it isn't.  This is called type casting.
 
 The syntax of a type cast is:  "<" {type} ">".  There cannot be white space
 after the "<" or before the ">" (to avoid them being confused with
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index 2a1c10b..0e0d9d5 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 8.2.  Last change: 2020 Nov 07
+*windows.txt*   For Vim version 8.2.  Last change: 2020 Dec 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -205,11 +205,6 @@
 		This behaves like a ":split" first, and then an ":enew"
 		command.
 
-:[N]vne[w] [++opt] [+cmd] [file]			*:vne* *:vnew*
-		Like |:new|, but split vertically.  If 'equalalways' is set
-		and 'eadirection' isn't "ver" the windows will be spread out
-		horizontally, unless a width was specified.
-
 :[N]new [++opt] [+cmd] {file}
 :[N]sp[lit] [++opt] [+cmd] {file}			*:split_f*
 		Create a new window and start editing file {file} in it.  This
@@ -221,6 +216,11 @@
 		height).  Reduces the current window height to create room
 		(and others, if the 'equalalways' option is set).
 
+:[N]vne[w] [++opt] [+cmd] [file]			*:vne* *:vnew*
+		Like |:new|, but split vertically.  If 'equalalways' is set
+		and 'eadirection' isn't "ver" the windows will be spread out
+		horizontally, unless a width was specified.
+
 :[N]sv[iew] [++opt] [+cmd] [file]		*:sv* *:sview* *splitview*
 		Same as ":split", but set 'readonly' option for this buffer.
 
