changeset 16553:0e473e9e70c2 v8.1.1280

patch 8.1.1280: remarks about functionality not in Vi clutters the help commit https://github.com/vim/vim/commit/25c9c680ec4dfbb51f4ef21c3460a48d3c67ffc8 Author: Bram Moolenaar <Bram@vim.org> Date: Sun May 5 18:13:34 2019 +0200 patch 8.1.1280: remarks about functionality not in Vi clutters the help Problem: Remarks about functionality not in Vi clutters the help. Solution: Move all info about what is new in Vim or already existed in Vi to vi_diff.txt. Remove {not in Vi} remarks. (closes #4268) Add "noet" to the help files modeline. Also include many other help file improvements.
author Bram Moolenaar <Bram@vim.org>
date Sun, 05 May 2019 18:15:06 +0200
parents deb3d4f5be8b
children 46b6265c641e
files runtime/doc/arabic.txt runtime/doc/autocmd.txt runtime/doc/change.txt runtime/doc/channel.txt runtime/doc/cmdline.txt runtime/doc/debugger.txt runtime/doc/diff.txt runtime/doc/digraph.txt runtime/doc/editing.txt runtime/doc/eval.txt runtime/doc/farsi.txt runtime/doc/filetype.txt runtime/doc/fold.txt runtime/doc/gui.txt runtime/doc/gui_w32.txt runtime/doc/gui_x11.txt runtime/doc/hebrew.txt runtime/doc/helphelp.txt runtime/doc/if_cscop.txt runtime/doc/if_lua.txt runtime/doc/if_mzsch.txt runtime/doc/if_ole.txt runtime/doc/if_perl.txt runtime/doc/if_pyth.txt runtime/doc/if_ruby.txt runtime/doc/if_tcl.txt runtime/doc/index.txt runtime/doc/insert.txt runtime/doc/intro.txt runtime/doc/map.txt runtime/doc/mbyte.txt runtime/doc/message.txt runtime/doc/mlang.txt runtime/doc/motion.txt runtime/doc/netbeans.txt runtime/doc/options.txt runtime/doc/os_mac.txt runtime/doc/pattern.txt runtime/doc/pi_gzip.txt runtime/doc/pi_netrw.txt runtime/doc/print.txt runtime/doc/quickfix.txt runtime/doc/quickref.txt runtime/doc/remote.txt runtime/doc/repeat.txt runtime/doc/rileft.txt runtime/doc/scroll.txt runtime/doc/sign.txt runtime/doc/spell.txt runtime/doc/starting.txt runtime/doc/tabpage.txt runtime/doc/tags runtime/doc/tagsrch.txt runtime/doc/terminal.txt runtime/doc/textprop.txt runtime/doc/todo.txt runtime/doc/undo.txt runtime/doc/usr_21.txt runtime/doc/usr_22.txt runtime/doc/various.txt runtime/doc/vi_diff.txt runtime/doc/visual.txt runtime/doc/windows.txt src/version.c
diffstat 64 files changed, 755 insertions(+), 751 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/arabic.txt
+++ b/runtime/doc/arabic.txt
@@ -1,4 +1,4 @@
-*arabic.txt*	For Vim version 8.1.  Last change: 2010 Nov 13
+*arabic.txt*	For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL	  by Nadim Shaikli
@@ -6,7 +6,6 @@
 
 Arabic Language support (options & mappings) for Vim		*Arabic*
 
-{Vi does not have any of these commands}
 
 								*E800*
 In order to use right-to-left and Arabic mapping support, it is
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 8.1.  Last change: 2019 Apr 27
+*autocmd.txt*   For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -20,7 +20,6 @@ 9.  Executing autocommands	|autocmd-exec
 10. Using autocommands		|autocmd-use|
 11. Disabling autocommands	|autocmd-disable|
 
-{Vi does not have any of these commands}
 
 ==============================================================================
 1. Introduction						*autocmd-intro*
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 8.1.  Last change: 2019 Feb 05
+*change.txt*    For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -34,7 +34,7 @@ 1. Deleting text					*deleting* *E470*
 			deletes the last character of the count.
 			See |:fixdel| if the <Del> key does not do what you
 			want.  See |'whichwrap'| for deleting a line break
-			(join lines).  {Vi does not support <Del>}
+			(join lines).
 
 							*X* *dh*
 ["x]X			Delete [count] characters before the cursor [into
@@ -59,7 +59,7 @@ 1. Deleting text					*deleting* *E470*
 {Visual}["x]x	or					*v_x* *v_d* *v_<Del>*
 {Visual}["x]d   or
 {Visual}["x]<Del>	Delete the highlighted text [into register x] (for
-			{Visual} see |Visual-mode|).  {not in Vi}
+			{Visual} see |Visual-mode|).
 
 {Visual}["x]CTRL-H   or					*v_CTRL-H* *v_<BS>*
 {Visual}["x]<BS>	When in Select mode: Delete the highlighted text [into
@@ -69,7 +69,7 @@ 1. Deleting text					*deleting* *E470*
 {Visual}["x]D		Delete the highlighted lines [into register x] (for
 			{Visual} see |Visual-mode|).  In Visual block mode,
 			"D" deletes the highlighted text plus all text until
-			the end of the line.  {not in Vi}
+			the end of the line.
 
 					*:d* *:de* *:del* *:delete* *:dl* *:dp*
 :[range]d[elete] [x]	Delete [range] lines (default: current line) [into
@@ -116,16 +116,15 @@ J			Join [count] lines, with a minimum o
 							*v_J*
 {Visual}J		Join the highlighted lines, with a minimum of two
 			lines.  Remove the indent and insert up to two spaces
-			(see below).  {not in Vi}
+			(see below).
 
 							*gJ*
 gJ			Join [count] lines, with a minimum of two lines.
-			Don't insert or remove any spaces.  {not in Vi}
+			Don't insert or remove any spaces.
 
 							*v_gJ*
 {Visual}gJ		Join the highlighted lines, with a minimum of two
-			lines.  Don't insert or remove any spaces.  {not in
-			Vi}
+			lines.  Don't insert or remove any spaces.
 
 							*:j* *:join*
 :[range]j[oin][!] [flags]
@@ -134,7 +133,6 @@ gJ			Join [count] lines, with a minimum 
 			If a [range] has equal start and end values, this
 			command does nothing.  The default behavior is to
 			join the current line with the line below it.
-			{not in Vi: !}
 			See |ex-flags| for [flags].
 
 :[range]j[oin][!] {count} [flags]
@@ -142,7 +140,6 @@ gJ			Join [count] lines, with a minimum 
 			current line |cmdline-ranges|).  Same as "J", except
 			with [!] the join does not insert or delete any
 			spaces.
-			{not in Vi: !}
 			See |ex-flags| for [flags].
 
 These commands delete the <EOL> between lines.  This has the effect of joining
@@ -209,8 +206,7 @@ gR			Enter Virtual Replace mode: Each ch
 
 {Visual}["x]c	or					*v_c* *v_s*
 {Visual}["x]s		Delete the highlighted text [into register x] and
-			start insert (for {Visual} see |Visual-mode|).  {not
-			in Vi}
+			start insert (for {Visual} see |Visual-mode|).
 
 							*v_r*
 {Visual}["x]r{char}	Replace all selected characters by {char}.
@@ -218,14 +214,13 @@ gR			Enter Virtual Replace mode: Each ch
 							*v_C*
 {Visual}["x]C		Delete the highlighted lines [into register x] and
 			start insert.  In Visual block mode it works
-			differently |v_b_C|.  {not in Vi}
+			differently |v_b_C|.
 							*v_S*
 {Visual}["x]S		Delete the highlighted lines [into register x] and
-			start insert (for {Visual} see |Visual-mode|).  {not
-			in Vi}
+			start insert (for {Visual} see |Visual-mode|).
 							*v_R*
 {Visual}["x]R		Currently just like {Visual}["x]S.  In a next version
-			it might work differently. {not in Vi}
+			it might work differently.
 
 Notes:
 - You can end Insert and Replace mode with <Esc>.
@@ -322,21 +317,21 @@ The following commands change the case o
 			tilde cannot be used as an operator}
 
 							*g~*
-g~{motion}		Switch case of {motion} text. {not in Vi}
+g~{motion}		Switch case of {motion} text.
 
 g~g~							*g~g~* *g~~*
-g~~			Switch case of current line. {not in Vi}.
+g~~			Switch case of current line.
 
 							*v_~*
 {Visual}~		Switch case of highlighted text (for {Visual} see
-			|Visual-mode|). {not in Vi}
+			|Visual-mode|).
 
 							*v_U*
 {Visual}U		Make highlighted text uppercase (for {Visual} see
-			|Visual-mode|). {not in Vi}
+			|Visual-mode|).
 
 							*gU* *uppercase*
-gU{motion}		Make {motion} text uppercase. {not in Vi}
+gU{motion}		Make {motion} text uppercase.
 			Example: >
 				:map! <C-F> <Esc>gUiw`]a
 <			This works in Insert mode: press CTRL-F to make the
@@ -345,27 +340,27 @@ gU{motion}		Make {motion} text uppercase
 
 
 gUgU							*gUgU* *gUU*
-gUU			Make current line uppercase. {not in Vi}.
+gUU			Make current line uppercase.
 
 							*v_u*
 {Visual}u		Make highlighted text lowercase (for {Visual} see
-			|Visual-mode|).  {not in Vi}
+			|Visual-mode|).
 
 							*gu* *lowercase*
-gu{motion}		Make {motion} text lowercase. {not in Vi}
+gu{motion}		Make {motion} text lowercase.
 
 gugu							*gugu* *guu*
-guu			Make current line lowercase. {not in Vi}.
+guu			Make current line lowercase.
 
 							*g?* *rot13*
-g?{motion}		Rot13 encode {motion} text. {not in Vi}
+g?{motion}		Rot13 encode {motion} text.
 
 							*v_g?*
 {Visual}g?		Rot13 encode the highlighted text (for {Visual} see
-			|Visual-mode|).  {not in Vi}
+			|Visual-mode|).
 
 g?g?							*g?g?* *g??*
-g??			Rot13 encode current line. {not in Vi}.
+g??			Rot13 encode current line.
 
 To turn one line into title caps, make every first letter of a word
 uppercase: >
@@ -375,18 +370,18 @@ uppercase: >
 Adding and subtracting ~
 							*CTRL-A*
 CTRL-A			Add [count] to the number or alphabetic character at
-			or after the cursor.  {not in Vi}
+			or after the cursor.
 
 							*v_CTRL-A*
 {Visual}CTRL-A		Add [count] to the number or alphabetic character in
-			the highlighted text.  {not in Vi}
+			the highlighted text.
 
 							*v_g_CTRL-A*
 {Visual}g CTRL-A	Add [count] to the number or alphabetic character in
 			the highlighted text. If several lines are
 		        highlighted, each one will be incremented by an
 			additional [count] (so effectively creating a
-			[count] incrementing sequence).  {not in Vi}
+			[count] incrementing sequence).
 			For Example, if you have this list of numbers:
 				1. ~
 				1. ~
@@ -401,11 +396,11 @@ CTRL-A			Add [count] to the number or al
 
 							*CTRL-X*
 CTRL-X			Subtract [count] from the number or alphabetic
-			character at or after the cursor.  {not in Vi}
+			character at or after the cursor.
 
 							*v_CTRL-X*
 {Visual}CTRL-X		Subtract [count] from the number or alphabetic
-			character in the highlighted text.  {not in Vi}
+			character in the highlighted text.
 
 			On MS-Windows, this is mapped to cut Visual text
 			|dos-standard-mappings|.  If you want to disable the
@@ -417,7 +412,7 @@ CTRL-X			Subtract [count] from the numbe
 			character in the highlighted text. If several lines
 			are highlighted, each value will be decremented by an
 			additional [count] (so effectively creating a [count]
-			decrementing sequence).  {not in Vi}
+			decrementing sequence).
 
 The CTRL-A and CTRL-X commands can work for:
 - signed and unsigned decimal numbers
@@ -485,8 +480,7 @@ SHIFTING LINES LEFT OR RIGHT				*shift-l
 
 							*v_<*
 {Visual}[count]<	Shift the highlighted lines [count] 'shiftwidth'
-			leftwards (for {Visual} see |Visual-mode|).  {not in
-			Vi}
+			leftwards (for {Visual} see |Visual-mode|).
 
 							*>*
  >{motion}		Shift {motion} lines one 'shiftwidth' rightwards.
@@ -500,8 +494,7 @@ SHIFTING LINES LEFT OR RIGHT				*shift-l
 
 							*v_>*
 {Visual}[count]>	Shift the highlighted lines [count] 'shiftwidth'
-			rightwards (for {Visual} see |Visual-mode|).  {not in
-			Vi}
+			rightwards (for {Visual} see |Visual-mode|).
 
 							*:<*
 :[range]<		Shift [range] lines one 'shiftwidth' left.  Repeat '<'
@@ -512,7 +505,7 @@ SHIFTING LINES LEFT OR RIGHT				*shift-l
 			Repeat '<' for shifting multiple 'shiftwidth's.
 
 :[range]le[ft] [indent]	left align lines in [range].  Sets the indent in the
-			lines to [indent] (default 0).  {not in Vi}
+			lines to [indent] (default 0).
 
 							*:>*
 :[range]> [flags]	Shift {count} [range] lines one 'shiftwidth' right.
@@ -579,7 +572,6 @@ comment (starting with '"') after the `:
 							*v_!*
 {Visual}!{filter}	Filter the highlighted lines through the external
 			program {filter} (for {Visual} see |Visual-mode|).
-			{not in Vi}
 
 :{range}![!]{filter} [!][arg]				*:range!*
 			Filter {range} lines through the external program
@@ -613,7 +605,6 @@ comment (starting with '"') after the `:
 
 							*v_=*
 {Visual}=		Filter the highlighted lines like with ={motion}.
-			{not in Vi}
 
 
 						*tempfile* *setuid*
@@ -678,15 +669,13 @@ g&			Synonym for `:%s//~/&` (repeat last
 			For example, when you first do a substitution with
 			`:s/pattern/repl/flags` and then `/search` for
 			something else, `g&` will do `:%s/search/repl/flags`.
-			Mnemonic: global substitute. {not in Vi}
+			Mnemonic: global substitute.
 
 						*:snomagic* *:sno*
 :[range]sno[magic] ...	Same as `:substitute`, but always use 'nomagic'.
-			{not in Vi}
 
 						*:smagic* *:sm*
 :[range]sm[agic] ...	Same as `:substitute`, but always use 'magic'.
-			{not in Vi}
 
 							*:s_flags*
 The flags that you can use for the substitute commands:
@@ -697,7 +686,6 @@ The flags that you can use for the subst
 		:&&
 		:s/this/that/&
 <	Note that `:s` and `:&` don't keep the flags.
-	{not in Vi}
 
 [c]	Confirm each substitution.  Vim highlights the matching string (with
 	|hl-IncSearch|).  You can type:				*:s_c*
@@ -705,16 +693,15 @@ The flags that you can use for the subst
 	    'l'	    to substitute this match and then quit ("last")
 	    'n'	    to skip this match
 	    <Esc>   to quit substituting
-	    'a'	    to substitute this and all remaining matches {not in Vi}
-	    'q'	    to quit substituting {not in Vi}
-	    CTRL-E  to scroll the screen up {not in Vi, not available when
-			compiled without the |+insert_expand| feature}
-	    CTRL-Y  to scroll the screen down {not in Vi, not available when
-			compiled without the |+insert_expand| feature}
+	    'a'	    to substitute this and all remaining matches
+	    'q'	    to quit substituting
+	    CTRL-E  to scroll the screen up {not available when compiled
+		       without the |+insert_expand| feature}
+	    CTRL-Y  to scroll the screen down {not available when compiled
+		       without the |+insert_expand| feature}
 	If the 'edcompatible' option is on, Vim remembers the [c] flag and
 	toggles it each time you use it, but resets it when you give a new
 	search pattern.
-	{not in Vi: highlighting of the match, other responses than 'y' or 'n'}
 
 							*:s_e*
 [e]     When the search pattern fails, do not issue an error message and, in
@@ -726,7 +713,6 @@ The flags that you can use for the subst
 		No previous substitute regular expression
 		Trailing characters
 		Interrupted
-	{not in Vi}
 
 							*:s_g*
 [g]	Replace all occurrences in the line.  Without this argument,
@@ -739,12 +725,10 @@ The flags that you can use for the subst
 							*:s_i*
 [i]	Ignore case for the pattern.  The 'ignorecase' and 'smartcase' options
 	are not used.
-	{not in Vi}
 
 							*:s_I*
 [I]	Don't ignore case for the pattern.  The 'ignorecase' and 'smartcase'
 	options are not used.
-	{not in Vi}
 
 							*:s_n*
 [n]	Report the number of matches, do not actually substitute.  The [c]
@@ -776,7 +760,6 @@ The flags that you can use for the subst
 		/green
 		:&
 <	The last command will replace "blue" with "red".
-	{not in Vi}
 
 Note that there is no flag to change the "magicness" of the pattern.  A
 different command is used instead, or you can use |/\v| and friends.  The
@@ -1002,7 +985,6 @@ 4.4 Changing tabs					*change-tabs*
 			a single tabstop.  Each value in the list represents
 			the width of one tabstop, except the final value which
 			applies to all following tabstops.
-			{not in Vi}
 
 							*retab-example*
 Example for using autocommands and ":retab" to edit a file which is stored
@@ -1026,17 +1008,16 @@ 5. Copying and moving text				*copy-move
 :reg[isters]		Display the contents of all numbered and named
 			registers.  If a register is written to for |:redir|
 			it will not be listed.
-			{not in Vi}
 
 
 :reg[isters] {arg}	Display the contents of the numbered and named
 			registers that are mentioned in {arg}.  For example: >
 				:reg 1a
 <			to display registers '1' and 'a'.  Spaces are allowed
-			in {arg}.  {not in Vi}
+			in {arg}.
 
 							*:di* *:display*
-:di[splay] [arg]	Same as :registers.  {not in Vi}
+:di[splay] [arg]	Same as :registers.
 
 							*y* *yank*
 ["x]y{motion}		Yank {motion} text [into register x].  When no
@@ -1055,11 +1036,11 @@ 5. Copying and moving text				*copy-move
 
 							*v_y*
 {Visual}["x]y		Yank the highlighted text [into register x] (for
-			{Visual} see |Visual-mode|).  {not in Vi}
+			{Visual} see |Visual-mode|).
 
 							*v_Y*
 {Visual}["x]Y		Yank the highlighted lines [into register x] (for
-			{Visual} see |Visual-mode|).  {not in Vi}
+			{Visual} see |Visual-mode|).
 
 							*:y* *:yank* *E850*
 :[range]y[ank] [x]	Yank [range] lines [into register x]. Yanking to the
@@ -1086,7 +1067,6 @@ 5. Copying and moving text				*copy-move
 			Leaves the cursor at the end of the new text.
 			Using the mouse only works when 'mouse' contains 'n'
 			or 'a'.
-			{not in Vi}
 			If you have a scrollwheel and often accidentally paste
 			text, you can use these mappings to disable the
 			pasting with the middle mouse button: >
@@ -1097,11 +1077,11 @@ 5. Copying and moving text				*copy-move
 
 							*gp*
 ["x]gp			Just like "p", but leave the cursor just after the new
-			text.  {not in Vi}
+			text.
 
 							*gP*
 ["x]gP			Just like "P", but leave the cursor just after the new
-			text.  {not in Vi}
+			text.
 
 							*:pu* *:put*
 :[line]pu[t] [x]	Put the text [from register x] after [line] (default
@@ -1129,14 +1109,14 @@ 5. Copying and moving text				*copy-move
 ["x]]p		    or					*]p* *]<MiddleMouse>*
 ["x]]<MiddleMouse>	Like "p", but adjust the indent to the current line.
 			Using the mouse only works when 'mouse' contains 'n'
-			or 'a'.  {not in Vi}
+			or 'a'.
 
 ["x][P		    or					*[P*
 ["x]]P		    or					*]P*
 ["x][p		    or					*[p* *[<MiddleMouse>*
 ["x][<MiddleMouse>	Like "P", but adjust the indent to the current line.
 			Using the mouse only works when 'mouse' contains 'n'
-			or 'a'.  {not in Vi}
+			or 'a'.
 
 You can use these commands to copy text from one place to another.  Do this
 by first getting the text into a register with a yank, delete or change
@@ -1246,7 +1226,6 @@ not exist}
 3. Small delete register "-				*quote_-* *quote-*
 This register contains text from commands that delete less than one line,
 except when the command specifies a register with ["x].
-{not in Vi}
 
 4. Named registers "a to "z or "A to "Z			*quote_alpha* *quotea*
 Vim fills these registers only when you say so.  Specify them as lowercase
@@ -1256,7 +1235,7 @@ a line break is inserted before the appe
 
 5. Read-only registers ":, ". and "%
 These are '%', '#', ':' and '.'.  You can use them only with the "p", "P",
-and ":put" commands and with CTRL-R.  {not in Vi}
+and ":put" commands and with CTRL-R.
 						*quote_.* *quote.* *E29*
 	".	Contains the last inserted text (the same as what is inserted
 		with the insert mode commands CTRL-A and CTRL-@).  Note: this
@@ -1310,13 +1289,13 @@ an error message (use string() to conver
 
 If the "= register is used for the "p" command, the String is split up at <NL>
 characters.  If the String ends in a <NL>, it is regarded as a linewise
-register.  {not in Vi}
+register.
 
 8. Selection and drop registers "*, "+ and "~ 
 Use these registers for storing and retrieving the selected text for the GUI.
 See |quotestar| and |quoteplus|.  When the clipboard is not available or not
 working, the unnamed register is used instead.  For Unix systems the clipboard
-is only available when the |+xterm_clipboard| feature is present.  {not in Vi}
+is only available when the |+xterm_clipboard| feature is present.
 
 Note that there is only a distinction between "* and "+ for X11 systems.  For
 an explanation of the difference, see |x11-selection|.  Under MS-Windows, use
@@ -1327,7 +1306,7 @@ The read-only "~ register stores the dro
 operation.  When something has been dropped onto Vim, the "~ register is
 filled in and the <Drop> pseudo key is sent for notification.  You can remap
 this key if you want; the default action (for all modes) is to insert the
-contents of the "~ register at the cursor position.  {not in Vi}
+contents of the "~ register at the cursor position.
 {only available when compiled with the |+dnd| feature, currently only with the
 GTK GUI}
 
@@ -1337,7 +1316,7 @@ Drag'n'drop of URI lists is handled inte
 9. Black hole register "_				*quote_*
 When writing to this register, nothing happens.  This can be used to delete
 text without affecting the normal registers.  When reading from this register,
-nothing is returned.  {not in Vi}
+nothing is returned.
 
 10. Last search pattern register	"/			*quote_/* *quote/*
 Contains the most recent search-pattern.  This is used for "n" and 'hlsearch'.
@@ -1346,7 +1325,6 @@ other matches without actually searching
 register.  The search direction is available in |v:searchforward|.
 Note that the value is restored when returning from a function
 |function-search-undo|.
-{not in Vi}
 
 							*@/*
 You can write to a register with a `:let` command |:let-@|.  Example: >
@@ -1377,17 +1355,15 @@ 6. Formatting text					*formatting*
 :[range]ce[nter] [width]				*:ce* *:center*
 			Center lines in [range] between [width] columns
 			(default 'textwidth' or 80 when 'textwidth' is 0).
-			{not in Vi}
 
 :[range]ri[ght] [width]					*:ri* *:right*
 			Right-align lines in [range] at [width] columns
 			(default 'textwidth' or 80 when 'textwidth' is 0).
-			{not in Vi}
 
 							*:le* *:left*
 :[range]le[ft] [indent]
 			Left-align lines in [range].  Sets the indent in the
-			lines to [indent] (default 0).  {not in Vi}
+			lines to [indent] (default 0).
 
 							*gq*
 gq{motion}		Format the lines that {motion} moves over.
@@ -1414,24 +1390,24 @@ gq{motion}		Format the lines that {motio
 
 gqgq							*gqgq* *gqq*
 gqq			Format the current line.  With a count format that
-			many lines.  {not in Vi}
+			many lines.
 
 							*v_gq*
 {Visual}gq		Format the highlighted text.  (for {Visual} see
-			|Visual-mode|).  {not in Vi}
+			|Visual-mode|).
 
 							*gw*
 gw{motion}		Format the lines that {motion} moves over.  Similar to
 			|gq| but puts the cursor back at the same position in
 			the text.  However, 'formatprg' and 'formatexpr' are
-			not used.  {not in Vi}
+			not used.
 
 gwgw							*gwgw* *gww*
-gww			Format the current line as with "gw".  {not in Vi}
+gww			Format the current line as with "gw".
 
 							*v_gw*
 {Visual}gw		Format the highlighted text as with "gw".  (for
-			{Visual} see |Visual-mode|).  {not in Vi}
+			{Visual} see |Visual-mode|).
 
 Example: To format the current paragraph use:			*gqap*  >
 	gqap
--- a/runtime/doc/channel.txt
+++ b/runtime/doc/channel.txt
@@ -1,4 +1,4 @@
-*channel.txt*      For Vim version 8.1.  Last change: 2019 Mar 21
+*channel.txt*      For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -24,7 +24,6 @@ 10. Job options				|job-options|
 11. Controlling a job			|job-control|
 12. Using a prompt buffer		|prompt-buffer|
 
-{Vi does not have any of these features}
 {only when compiled with the |+channel| feature for channel stuff}
 	You can check this with: `has('channel')`
 {only when compiled with the |+job| feature for job stuff}
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt*   For Vim version 8.1.  Last change: 2018 May 14
+*cmdline.txt*   For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -66,7 +66,6 @@ Notes:
 - All searches are put in the search history, including the ones that come
   from commands like "*" and "#".  But for a mapping, only the last search is
   remembered (to avoid that long mappings trash the history).
-{Vi: no history}
 {not available when compiled without the |+cmdline_hist| feature}
 
 There is an automatic completion of names on the command-line; see
@@ -124,12 +123,12 @@ CTRL-U		Remove all characters between th
 			:cnoremap <C-U> <C-E><C-U>
 <
 						*c_<Insert>* *c_Insert*
-<Insert>	Toggle between insert and overstrike.  {not in Vi}
+<Insert>	Toggle between insert and overstrike.
 
 {char1} <BS> {char2}	or				*c_digraph*
 CTRL-K {char1} {char2}					*c_CTRL-K*
 		enter digraph (see |digraphs|).  When {char1} is a special
-		key, the code for that key is inserted in <> form.  {not in Vi}
+		key, the code for that key is inserted in <> form.
 
 CTRL-R {0-9a-z"%#:-=.}					*c_CTRL-R* *c_<C-R>*
 		Insert the contents of a numbered or named register.  Between
@@ -165,7 +164,7 @@ CTRL-R {0-9a-z"%#:-=.}					*c_CTRL-R* *c
 				too.
 				When the result is a Float it's automatically
 				converted to a String.
-		See |registers| about registers.  {not in Vi}
+		See |registers| about registers.
 		Implementation detail: When using the |expression| register
 		and invoking setcmdpos(), this sets the position before
 		inserting the resulting string.  Use CTRL-R CTRL-R to set the
@@ -188,7 +187,6 @@ CTRL-R CTRL-L				*c_CTRL-R_CTRL-L* *c_<C
 		currently displayed match is used.  With CTRL-W the part of
 		the word that was already typed is not inserted again.
 
-		{not in Vi}
 		CTRL-F and CTRL-P: {only when |+file_in_path| feature is
 		included}
 
@@ -313,11 +311,9 @@ CTRL-^		Toggle the use of language |:lma
 		off, since you are expected to type a command.  After
 		switching it on with CTRL-^, the new state is not used again
 		for the next command or Search pattern.
-		{not in Vi}
 
 						*c_CTRL-]*
-CTRL-]		Trigger abbreviation, without inserting a character.  {not in
-		Vi}
+CTRL-]		Trigger abbreviation, without inserting a character.
 
 For Emacs-style editing on the command-line see |emacs-keys|.
 
@@ -332,7 +328,6 @@ terminals)
 
 							*:his* *:history*
 :his[tory]	Print the history of last entered commands.
-		{not in Vi}
 		{not available when compiled without the |+cmdline_hist|
 		feature}
 
@@ -344,7 +339,6 @@ terminals)
 		i[nput]	 or @		input line history
 		d[ebug]	 or >		debug command history
 		a[ll]			all of the above
-		{not in Vi}
 
 		If the numbers {first} and/or {last} are given, the respective
 		range of entries from a history is listed.  These numbers can
--- a/runtime/doc/debugger.txt
+++ b/runtime/doc/debugger.txt
@@ -1,4 +1,4 @@
-*debugger.txt*  For Vim version 8.1.  Last change: 2017 Nov 21
+*debugger.txt*  For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Gordon Prieur
@@ -10,7 +10,6 @@ 1. Debugger Features		|debugger-features
 2. Vim Compile Options		|debugger-compilation|
 3. Integrated Debuggers		|debugger-integration|
 
-{Vi does not have any of these features}
 
 ==============================================================================
 1. Debugger Features					*debugger-features*
--- a/runtime/doc/diff.txt
+++ b/runtime/doc/diff.txt
@@ -1,4 +1,4 @@
-*diff.txt*      For Vim version 8.1.  Last change: 2019 Feb 27
+*diff.txt*      For Vim version 8.1.  Last change: 2019 May 04
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -16,8 +16,6 @@ 3. Jumping to diffs		|jumpto-diffs|
 4. Copying diffs		|copy-diffs|
 5. Diff options			|diff-options|
 
-{not in Vi}
-
 ==============================================================================
 1. Starting diff mode					*start-vimdiff*
 
--- a/runtime/doc/digraph.txt
+++ b/runtime/doc/digraph.txt
@@ -1,4 +1,4 @@
-*digraph.txt*   For Vim version 8.1.  Last change: 2019 Feb 17
+*digraph.txt*   For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -18,7 +18,6 @@ 1. Defining digraphs	|digraphs-define|
 2. Using digraphs	|digraphs-use|
 3. Default digraphs	|digraphs-default|
 
-{Vi does not have any of these commands}
 
 ==============================================================================
 1. Defining digraphs					*digraphs-define*
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt*   For Vim version 8.1.  Last change: 2018 Dec 16
+*editing.txt*   For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -44,7 +44,7 @@ An alternate file name is remembered for
 :keepalt {cmd}		Execute {cmd} while keeping the current alternate file
 			name.  Note that commands invoked indirectly (e.g.,
 			with a function) may still set the alternate file
-			name.  {not in Vi}
+			name.
 
 All file names are remembered in the buffer list.  When you enter a file name,
 for editing (e.g., with ":e filename") or writing (e.g., with ":w filename"),
@@ -60,14 +60,13 @@ CTRL-G		or				*CTRL-G* *:f* *:fi* *:file
 			option is set), and the file status (readonly,
 			modified, read errors, new file).  See the 'shortmess'
 			option about how to make this message shorter.
-			{Vi does not include column number}
 
 :f[ile]!		like |:file|, but don't truncate the name even when
 			'shortmess' indicates this.
 
 {count}CTRL-G		Like CTRL-G, but prints the current file name with
 			full path.  If the count is higher than 1 the current
-			buffer number is also given.  {not in Vi}
+			buffer number is also given.
 
 					*g_CTRL-G* *word-count* *byte-count*
 g CTRL-G		Prints the current position of the cursor in five
@@ -80,7 +79,6 @@ g CTRL-G		Prints the current position of
 			column are shown, separated with a dash.
 			Also see the 'ruler' option and the |wordcount()|
 			function.
-			{not in Vi}
 
 							*v_g_CTRL-G*
 {Visual}g CTRL-G	Similar to "g CTRL-G", but Word, Character, Line, and
@@ -88,7 +86,6 @@ g CTRL-G		Prints the current position of
 			displayed.
 			In Blockwise mode, Column count is also shown.  (For
 			{Visual} see |Visual-mode|.)
-			{not in VI}
 
 							*:file_f*
 :f[ile][!] {name}	Sets the current file name to {name}.  The optional !
@@ -98,14 +95,12 @@ g CTRL-G		Prints the current position of
 			to hold the old name.
 							*:0file*
 :0f[ile][!]		Remove the name of the current buffer.  The optional !
-			avoids truncating the message, as with |:file|.  {not
-			in Vi}
+			avoids truncating the message, as with |:file|.
 
 :buffers
 :files
 :ls			List all the currently known file names.  See
-			'windows.txt' |:files| |:buffers| |:ls|.  {not in
-			Vi}
+			'windows.txt' |:files| |:buffers| |:ls|.
 
 Vim will remember the full path name of a file name that you enter.  In most
 cases when the file name is displayed only the name you typed is shown, but
@@ -244,19 +239,17 @@ 2. Editing a file					*edit-a-file*
 			If 'fileformats' is not empty, the first format given
 			will be used for the new buffer.  If 'fileformats' is
 			empty, the 'fileformat' of the current buffer is used.
-			{not in Vi}
 
 							*:ene!* *:enew!*
 :ene[w]!		Edit a new, unnamed buffer.  Discard any changes to
 			the current buffer.
 			Set 'fileformat' like |:enew|.
-			{not in Vi}
 
 							*:fin* *:find*
 :fin[d][!] [++opt] [+cmd] {file}
 			Find {file} in 'path' and then |:edit| it.
-			{not in Vi} {not available when the |+file_in_path|
-			feature was disabled at compile time}
+			{not available when the |+file_in_path| feature was
+			disabled at compile time}
 
 :{count}fin[d][!] [++opt] [+cmd] {file}
 			Just like ":find", but use the {count} match in
@@ -278,7 +271,7 @@ 2. Editing a file					*edit-a-file*
 :vie[w][!] [++opt] [+cmd] file
 			When used in Ex mode: Leave |Ex-mode|, go back to
 			Normal mode.  Otherwise same as |:edit|, but set
-			'readonly' option for this buffer.  {not in Vi}
+			'readonly' option for this buffer.
 
 							*CTRL-^* *CTRL-6*
 CTRL-^			Edit the alternate file.  Mostly the alternate file is
@@ -297,7 +290,6 @@ CTRL-^			Edit the alternate file.  Mostl
 			":e #[count]").  This is a quick way to switch between
 			files.
 			See |CTRL-^| above for further details.
-			{not in Vi}
 
 [count]]f						*]f* *[f*
 [count][f		Same as "gf".  Deprecated.
@@ -331,7 +323,6 @@ CTRL-^			Edit the alternate file.  Mostl
 			For Unix the '~' character is expanded, like in
 			"~user/file".  Environment variables are expanded too
 			|expand-env|.
-			{not in Vi}
 			{not available when the |+file_in_path| feature was
 			disabled at compile time}
 
@@ -341,7 +332,6 @@ CTRL-^			Edit the alternate file.  Mostl
 			Leading blanks are skipped, otherwise all blanks and
 			special characters are included in the file name.
 			(For {Visual} see |Visual-mode|.)
-			{not in VI}
 
 							*gF*
 [count]gF		Same as "gf", except if a number follows the file
@@ -637,7 +627,6 @@ list of the current window.
 			still be added to the argument list, but won't be
 			edited. No check for duplicates is done.
 			Also see |++opt| and |+cmd|.
-			{not in Vi}
 
 :[count]arga[dd] {name} ..			*:arga* *:argadd* *E479*
 :[count]arga[dd]
@@ -659,7 +648,6 @@ list of the current window.
 			There is no check for duplicates, it is possible to
 			add a file to the argument list twice.
 			The currently edited file is not changed.
-			{not in Vi}
 			Note: you can also use this method: >
 				:args ## x
 <			This will add the "x" item and sort the new list.
@@ -673,7 +661,6 @@ list of the current window.
 			when it's deleted from the argument list.
 			Example: >
 				:argdel *.obj
-<			{not in Vi}
 
 :[range]argd[elete]	Delete the {range} files from the argument list.
 			Example: >
@@ -688,7 +675,6 @@ list of the current window.
 <			Removes all the files from the arglist.
 			When the last number in the range is too high, up to
 			the last argument is deleted.
-			{not in Vi}
 
 							*:argu* *:argument*
 :[count]argu[ment] [count] [++opt] [+cmd]
@@ -697,14 +683,12 @@ list of the current window.
 			when changes have been made and Vim does not want to
 			|abandon| the current buffer.
 			Also see |++opt| and |+cmd|.
-			{not in Vi}
 
 :[count]argu[ment]! [count] [++opt] [+cmd]
 			Edit file [count] in the argument list, discard any
 			changes to the current buffer.  When [count] is
 			omitted the current entry is used.
 			Also see |++opt| and |+cmd|.
-			{not in Vi}
 
 :[count]n[ext] [++opt] [+cmd]			*:n* *:ne* *:next* *E165* *E163*
 			Edit [count] next file.  This fails when changes have
@@ -727,7 +711,7 @@ list of the current window.
 			Edit [count] previous file in argument list.  This
 			fails when changes have been made and Vim does not
 			want to |abandon| the current buffer.
-			Also see |++opt| and |+cmd|.  {Vi: no count or ++opt}.
+			Also see |++opt| and |+cmd|.
 
 :[count]N[ext]! [count] [++opt] [+cmd]
 			Edit [count] previous file in argument list.  Discard
@@ -748,44 +732,43 @@ list of the current window.
 :rew[ind]! [++opt] [+cmd]
 			Start editing the first file in the argument list.
 			Discard any changes to the buffer.  Also see |++opt|
-			and |+cmd|. {Vi: no ++opt}
+			and |+cmd|.
 
 							*:fir* *:first*
 :fir[st][!] [++opt] [+cmd]
-			Other name for ":rewind". {not in Vi}
+			Other name for ":rewind".
 
 							*:la* *:last*
 :la[st] [++opt] [+cmd]
 			Start editing the last file in the argument list.
 			This fails when changes have been made and Vim does
 			not want to |abandon| the current buffer.
-			Also see |++opt| and |+cmd|.  {not in Vi}
+			Also see |++opt| and |+cmd|.
 
 :la[st]! [++opt] [+cmd]
 			Start editing the last file in the argument list.
 			Discard any changes to the buffer.  Also see |++opt|
-			and |+cmd|.  {not in Vi}
+			and |+cmd|.
 
 							*:wn* *:wnext*
 :[count]wn[ext] [++opt]
 			Write current file and start editing the [count]
-			next file.  Also see |++opt| and |+cmd|.  {not in Vi}
+			next file.  Also see |++opt| and |+cmd|.
 
 :[count]wn[ext] [++opt] {file}
 			Write current file to {file} and start editing the
 			[count] next file, unless {file} already exists and
 			the 'writeany' option is off.  Also see |++opt| and
-			|+cmd|.  {not in Vi}
+			|+cmd|.
 
 :[count]wn[ext]! [++opt] {file}
 			Write current file to {file} and start editing the
-			[count] next file.  Also see |++opt| and |+cmd|.  {not
-			in Vi}
+			[count] next file.  Also see |++opt| and |+cmd|.
 
 :[count]wN[ext][!] [++opt] [file]		*:wN* *:wNext*
 :[count]wp[revious][!] [++opt] [file]		*:wp* *:wprevious*
 			Same as :wnext, but go to previous file instead of
-			next.  {not in Vi}
+			next.
 
 The [count] in the commands above defaults to one.  For some commands it is
 possible to use two counts.  The last one (rightmost one) is used.
@@ -826,8 +809,6 @@ fourth file in the argument list.  This 
 
 LOCAL ARGUMENT LIST
 
-{not in Vi}
-
 							*:arglocal*
 :argl[ocal]		Make a local copy of the global argument list.
 			Doesn't start editing another file.
@@ -878,7 +859,6 @@ USING THE ARGUMENT LIST
 			autocommand event is disabled by adding it to
 			'eventignore'.  This considerably speeds up editing
 			each file.
-			{not in Vi}
 			Also see |:windo|, |:tabdo|, |:bufdo|, |:cdo|, |:ldo|,
 			|:cfdo| and |:lfdo|
 
@@ -970,12 +950,11 @@ slower (but safer).
 			When 'filetype' is empty filetype detection is done
 			with the new name, before the file is written.
 			When the write was successful 'readonly' is reset.
-			{not in Vi}
 
 							*:up* *:update*
 :[range]up[date][!] [++opt] [>>] [file]
 			Like ":write", but only write when the buffer has been
-			modified.  {not in Vi}
+			modified.
 
 
 WRITING WITH MULTIPLE BUFFERS				*buffer-write*
@@ -983,11 +962,11 @@ WRITING WITH MULTIPLE BUFFERS				*buffer
 							*:wa* *:wall*
 :wa[ll]			Write all changed buffers.  Buffers without a file
 			name cause an error message.  Buffers which are
-			readonly are not written. {not in Vi}
+			readonly are not written.
 
 :wa[ll]!		Write all changed buffers, even the ones that are
 			readonly.  Buffers without a file name are not
-			written and cause an error message. {not in Vi}
+			written and cause an error message.
 
 
 Vim will warn you if you try to overwrite a file that has been changed
@@ -1118,7 +1097,7 @@ 5. Writing and quitting					*write-quit*
 
 :conf[irm] q[uit]	Quit, but give prompt when changes have been made, or
 			the last file in the argument list has not been
-			edited.  See |:confirm| and 'confirm'.  {not in Vi}
+			edited.  See |:confirm| and 'confirm'.
 
 :q[uit]!		Quit without writing, also when the current buffer has
 			changes.  The buffer is unloaded, also when it has
@@ -1131,7 +1110,7 @@ 5. Writing and quitting					*write-quit*
 
 :cq[uit]		Quit always, without writing, and return an error
 			code.  See |:cq|.  Used for Manx's QuickFix mode (see
-			|quickfix|).  {not in Vi}
+			|quickfix|).
 
 							*:wq*
 :wq [++opt]		Write the current file and quit.  Writing fails when
@@ -1169,7 +1148,7 @@ ZZ			Write current file, if modified, an
 
 							*ZQ*
 ZQ			Quit without checking for changes (same as ":q!").
-			{not in Vi}
+
 
 MULTIPLE WINDOWS AND BUFFERS				*window-exit*
 
@@ -1177,36 +1156,35 @@ MULTIPLE WINDOWS AND BUFFERS				*window-
 :qa[ll]		Exit Vim, unless there are some buffers which have been
 		changed.  (Use ":bmod" to go to the next modified buffer).
 		When 'autowriteall' is set all changed buffers will be
-		written, like |:wqall|. {not in Vi}
+		written, like |:wqall|.
 
 :conf[irm] qa[ll]
 		Exit Vim.  Bring up a prompt when some buffers have been
-		changed.  See |:confirm|. {not in Vi}
+		changed.  See |:confirm|.
 
-:qa[ll]!	Exit Vim.  Any changes to buffers are lost. {not in Vi}
+:qa[ll]!	Exit Vim.  Any changes to buffers are lost.
 		Also see |:cquit|, it does the same but exits with a non-zero
 		value.
 
 							*:quita* *:quitall*
-:quita[ll][!]	Same as ":qall". {not in Vi}
+:quita[ll][!]	Same as ":qall".
 
 :wqa[ll] [++opt]				*:wqa* *:wqall* *:xa* *:xall*
 :xa[ll]		Write all changed buffers and exit Vim.  If there are buffers
 		without a file name, which are readonly or which cannot be
-		written for another reason, Vim will not quit. {not in Vi}
+		written for another reason, Vim will not quit.
 
 :conf[irm] wqa[ll] [++opt]
 :conf[irm] xa[ll]
 		Write all changed buffers and exit Vim.  Bring up a prompt
 		when some buffers are readonly or cannot be written for
-		another reason.  See |:confirm|. {not in Vi}
+		another reason.  See |:confirm|.
 
 :wqa[ll]! [++opt]
 :xa[ll]!	Write all changed buffers, even the ones that are readonly,
 		and exit Vim.  If there are buffers without a file name or
 		which cannot be written for another reason, or there is a
 		terminal with a running job, Vim will not quit.
-		{not in Vi}
 
 ==============================================================================
 6. Dialogs						*edit-dialogs*
@@ -1317,10 +1295,12 @@ present in 'cpoptions' and "!" is not us
 			name.  On Unix systems: Change the current directory
 			to the home directory.  Use |:pwd| to print the
 			current directory on all systems.
+			On Unix systems: clear any window-local directory.
 
 :cd[!] {path}		Change the current directory to {path}.
 			If {path} is relative, it is searched for in the
 			directories listed in |'cdpath'|.
+			Clear any window-local directory.
 			Does not change the meaning of an already opened file,
 			because its full path name is remembered.  Files from
 			the |arglist| may change though!
@@ -1330,7 +1310,7 @@ present in 'cpoptions' and "!" is not us
 <
 							*:cd-* *E186*
 :cd[!] -		Change to the previous current directory (before the
-			previous ":cd {path}" command). {not in Vi}
+			previous ":cd {path}" command).
 
 							*:chd* *:chdir*
 :chd[ir][!] [path]	Same as |:cd|.
@@ -1341,20 +1321,18 @@ present in 'cpoptions' and "!" is not us
 			The current directory is not changed for windows in
 			other tabs and for windows in the current tab that
 			have their own window-local directory.
-			{not in Vi}
 
 							*:tch* *:tchdir*
-:tch[dir][!]		Same as |:tcd|. {not in Vi}
+:tch[dir][!]		Same as |:tcd|.
 
 							*:lc* *:lcd*
 :lc[d][!] {path}	Like |:cd|, but only set the current directory when
 			the cursor is in the current window.  The current
 			directory for other windows is not changed, switching
 			to another window will stop using {path}.
-			{not in Vi}
 
 							*:lch* *:lchdir*
-:lch[dir][!]		Same as |:lcd|. {not in Vi}
+:lch[dir][!]		Same as |:lcd|.
 
 							*:pw* *:pwd* *E187*
 :pw[d]			Print the current directory name.  {Vi: no pwd}
@@ -1416,8 +1394,7 @@ There are a few things to remember when 
   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" {Vi cannot handle <Nul> characters in the
-  file}
+  "CTRL-V CTRL-@" or "CTRL-V 000"
 - To insert a <NL> character in the file split a line.  When writing the
   buffer to a file a <NL> will be written for the <EOL>.
 - Vim normally appends an <EOL> at the end of the file if there is none.
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.1.  Last change: 2019 Apr 27
+*eval.txt*	For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -33,8 +33,6 @@ 12. The sandbox			|eval-sandbox|
 13. Textlock			|textlock|
 14. Testing			|testing|
 
-{Vi does not have any of these commands}
-
 ==============================================================================
 1. Variables						*variables*
 
--- a/runtime/doc/farsi.txt
+++ b/runtime/doc/farsi.txt
@@ -1,4 +1,4 @@
-*farsi.txt*     For Vim version 8.1.  Last change: 2019 Feb 16
+*farsi.txt*     For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Mortaza Ghassab Shiran
@@ -6,7 +6,6 @@
 
 Right to Left and Farsi Mapping for Vim		*farsi* *Farsi*
 
-{Vi does not have any of these commands}
 
 						*E27*
 Farsi support has been removed in patch 8.1.0932.  At that time it was
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -1,4 +1,4 @@
-*filetype.txt*  For Vim version 8.1.  Last change: 2018 Apr 18
+*filetype.txt*  For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -12,7 +12,6 @@ 3. Docs for the default filetype plugins
 
 Also see |autocmd.txt|.
 
-{Vi does not have any of these commands}
 
 ==============================================================================
 1. Filetypes					*filetypes* *file-types*
--- a/runtime/doc/fold.txt
+++ b/runtime/doc/fold.txt
@@ -1,4 +1,4 @@
-*fold.txt*      For Vim version 8.1.  Last change: 2017 Mar 18
+*fold.txt*      For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -14,7 +14,6 @@ 2. Fold commands	|fold-commands|
 3. Fold options		|fold-options|
 4. Behavior of folds	|fold-behavior|
 
-{Vi has no Folding}
 {not available when compiled without the |+folding| feature}
 
 ==============================================================================
--- a/runtime/doc/gui.txt
+++ b/runtime/doc/gui.txt
@@ -1,4 +1,4 @@
-*gui.txt*       For Vim version 8.1.  Last change: 2019 Apr 28
+*gui.txt*       For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -19,7 +19,6 @@ Other GUI documentation:
 |gui_x11.txt|	For specific items of the X11 GUI.
 |gui_w32.txt|	For specific items of the Win32 GUI.
 
-{Vi does not have any of these commands}
 
 ==============================================================================
 1. Starting the GUI				*gui-start* *E229* *E233*
--- a/runtime/doc/gui_w32.txt
+++ b/runtime/doc/gui_w32.txt
@@ -1,4 +1,4 @@
-*gui_w32.txt*   For Vim version 8.1.  Last change: 2019 Apr 28
+*gui_w32.txt*   For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -19,7 +19,6 @@ Other relevant documentation:
 |gui.txt|	For generic items of the GUI.
 |os_win32.txt| 	For Win32 specific items.
 
-{Vi does not have a Windows GUI}
 
 ==============================================================================
 1. Starting the GUI					*gui-w32-start*
@@ -414,7 +413,7 @@ be opened as normal.  See |drag-n-drop|.
 
 							*:simalt* *:sim*
 :sim[alt] {key}		simulate pressing {key} while holding Alt pressed.
-			{not in Vi} {only for Win32 versions}
+			{only for Win32 versions}
 			Note: ":si" means ":s" with the "i" flag.
 
 Normally, Vim takes control of all Alt-<Key> combinations, to increase the
--- a/runtime/doc/gui_x11.txt
+++ b/runtime/doc/gui_x11.txt
@@ -1,4 +1,4 @@
-*gui_x11.txt*   For Vim version 8.1.  Last change: 2019 Apr 12
+*gui_x11.txt*   For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -19,7 +19,6 @@ 9. X11 selection mechanism	|x11-selectio
 Other relevant documentation:
 |gui.txt|	For generic items of the GUI.
 
-{Vi does not have any of these commands}
 
 ==============================================================================
 1. Starting the X11 GUI					*gui-x11-start* *E665*
--- a/runtime/doc/hebrew.txt
+++ b/runtime/doc/hebrew.txt
@@ -1,4 +1,4 @@
-*hebrew.txt*    For Vim version 8.1.  Last change: 2007 Jun 14
+*hebrew.txt*    For Vim version 8.1.  Last change: 2019 May 05
 
 
 	   VIM REFERENCE MANUAL    by Ron Aaron (and Avner Lottem)
@@ -10,10 +10,7 @@ The supporting 'rightleft' functionality
 Lottem. <alottem at gmail dot com>  Ron Aaron <ron at ronware dot org> is
 currently helping support these features.
 
-{Vi does not have any of these commands}
-
-All this is only available when the |+rightleft| feature was enabled at
-compile time.
+{only available when the |+rightleft| feature was enabled at compile time}
 
 
 Introduction
--- a/runtime/doc/helphelp.txt
+++ b/runtime/doc/helphelp.txt
@@ -1,4 +1,4 @@
-*helphelp.txt*	For Vim version 8.1.  Last change: 2017 Mar 19
+*helphelp.txt*	For Vim version 8.1.  Last change: 2019 May 04
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -24,7 +24,6 @@ 1. Help commands					*online-help*
 			the very top.
 			The 'helplang' option is used to select a language, if
 			the main help file is available in several languages.
-			{not in Vi}
 
 						*{subject}* *E149* *E661*
 :h[elp] {subject}	Like ":help", additionally jump to the tag {subject}.
@@ -97,7 +96,6 @@ 1. Help commands					*online-help*
 			command from a following command.  You need to type
 			CTRL-V first to insert the <LF> or <CR>.  Example: >
 				:help so<C-V><CR>only
-<			{not in Vi}
 
 :h[elp]! [subject]	Like ":help", but in non-English help files prefer to
 			find a tag in a file with the same language as the
@@ -133,7 +131,6 @@ 1. Help commands					*online-help*
 			|:execute| when needed.
 			Compressed help files will not be searched (Fedora
 			compresses the help files).
-			{not in Vi}
 
 							*:lh* *:lhelpgrep*
 :lh[elpgrep] {pattern}[@xx]
@@ -147,11 +144,11 @@ 1. Help commands					*online-help*
 
 							*:exu* *:exusage*
 :exu[sage]		Show help on Ex commands.  Added to simulate the Nvi
-			command. {not in Vi}
+			command.
 
 							*:viu* *:viusage*
 :viu[sage]		Show help on Normal mode commands.  Added to simulate
-			the Nvi command. {not in Vi}
+			the Nvi command.
 
 When no argument is given to |:help| the file given with the 'helpfile' option
 will be opened.  Otherwise the specified tag is searched for in all "doc/tags"
@@ -199,7 +196,6 @@ command: >
 			Only for backwards compatibility.  It now executes the
 			ToolBar.FindHelp menu entry instead of using a builtin
 			dialog.  {only when compiled with |+GUI_GTK|}
-			{not in Vi}
 
 					*:helpt* *:helptags*
 				*E154* *E150* *E151* *E152* *E153* *E670*
@@ -224,8 +220,6 @@ command: >
 			To rebuild the help tags in the runtime directory
 			(requires write permission there): >
 				:helptags $VIMRUNTIME/doc
-<			{not in Vi}
-
 
 ==============================================================================
 2. Translated help files				*help-translated*
--- a/runtime/doc/if_cscop.txt
+++ b/runtime/doc/if_cscop.txt
@@ -1,4 +1,4 @@
-*if_cscop.txt*  For Vim version 8.1.  Last change: 2018 Jan 21
+*if_cscop.txt*  For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Andy Kahn
@@ -21,7 +21,6 @@ 6. Suggested usage		|cscope-suggestions|
 7. Availability & Information	|cscope-info|
 
 This is currently for Unix and Win32 only.
-{Vi does not have any of these commands}
 
 ==============================================================================
 1. Cscope introduction					*cscope-intro*
--- a/runtime/doc/if_lua.txt
+++ b/runtime/doc/if_lua.txt
@@ -1,4 +1,4 @@
-*if_lua.txt*    For Vim version 8.1.  Last change: 2015 Oct 16
+*if_lua.txt*    For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Luis Carvalho
@@ -17,17 +17,14 @@ 8. Window userdata		|lua-window|
 9. luaeval() Vim function	|lua-luaeval|
 10. Dynamic loading		|lua-dynamic|
 
-{Vi does not have any of these commands}
-
-The Lua interface is available only when Vim was compiled with the
-|+lua| feature.
+{only available when Vim was compiled with the |+lua| feature}
 
 ==============================================================================
 1. Commands						*lua-commands*
 
 							*:lua*
 :[range]lua {chunk}
-			Execute Lua chunk {chunk}.    {not in Vi}
+			Execute Lua chunk {chunk}.
 
 Examples:
 >
@@ -38,7 +35,7 @@ Examples:
 :[range]lua << {endmarker}
 {script}
 {endmarker}
-			Execute Lua script {script}.  {not in Vi}
+			Execute Lua script {script}.
 			Note: This command doesn't work when the Lua
 			feature wasn't compiled in.  To avoid errors, see
 			|script-here|.
@@ -75,7 +72,6 @@ If you use LuaJIT you can also use this:
 			If the value returned by the function is a string it
 			becomes the text of the line in the current turn. The
 			default for [range] is the whole file: "1,$".
-							{not in Vi}
 
 Examples:
 >
@@ -89,7 +85,7 @@ Examples:
 
 							*:luafile*
 :[range]luafile {file}
-			Execute Lua script in {file}. {not in Vi}
+			Execute Lua script in {file}.
 			The whole argument is used as a single file name.
 
 Examples:
--- a/runtime/doc/if_mzsch.txt
+++ b/runtime/doc/if_mzsch.txt
@@ -1,4 +1,4 @@
-*if_mzsch.txt*  For Vim version 8.1.  Last change: 2017 Oct 08
+*if_mzsch.txt*  For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Sergey Khorev
@@ -15,10 +15,7 @@ 6. Using Function references		|mzscheme-
 7. Dynamic loading			|mzscheme-dynamic|
 8. MzScheme setup			|mzscheme-setup|
 
-{Vi does not have any of these commands}
-
-The MzScheme interface is available only if Vim was compiled with the
-|+mzscheme| feature.
+{only available when Vim was compiled with the |+mzscheme| feature}
 
 Based on the work of Brent Fulgham.
 Dynamic loading added by Sergey Khorev
@@ -40,7 +37,7 @@ 1. Commands						*mzscheme-commands*
 
 							*:mzscheme* *:mz*
 :[range]mz[scheme] {stmt}
-			Execute MzScheme statement {stmt}.  {not in Vi}
+			Execute MzScheme statement {stmt}.
 
 :[range]mz[scheme] << {endmarker}
 {script}
@@ -51,7 +48,7 @@ 1. Commands						*mzscheme-commands*
 			|script-here|.
 
 							*:mzfile* *:mzf*
-:[range]mzf[ile] {file}	Execute the MzScheme script in {file}.  {not in Vi}
+:[range]mzf[ile] {file}	Execute the MzScheme script in {file}.
 
 All of these commands do essentially the same thing - they execute a piece of
 MzScheme code, with the "current range" set to the given line
--- a/runtime/doc/if_ole.txt
+++ b/runtime/doc/if_ole.txt
@@ -1,4 +1,4 @@
-*if_ole.txt*    For Vim version 8.1.  Last change: 2008 Aug 16
+*if_ole.txt*    For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
@@ -12,10 +12,8 @@ 3. The "normal" command		|ole-normal|
 4. Registration			|ole-registration|
 5. MS Visual Studio integration	|MSVisualStudio|
 
-{Vi does not have any of these commands}
-
-OLE is only available when compiled with the |+ole| feature.  See
-src/if_ole.INSTALL.
+{only available when compiled with the |+ole| feature.  See
+src/if_ole.INSTALL}
 An alternative is using the client-server communication |clientserver|.
 
 ==============================================================================
--- a/runtime/doc/if_perl.txt
+++ b/runtime/doc/if_perl.txt
@@ -1,4 +1,4 @@
-*if_perl.txt*   For Vim version 8.1.  Last change: 2019 Jan 29
+*if_perl.txt*   For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Sven Verdoolaege
@@ -11,9 +11,7 @@ 2. Compiling Vim with Perl interface	|pe
 3. Using the Perl interface		|perl-using|
 4. Dynamic loading			|perl-dynamic|
 
-{Vi does not have any of these commands}
-
-The Perl interface only works when Vim was compiled with the |+perl| feature.
+{only available when Vim was compiled with the |+perl| feature}
 
 ==============================================================================
 1. Editing Perl files					*perl-editing*
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt*   For Vim version 8.1.  Last change: 2018 Jan 30
+*if_pyth.txt*   For Vim version 8.1.  Last change: 2019 May 04
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
@@ -19,8 +19,6 @@ 10. Python 3					|python3|
 11. Python X					|python_x|
 12. Building with Python support		|python-building|
 
-{Vi does not have any of these commands}
-
 The Python 2.x interface is available only when Vim was compiled with the
 |+python| feature.
 The Python 3 interface is available only when Vim was compiled with the
@@ -76,7 +74,6 @@ and "EOF" do not have any indent.
 			None. If a string is returned, it becomes the text of
 			the line in the current turn. The default for [range]
 			is the whole file: "1,$".
-			{not in Vi}
 
 Examples:
 >
@@ -98,7 +95,7 @@ python. For example: >
 							*:pyfile* *:pyf*
 :[range]pyf[ile] {file}
 			Execute the Python script in {file}.  The whole
-			argument is used as a single file name.  {not in Vi}
+			argument is used as a single file name.
 
 Both of these commands do essentially the same thing - they execute a piece of
 Python code, with the "current range" |python-range| set to the given line
--- a/runtime/doc/if_ruby.txt
+++ b/runtime/doc/if_ruby.txt
@@ -1,4 +1,4 @@
-*if_ruby.txt*   For Vim version 8.1.  Last change: 2019 Jan 29
+*if_ruby.txt*   For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Shugo Maeda
@@ -14,10 +14,9 @@ 5. Global variables		|ruby-globals|
 6. rubyeval() Vim function	|ruby-rubyeval|
 7. Dynamic loading		|ruby-dynamic|
 
-{Vi does not have any of these commands}
 			*E266* *E267* *E268* *E269* *E270* *E271* *E272* *E273*
 
-The Ruby interface only works when Vim was compiled with the |+ruby| feature.
+{only available when Vim was compiled with the |+ruby| feature}
 
 The home page for ruby is http://www.ruby-lang.org/.  You can find links for
 downloading Ruby there.
--- a/runtime/doc/if_tcl.txt
+++ b/runtime/doc/if_tcl.txt
@@ -1,4 +1,4 @@
-*if_tcl.txt*    For Vim version 8.1.  Last change: 2016 Jan 01
+*if_tcl.txt*    For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Ingo Wilken
@@ -16,9 +16,8 @@ 7. Known bugs & problems		|tcl-bugs|
 8. Examples				|tcl-examples|
 9. Dynamic loading			|tcl-dynamic|
 
-{Vi does not have any of these commands} *E280*
-
-The Tcl interface only works when Vim was compiled with the |+tcl| feature.
+*E280*
+{only available when Vim was compiled with the |+tcl| feature}
 
 WARNING: There are probably still some bugs.  Please send bug reports,
 comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
@@ -66,12 +65,11 @@ To see what version of Tcl you have: >
 			possible to add or delete lines using this command.
 			If {cmd} returns an error, the command is interrupted.
 			The default for [range] is the whole file: "1,$".
-			See |tcl-var-line| and |tcl-var-lnum|.  {not in Vi}
+			See |tcl-var-line| and |tcl-var-lnum|.
 
 							*:tclfile* *:tclf*
 :tclf[ile] {file}	Execute the Tcl script in {file}.  This is the same as
 			":tcl source {file}", but allows file name completion.
-			{not in Vi}
 
 
 Note that Tcl objects (like variables) persist from one command to the next,
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt*     For Vim version 8.1.  Last change: 2019 Apr 19
+*index.txt*     For Vim version 8.1.  Last change: 2019 Apr 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -862,6 +862,10 @@ tag		char	      note action in Normal mo
 				   position the cursor at the start (left
 				   side) of the screen
 |zt|		zt		   redraw, cursor line at top of window
+|zuw|		zuw		   undo |zw|
+|zug|		zug		   undo |zg|
+|zuW|		zuW		   undo |zW|
+|zuG|		zuG		   undo |zG|
 |zv|		zv		   open enough folds to view the cursor line
 |zw|		zw		   mark word as wrong (bad) spelled word
 |zx|		zx		   re-apply 'foldlevel' and do "zv"
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 8.1.  Last change: 2019 Apr 06
+*insert.txt*    For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -62,7 +62,7 @@ CTRL-C		Quit insert mode, go back to Nor
 CTRL-@		Insert previously inserted text and stop insert.  {Vi: only
 		when typed as first char, only up to 128 chars}
 						*i_CTRL-A*
-CTRL-A		Insert previously inserted text.  {not in Vi}
+CTRL-A		Insert previously inserted text.
 
 						*i_CTRL-H* *i_<BS>* *i_BS*
 <BS> or CTRL-H	Delete the character before the cursor (see |i_backspacing|
@@ -75,7 +75,6 @@ CTRL-A		Insert previously inserted text.
 		"eol", delete the <EOL>; the next line is appended after the
 		current one.
 		See |:fixdel| if your <Del> key does not do what you want.
-		{not in Vi}
 						*i_CTRL-W*
 CTRL-W		Delete the word before the cursor (see |i_backspacing| about
 		joining lines).  See the section "word motions",
@@ -102,10 +101,10 @@ CTRL-K {char1} [char2]
 		key, the code for that key is inserted in <> form.  For
 		example, the string "<S-Space>" can be entered by typing
 		<C-K><S-Space> (two keys).  Neither char is considered for
-		mapping.  {not in Vi}
+		mapping.
 
-CTRL-N		Find next keyword (see |i_CTRL-N|).  {not in Vi}
-CTRL-P		Find previous keyword (see |i_CTRL-P|).  {not in Vi}
+CTRL-N		Find next keyword (see |i_CTRL-N|).
+CTRL-P		Find previous keyword (see |i_CTRL-P|).
 
 CTRL-R {0-9a-z"%#*+:.-=}					*i_CTRL-R*
 		Insert the contents of a register.  Between typing CTRL-R and
@@ -142,7 +141,7 @@ CTRL-R {0-9a-z"%#*+:.-=}					*i_CTRL-R*
 				converted to a String.
 				When append() or setline() is invoked the undo
 				sequence will be broken.
-		See |registers| about registers.  {not in Vi}
+		See |registers| about registers.
 
 CTRL-R CTRL-R {0-9a-z"%#*+/:.-=}			*i_CTRL-R_CTRL-R*
 		Insert the contents of a register.  Works like using a single
@@ -154,7 +153,7 @@ CTRL-R CTRL-R {0-9a-z"%#*+/:.-=}			*i_CT
 <		Options 'textwidth', 'formatoptions', etc. still apply.  If
 		you also want to avoid these, use CTRL-R CTRL-O, see below.
 		The '.' register (last inserted text) is still inserted as
-		typed.  {not in Vi}
+		typed.
 
 CTRL-R CTRL-O {0-9a-z"%#*+/:.-=}			*i_CTRL-R_CTRL-O*
 		Insert the contents of a register literally and don't
@@ -163,14 +162,14 @@ CTRL-R CTRL-O {0-9a-z"%#*+/:.-=}			*i_CT
 		insert the text above the current line, like with `P`.
 		Does not replace characters!
 		The '.' register (last inserted text) is still inserted as
-		typed.  {not in Vi}
+		typed.
 
 CTRL-R CTRL-P {0-9a-z"%#*+/:.-=}			*i_CTRL-R_CTRL-P*
 		Insert the contents of a register literally and fix the
 		indent, like |[<MiddleMouse>|.
 		Does not replace characters!
 		The '.' register (last inserted text) is still inserted as
-		typed.  {not in Vi}
+		typed.
 
 						*i_CTRL-T*
 CTRL-T		Insert one shiftwidth of indent at the start of the current
@@ -206,12 +205,12 @@ CTRL-Q		Same as CTRL-V.
 
 CTRL-X		Enter CTRL-X mode.  This is a sub-mode where commands can
 		be given to complete words or scroll the window.  See
-		|i_CTRL-X| and |ins-completion|. {not in Vi}
+		|i_CTRL-X| and |ins-completion|.
 
 						*i_CTRL-E*
-CTRL-E		Insert the character which is below the cursor.  {not in Vi}
+CTRL-E		Insert the character which is below the cursor.
 						*i_CTRL-Y*
-CTRL-Y		Insert the character which is above the cursor.  {not in Vi}
+CTRL-Y		Insert the character which is above the cursor.
 		Note that for CTRL-E and CTRL-Y 'textwidth' is not used, to be
 		able to copy characters from a long line.
 
@@ -228,7 +227,6 @@ CTRL-_		Switch between languages, as fol
 		is set.
 		Please refer to |rileft.txt| for more information about
 		right-to-left mode.
-		{not in Vi}
 		Only if compiled with the |+rightleft| feature.
 
 						*i_CTRL-^*
@@ -248,14 +246,12 @@ CTRL-^		Toggle the use of typing languag
 		The language mappings are normally used to type characters
 		that are different from what the keyboard produces.  The
 		'keymap' option can be used to install a whole number of them.
-		{not in Vi}
 
 						*i_CTRL-]*
-CTRL-]		Trigger abbreviation, without inserting a character.  {not in
-		Vi}
+CTRL-]		Trigger abbreviation, without inserting a character.
 
 						*i_<Insert>*
-<Insert>	Toggle between Insert and Replace mode.  {not in Vi}
+<Insert>	Toggle between Insert and Replace mode.
 -----------------------------------------------------------------------
 
 						*i_backspacing*
@@ -519,15 +515,14 @@ The 'expandtab' option is off by default
 character is replaced with several spaces.  The result of this is that the
 number of characters in the line increases.  Backspacing will delete one
 space at a time.  The original character will be put back for only one space
-that you backspace over (the last one).  {Vi does not have the 'expandtab'
-option}
+that you backspace over (the last one).
 
 							*ins-smarttab*
 When the 'smarttab' option is on, a <Tab> inserts 'shiftwidth' positions at
 the beginning of a line and 'tabstop' positions in other places.  This means
 that often spaces instead of a <Tab> character are inserted.  When 'smarttab'
 is off, a <Tab> always inserts 'tabstop' positions, and 'shiftwidth' is only
-used for ">>" and the like.  {not in Vi}
+used for ">>" and the like.
 
 							*ins-softtabstop*
 When the 'softtabstop' option is non-zero, a <Tab> inserts 'softtabstop'
@@ -567,14 +562,13 @@ If the 'expandtab' option is on, a <Tab>
 several spaces.  The result of this is that the number of characters in the
 line increases.  Backspacing will delete one space at a time.  The original
 character will be put back for only one space that you backspace over (the
-last one).  {Vi does not have the 'expandtab' option}
+last one).
 
 ==============================================================================
 6. Virtual Replace mode		*vreplace-mode* *Virtual-Replace-mode*
 
 Enter Virtual Replace mode with the "gR" command in normal mode.
 {not available when compiled without the |+vreplace| feature}
-{Vi does not have Virtual Replace mode}
 
 Virtual Replace mode is similar to Replace mode, but instead of replacing
 actual characters in the file, you are replacing screen real estate, so that
@@ -1807,7 +1801,7 @@ I			Insert text before the first non-bla
 			the last blank.
 
 							*gI*
-gI			Insert text in column 1 [count] times.  {not in Vi}
+gI			Insert text in column 1 [count] times.
 
 							*gi*
 gi			Insert text in the same position as where Insert mode
@@ -1818,7 +1812,6 @@ gi			Insert text in the same position as
 			but NOT for inserted/deleted characters.
 			When the |:keepjumps| command modifier is used the |'^|
 			mark won't be changed.
-			{not in Vi}
 
 							*o*
 o			Begin a new line below the cursor and insert text,
@@ -1885,7 +1878,6 @@ NOTE: These commands cannot be used with
 			script, the insertion only starts after the function
 			or script is finished.
 			This command does not work from |:normal|.
-			{not in Vi}
 
 							*:stopi* *:stopinsert*
 :stopi[nsert]		Stop Insert mode as soon as possible.  Works like
@@ -1902,12 +1894,10 @@ NOTE: These commands cannot be used with
 			Note that when using this command in a function or
 			script that the replacement will only start after
 			the function or script is finished.
-			{not in Vi}
 
 							*:startgreplace*
 :startg[replace][!]	Just like |:startreplace|, but use Virtual Replace
 			mode, like with |gR|.
-			{not in Vi}
 
 ==============================================================================
 10. Inserting a file					*inserting-file*
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -1,4 +1,4 @@
-*intro.txt*     For Vim version 8.1.  Last change: 2019 Jan 07
+*intro.txt*     For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -34,9 +34,7 @@ It can be accessed from within Vim with 
 is not located in the default place.  You can jump to subjects like with tags:
 Use CTRL-] to jump to a subject under the cursor, use CTRL-T to jump back.
 
-Throughout this manual the differences between Vi and Vim are mentioned in
-curly braces, like this: {Vi does not have on-line help}.  See |vi_diff.txt|
-for a summary of the differences between Vim and Vi.
+The differences between Vi and Vim are mentioned in |vi_diff.txt|.
 
 This manual refers to Vim on various machines.  There may be small differences
 between different computers and terminals.  Besides the remarks given in this
@@ -703,7 +701,6 @@ gQ			Switch to "Ex" mode like with "Q", 
 			like typing ":" commands after another.  All command
 			line editing, completion etc. is available.
 			Use the ":vi" command |:visual| to exit "Ex" mode.
-			{not in Vi}
 
 ==============================================================================
 7. The window contents					*window-contents*
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt*       For Vim version 8.1.  Last change: 2019 Apr 25
+*map.txt*       For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -76,7 +76,7 @@ modes.
 			Map the key sequence {lhs} to {rhs} for the modes
 			where the map command applies.  Disallow mapping of
 			{rhs}, to avoid nested and recursive mappings.  Often
-			used to redefine a command.  {not in Vi}
+			used to redefine a command.
 
 
 :unm[ap]  {lhs}			|mapmode-nvo|		*:unm*  *:unmap*
@@ -110,7 +110,7 @@ modes.
 :cmapc[lear]			|mapmode-c|		*:cmapc*  *:cmapclear*
 :tmapc[lear]			|mapmode-t|		*:tmapc*  *:tmapclear*
 			Remove ALL mappings for the modes where the map
-			command applies.  {not in Vi}
+			command applies.
 			Use the <buffer> argument to remove buffer-local
 			mappings |:map-<buffer>|
 			Warning: This also removes the default mappings.
@@ -143,7 +143,6 @@ modes.
 :tma[p] {lhs}			|mapmode-t|		*:tmap_l*
 			List the key mappings for the key sequences starting
 			with {lhs} in the modes where the map command applies.
-			{not in Vi}
 
 These commands are used to map a key or key sequence to a string of
 characters.  You can use this to put command sequences under function keys,
@@ -160,7 +159,6 @@ decide if "aa" or "aaa" should be mapped
 that mapping won't get expanded yet, Vim is waiting for another character.
 If you type a space, then "foo" will get inserted, plus the space.  If you
 type "a", then "bar" will get inserted.
-{Vi does not allow ambiguous mappings}
 
 
 1.2 SPECIAL ARGUMENTS					*:map-arguments*
@@ -1016,45 +1014,40 @@ See |:verbose-cmd| for more information.
 
 						*:norea* *:noreabbrev*
 :norea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
-			same as ":ab", but no remapping for this {rhs} {not
-			in Vi}
+			Same as ":ab", but no remapping for this {rhs}.
 
 						*:ca* *:cabbrev*
 :ca[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
-			same as ":ab", but for Command-line mode only.  {not
-			in Vi}
+			Same as ":ab", but for Command-line mode only.
 
 						*:cuna* *:cunabbrev*
-:cuna[bbrev] {lhs}	same as ":una", but for Command-line mode only.  {not
-			in Vi}
+:cuna[bbrev] {lhs}	Same as ":una", but for Command-line mode only.
 
 						*:cnorea* *:cnoreabbrev*
 :cnorea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
 			same as ":ab", but for Command-line mode only and no
-			remapping for this {rhs} {not in Vi}
+			remapping for this {rhs}
 
 						*:ia* *:iabbrev*
 :ia[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
-			same as ":ab", but for Insert mode only.  {not in Vi}
+			Same as ":ab", but for Insert mode only.
 
 						*:iuna* *:iunabbrev*
-:iuna[bbrev] {lhs}	same as ":una", but for insert mode only.  {not in
-			Vi}
+:iuna[bbrev] {lhs}	Same as ":una", but for insert mode only.
 
 						*:inorea* *:inoreabbrev*
 :inorea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
-			same as ":ab", but for Insert mode only and no
-			remapping for this {rhs} {not in Vi}
+			Same as ":ab", but for Insert mode only and no
+			remapping for this {rhs}.
 
 							*:abc* *:abclear*
-:abc[lear] [<buffer>]	Remove all abbreviations.  {not in Vi}
+:abc[lear] [<buffer>]	Remove all abbreviations.
 
 							*:iabc* *:iabclear*
-:iabc[lear] [<buffer>]	Remove all abbreviations for Insert mode.  {not in Vi}
+:iabc[lear] [<buffer>]	Remove all abbreviations for Insert mode.
 
 							*:cabc* *:cabclear*
-:cabc[lear] [<buffer>]	Remove all abbreviations for Command-line mode.  {not
-			in Vi}
+:cabc[lear] [<buffer>]	Remove all abbreviations for Command-line mode.
 
 							*using_CTRL-V*
 It is possible to use special characters in the rhs of an abbreviation.
@@ -1147,8 +1140,7 @@ to find out what they are defined to.
 The |:scriptnames| command can be used to see which scripts have been sourced
 and what their <SNR> number is.
 
-This is all {not in Vi} and {not available when compiled without the |+eval|
-feature}.
+This is all {not available when compiled without the |+eval| feature}.
 
 ==============================================================================
 4. User-defined commands				*user-commands*
@@ -1391,7 +1383,7 @@ Possible attributes are:
 		    number.
 	-count=N    A count (default N) which is specified either in the line
 		    number position, or as an initial argument (like |:Next|).
-		    Specifying -count (without a default) acts like -count=0
+	-count	    acts like -count=0
 
 Note that -range=N and -count=N are mutually exclusive - only one should be
 specified.
@@ -1402,14 +1394,16 @@ by default correspond to the current lin
 relate to arguments, (loaded) buffers, windows or tab pages.
 
 Possible values are (second column is the short name used in listing):
-    -addr=lines		  	Range of lines (this is the default)
+    -addr=lines		  	Range of lines (this is the default for -range)
     -addr=arguments	  arg	Range for arguments
     -addr=buffers	  buf	Range for buffers (also not loaded buffers)
     -addr=loaded_buffers  load	Range for loaded buffers
     -addr=windows	  win	Range for windows
     -addr=tabs		  tab	Range for tab pages
     -addr=quickfix	  qf	Range for quickfix entries
-    -addr=other		  ?	other kind of range
+    -addr=other		  ?	other kind of range; can use ".", "$" and "%"
+				as with "lines" (this is the default for
+				-count)
 
 
 Special cases ~
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -1,4 +1,4 @@
-*mbyte.txt*     For Vim version 8.1.  Last change: 2018 Jan 21
+*mbyte.txt*     For Vim version 8.1.  Last change: 2019 Apr 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar et al.
--- a/runtime/doc/message.txt
+++ b/runtime/doc/message.txt
@@ -1,4 +1,4 @@
-*message.txt*   For Vim version 8.1.  Last change: 2019 Apr 04
+*message.txt*   For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -830,10 +830,10 @@ Type					effect ~
      G					down all the way, until the hit-enter
 					prompt
 
-     <BS> or k or <Up>			one line back (*)
-     u					up a page (half a screen) (*)
-     b or <PageUp>			back a screen (*)
-     g					back to the start (*)
+     <BS> or k or <Up>			one line back
+     u					up a page (half a screen)
+     b or <PageUp>			back a screen
+     g					back to the start
 
      q, <Esc> or CTRL-C			stop the listing
      :					stop the listing and enter a
@@ -842,13 +842,11 @@ Type					effect ~
 					the clipboard ("* and "+ registers)
     {menu-entry}			what the menu is defined to in
 					Cmdline-mode.
-    <LeftMouse> (**)			next page
+    <LeftMouse>				next page (*)
 
 Any other key causes the meaning of the keys to be displayed.
 
-(*)  backwards scrolling is {not in Vi}.  Only scrolls back to where messages
-     started to scroll.
-(**) Clicking the left mouse button only works:
+(*) Clicking the left mouse button only works:
      - For the GUI: in the last line of the screen.
      - When 'r' is included in 'mouse' (but then selecting text won't work).
 
--- a/runtime/doc/mlang.txt
+++ b/runtime/doc/mlang.txt
@@ -1,4 +1,4 @@
-*mlang.txt*     For Vim version 8.1.  Last change: 2018 May 06
+*mlang.txt*     For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -17,7 +17,6 @@ 3. Scripts			|multilang-scripts|
 
 Also see |help-translated| for multi-language help.
 
-{Vi does not have any of these features}
 {not available when compiled without the |+multi_lang| feature}
 
 ==============================================================================
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt*    For Vim version 8.1.  Last change: 2019 Mar 02
+*motion.txt*    For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -185,7 +185,7 @@ 0			To the first character of the line. 
 			TEXT column (if possible).  Most other commands stay
 			in the same SCREEN column.  <Home> works like "1|",
 			which differs from "0" when the line starts with a
-			<Tab>.  {not in Vi}
+			<Tab>.
 
 							*^*
 ^			To the first non-blank character of the line.
@@ -202,7 +202,7 @@ 0			To the first character of the line. 
 
 							*g_*
 g_			To the last non-blank character of the line and
-			[count - 1] lines downward |inclusive|. {not in Vi}
+			[count - 1] lines downward |inclusive|.
 
 							*g0* *g<Home>*
 g0 or g<Home>		When lines wrap ('wrap' on): To the first character of
@@ -211,7 +211,7 @@ g0 or g<Home>		When lines wrap ('wrap' o
 			When lines don't wrap ('wrap' off): To the leftmost
 			character of the current line that is on the screen.
 			Differs from "0" when the first character of the line
-			is not on the screen.  {not in Vi}
+			is not on the screen.
 
 							*g^*
 g^			When lines wrap ('wrap' on): To the first non-blank
@@ -220,12 +220,11 @@ g^			When lines wrap ('wrap' on): To the
 			When lines don't wrap ('wrap' off): To the leftmost
 			non-blank character of the current line that is on the
 			screen.  Differs from "^" when the first non-blank
-			character of the line is not on the screen.  {not in
-			Vi}
+			character of the line is not on the screen.
 
 							*gm*
 gm			Like "g0", but half a screenwidth to the right (or as
-			much as possible). {not in Vi}
+			much as possible).
 
 							*g$* *g<End>*
 g$ or g<End>		When lines wrap ('wrap' on): To the last character of
@@ -240,7 +239,6 @@ g$ or g<End>		When lines wrap ('wrap' on
 			instead of going to the end of the line.
 			When 'virtualedit' is enabled moves to the end of the
 			screen line.
-			{not in Vi}
 
 							*bar*
 |			To screen column [count] in the current line.
@@ -296,12 +294,12 @@ CTRL-N			[count] lines downward |linewis
 gk		or					*gk* *g<Up>*
 g<Up>			[count] display lines upward.  |exclusive| motion.
 			Differs from 'k' when lines wrap, and when used with
-			an operator, because it's not linewise.  {not in Vi}
+			an operator, because it's not linewise.
 
 gj		or					*gj* *g<Down>*
 g<Down>			[count] display lines downward.  |exclusive| motion.
 			Differs from 'j' when lines wrap, and when used with
-			an operator, because it's not linewise.  {not in Vi}
+			an operator, because it's not linewise.
 
 							*-*
 -  <minus>		[count] lines upward, on the first non-blank
@@ -324,7 +322,7 @@ G			Goto line [count], default last line
 
 							*<C-End>*
 <C-End>			Goto line [count], default last line, on the last
-			character |inclusive|. {not in Vi}
+			character |inclusive|.
 
 <C-Home>	or					*gg* *<C-Home>*
 gg			Goto line [count], default first line, on the first
@@ -342,7 +340,7 @@ gg			Goto line [count], default first li
 			non-blank in the line |linewise|.  To compute the new
 			line number this formula is used:
 			    ({count} * number-of-lines + 99) / 100
-			See also 'startofline' option.  {not in Vi}
+			See also 'startofline' option.
 
 :[range]go[to] [count]					*:go* *:goto* *go*
 [count]go		Go to [count] byte in the buffer.  Default [count] is
@@ -352,7 +350,6 @@ gg			Goto line [count], default first li
 			'fileformat' setting.
 			Also see the |line2byte()| function, and the 'o'
 			option in 'statusline'.
-			{not in Vi}
 			{not available when compiled without the
 			|+byte_offset| feature}
 
@@ -516,7 +513,6 @@ including white space, the commands star
 without white space, or just the white space.  Thus the "inner" commands
 always select less text than the "a" commands.
 
-These commands are {not in Vi}.
 These commands are not available when the |+textobjects| feature has been
 disabled at compile time.
 Also see `gn` and `gN`, operating on the last search pattern.
@@ -780,7 +776,7 @@ m<  or  m>		Set the |'<| or |'>| mark.  
 
 						*'A* *'0* *`A* *`0*
 '{A-Z0-9}  `{A-Z0-9}	To the mark {A-Z0-9} in the file where it was set (not
-			a motion command when in another file).  {not in Vi}
+			a motion command when in another file).
 
 						*g'* *g'a* *g`* *g`a*
 g'{mark}  g`{mark}
@@ -790,18 +786,17 @@ g'{mark}  g`{mark}
 <			jumps to the last known position in a file.  See
 			$VIMRUNTIME/vimrc_example.vim.
 			Also see |:keepjumps|.
-			{not in Vi}
 
 						*:marks*
 :marks			List all the current marks (not a motion command).
 			The |'(|, |')|, |'{| and |'}| marks are not listed.
 			The first column has number zero.
-			{not in Vi}
+
 						*E283*
 :marks {arg}		List the marks that are mentioned in {arg} (not a
 			motion command).  For example: >
 				:marks aB
-<			to list marks 'a' and 'B'.  {not in Vi}
+<			to list marks 'a' and 'B'.
 
 							*:delm* *:delmarks*
 :delm[arks] {marks}	Delete the specified marks.  Marks that can be deleted
@@ -815,11 +810,9 @@ g'{mark}  g`{mark}
 			   :delmarks p-z      deletes marks in the range p to z
 			   :delmarks ^.[]     deletes marks ^ . [ ]
 			   :delmarks \"	      deletes mark "
-<			{not in Vi}
 
 :delm[arks]!		Delete all marks for the current buffer, but not marks
 			A-Z or 0-9.
-			{not in Vi}
 
 A mark is not visible in any way.  It is just a position in the file that is
 remembered.  Do not confuse marks with named registers, they are totally
@@ -854,11 +847,11 @@ Numbered mark should be stored.  See |vi
 
 							*'[* *`[*
 '[  `[			To the first character of the previously changed
-			or yanked text.  {not in Vi}
+			or yanked text.
 
 							*']* *`]*
 ']  `]			To the last character of the previously changed or
-			yanked text.  {not in Vi}
+			yanked text.
 
 After executing an operator the Cursor is put at the beginning of the text
 that was operated upon.  After a put command ("p" or "P") the cursor is
@@ -876,7 +869,7 @@ was made yet in the current file.
 '<  `<			To the first line or character of the last selected
 			Visual area in the current buffer.  For block mode it
 			may also be the last character in the first line (to
-			be able to define the block).  {not in Vi}.
+			be able to define the block).
 
 							*'>* *`>*
 '>  `>			To the last line or character of the last selected
@@ -884,7 +877,7 @@ was made yet in the current file.
 			may also be the first character of the last line (to
 			be able to define the block).  Note that 'selection'
 			applies, the position may be just after the Visual
-			area.  {not in Vi}.
+			area.
 
 							*''* *``*
 ''  ``			To the position before the latest jump, or where the
@@ -900,13 +893,12 @@ was made yet in the current file.
 			Only one position is remembered per buffer, not one
 			for each window.  As long as the buffer is visible in
 			a window the position won't be changed.
-			{not in Vi}.
 
 							*'^* *`^*
 '^  `^			To the position where the cursor was the last time
 			when Insert mode was stopped.  This is used by the
 			|gi| command.  Not set when the |:keepjumps| command
-			modifier was used.  {not in Vi}
+			modifier was used.
 
 							*'.* *`.*
 '.  `.			To the position where the last change was made.  The
@@ -916,30 +908,29 @@ was made yet in the current file.
 			command changed.  For example when inserting a word,
 			the position will be on the last character.
 			To jump to older changes use |g;|.
-			{not in Vi}
 
 							*'(* *`(*
 '(  `(			To the start of the current sentence, like the |(|
-			command.  {not in Vi}
+			command.
 
 							*')* *`)*
 ')  `)			To the end of the current sentence, like the |)|
-			command.  {not in Vi}
+			command.
 
 							*'{* *`{*
 '{  `{			To the start of the current paragraph, like the |{|
-			command.  {not in Vi}
+			command.
 
 							*'}* *`}*
 '}  `}			To the end of the current paragraph, like the |}|
-			command.  {not in Vi}
+			command.
 
 These commands are not marks themselves, but jump to a mark:
 
 							*]'*
 ]'			[count] times to next line with a lowercase mark below
 			the cursor, on the first non-blank character in the
-			line. {not in Vi}
+			line.
 
 							*]`*
 ]`			[count] times to lowercase mark after the cursor. {not
@@ -948,11 +939,10 @@ These commands are not marks themselves,
 							*['*
 ['			[count] times to previous line with a lowercase mark
 			before the cursor, on the first non-blank character in
-			the line. {not in Vi}
+			the line.
 
 							*[`*
 [`			[count] times to lowercase mark before the cursor.
-			{not in Vi}
 
 
 :loc[kmarks] {command}					*:loc* *:lockmarks*
@@ -1030,23 +1020,19 @@ commands that start editing a new file.
 							*CTRL-O*
 CTRL-O			Go to [count] Older cursor position in jump list
 			(not a motion command).
-			{not in Vi}
 			{not available without the |+jumplist| feature}
 
 <Tab>		or					*CTRL-I* *<Tab>*
 CTRL-I			Go to [count] newer cursor position in jump list
 			(not a motion command).
-			{not in Vi}
 			{not available without the |+jumplist| feature}
 
 							*:ju* *:jumps*
 :ju[mps]		Print the jump list (not a motion command).
-			{not in Vi}
 			{not available without the |+jumplist| feature}
 
 							*:cle* *:clearjumps*
 :cle[arjumps]		Clear the jump list of the current window.
-			{not in Vi}
 			{not available without the |+jumplist| feature}
 
 							*jumplist*
@@ -1131,14 +1117,12 @@ g;			Go to [count] older position in cha
 			positions go to the oldest change.
 			If there is no older change an error message is given.
 			(not a motion command)
-			{not in Vi}
 			{not available without the |+jumplist| feature}
 
 							*g,* *E663*
 g,			Go to [count] newer cursor position in change list.
 			Just like |g;| but in the opposite direction.
 			(not a motion command)
-			{not in Vi}
 			{not available without the |+jumplist| feature}
 
 When using a count you jump as far back or forward as possible.  Thus you can
@@ -1229,19 +1213,19 @@ 9. Various motions				*various-motions*
 
 						*[(*
 [(			go to [count] previous unmatched '('.
-			|exclusive| motion. {not in Vi}
+			|exclusive| motion.
 
 						*[{*
 [{			go to [count] previous unmatched '{'.
-			|exclusive| motion. {not in Vi}
+			|exclusive| motion.
 
 						*])*
 ])			go to [count] next unmatched ')'.
-			|exclusive| motion. {not in Vi}
+			|exclusive| motion.
 
 						*]}*
 ]}			go to [count] next unmatched '}'.
-			|exclusive| motion. {not in Vi}
+			|exclusive| motion.
 
 The above four commands can be used to go to the start or end of the current
 code block.  It is like doing "%" on the '(', ')', '{' or '}' at the other
@@ -1254,25 +1238,25 @@ bring you back to the switch statement.
 			similar structured language).  When not before the
 			start of a method, jump to the start or end of the
 			class.  When no '{' is found after the cursor, this is
-			an error.  |exclusive| motion. {not in Vi}
+			an error.  |exclusive| motion.
 						*]M*
 ]M			Go to [count] next end of a method (for Java or
 			similar structured language).  When not before the end
 			of a method, jump to the start or end of the class.
 			When no '}' is found after the cursor, this is an
-			error. |exclusive| motion. {not in Vi}
+			error. |exclusive| motion.
 						*[m*
 [m			Go to [count] previous start of a method (for Java or
 			similar structured language).  When not after the
 			start of a method, jump to the start or end of the
 			class.  When no '{' is found before the cursor this is
-			an error. |exclusive| motion. {not in Vi}
+			an error. |exclusive| motion.
 						*[M*
 [M			Go to [count] previous end of a method (for Java or
 			similar structured language).  When not after the
 			end of a method, jump to the start or end of the
 			class.  When no '}' is found before the cursor this is
-			an error. |exclusive| motion. {not in Vi}
+			an error. |exclusive| motion.
 
 The above two commands assume that the file contains a class with methods.
 The class definition is surrounded in '{' and '}'.  Each method in the class
@@ -1295,11 +1279,11 @@ Using "3[m" will jump to the start of th
 
 						*[#*
 [#			go to [count] previous unmatched "#if" or "#else".
-			|exclusive| motion. {not in Vi}
+			|exclusive| motion.
 
 						*]#*
 ]#			go to [count] next unmatched "#else" or "#endif".
-			|exclusive| motion. {not in Vi}
+			|exclusive| motion.
 
 These two commands work in C programs that contain #if/#else/#endif
 constructs.  It brings you to the start or end of the #if/#else/#endif where
@@ -1307,11 +1291,11 @@ the current line is included.  You can t
 
 						*[star* *[/*
 [*  or  [/		go to [count] previous start of a C comment "/*".
-			|exclusive| motion. {not in Vi}
+			|exclusive| motion.
 
 						*]star* *]/*
 ]*  or  ]/		go to [count] next end of a C comment "*/".
-			|exclusive| motion. {not in Vi}
+			|exclusive| motion.
 
 
 						*H*
@@ -1339,6 +1323,6 @@ L			To line [count] from bottom of windo
 <LeftMouse>		Moves to the position on the screen where the mouse
 			click is |exclusive|.  See also |<LeftMouse>|.  If the
 			position is in a status line, that window is made the
-			active window and the cursor is not moved.  {not in Vi}
+			active window and the cursor is not moved.
 
  vim:tw=78:ts=8:noet:ft=help:norl:
--- a/runtime/doc/netbeans.txt
+++ b/runtime/doc/netbeans.txt
@@ -1,4 +1,4 @@
-*netbeans.txt*  For Vim version 8.1.  Last change: 2019 Jan 17
+*netbeans.txt*  For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Gordon Prieur et al.
@@ -24,7 +24,6 @@ 10. NetBeans External Editor
     10.4. Obtaining the External Editor Module	|obtaining-exted|
     10.5. Setting up NetBeans to run with Vim	|netbeans-setup|
 
-{Vi does not have any of these features}
 {only available when compiled with the |+netbeans_intg| feature}
 
 ==============================================================================
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.1.  Last change: 2019 Apr 28
+*options.txt*	For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -6163,9 +6163,7 @@ A jump table for the options with a shor
 	set to half the number of lines in the window when the window size
 	changes.  If you give a count to the CTRL-U or CTRL-D command it will
 	be used as the new value for 'scroll'.  Reset to half the window
-	height with ":set scroll=0".   {Vi is a bit different: 'scroll' gives
-	the number of screen lines instead of file lines, makes a difference
-	when lines wrap}
+	height with ":set scroll=0".
 
 			*'scrollbind'* *'scb'* *'noscrollbind'* *'noscb'*
 'scrollbind' 'scb'	boolean  (default off)
@@ -7787,7 +7785,7 @@ A jump table for the options with a shor
 						*'timeoutlen'* *'tm'*
 'timeoutlen' 'tm'	number	(default 1000)
 			global
-			{not in all versions of Vi}
+
 						*'ttimeoutlen'* *'ttm'*
 'ttimeoutlen' 'ttm'	number	(default -1, set to 100 in |defaults.vim|)
 			global
@@ -7990,9 +7988,10 @@ A jump table for the options with a shor
 			work.  See below for how Vim detects this
 			automatically.
 							*netterm-mouse*
-	   netterm	NetTerm mouse handling.  The mouse generates
+	   netterm	NetTerm mouse handling.  A left mouse click generates
 			"<Esc>}r,c<CR>", where "r,c" are two decimal numbers
-			for the row and column.
+			for the row and column.  No other mouse events are
+			supported.
 							*dec-mouse*
 	   dec		DEC terminal mouse handling.  The mouse generates a
 			rather complex sequence, starting with "<Esc>[".
@@ -8653,7 +8652,6 @@ A jump table for the options with a shor
 	in a much smarter way, taking care of wrapping lines.
 	When resizing the Vim window, the value is smaller than 1 or more than
 	or equal to 'lines' it will be set to 'lines' minus 1.
-	{Vi also uses the option to specify the number of displayed lines}
 
 						*'winheight'* *'wh'* *E591*
 'winheight' 'wh'	number	(default 1)
--- a/runtime/doc/os_mac.txt
+++ b/runtime/doc/os_mac.txt
@@ -1,4 +1,4 @@
-*os_mac.txt*    For Vim version 8.1.  Last change: 2018 Jan 21
+*os_mac.txt*    For Vim version 8.1.  Last change: 2019 Apr 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar et al.
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt*   For Vim version 8.1.  Last change: 2019 Feb 21
+*pattern.txt*   For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -78,24 +78,24 @@ N			Repeat the latest "/" or "?" [count]
 				4. the first non-blank word after the cursor,
 				   in the current line
 			Only whole keywords are searched for, like with the
-			command "/\<keyword\>".  |exclusive|  {not in Vi}
+			command "/\<keyword\>".  |exclusive| 
 			'ignorecase' is used, 'smartcase' is not.
 
 							*#*
 #			Same as "*", but search backward.  The pound sign
 			(character 163) also works.  If the "#" key works as
 			backspace, try using "stty erase <BS>" before starting
-			Vim (<BS> is CTRL-H or a real backspace).  {not in Vi}
+			Vim (<BS> is CTRL-H or a real backspace).
 
 							*gstar*
 g*			Like "*", but don't put "\<" and "\>" around the word.
 			This makes the search also find matches that are not a
-			whole word.  {not in Vi}
+			whole word.
 
 							*g#*
 g#			Like "#", but don't put "\<" and "\>" around the word.
 			This makes the search also find matches that are not a
-			whole word.  {not in Vi}
+			whole word.
 
 							*gd*
 gd			Goto local Declaration.  When the cursor is on a local
@@ -113,22 +113,21 @@ gd			Goto local Declaration.  When the c
 			searched use the commands listed in |include-search|.
 			After this command |n| searches forward for the next
 			match (not backward).
-			{not in Vi}
 
 							*gD*
 gD			Goto global Declaration.  When the cursor is on a
 			global variable that is defined in the file, this
 			command will jump to its declaration.  This works just
 			like "gd", except that the search for the keyword
-			always starts in line 1.  {not in Vi}
+			always starts in line 1.
 
 							*1gd*
 1gd			Like "gd", but ignore matches inside a {} block that
-			ends before the cursor position. {not in Vi}
+			ends before the cursor position.
 
 							*1gD*
 1gD			Like "gD", but ignore matches inside a {} block that
-			ends before the cursor position. {not in Vi}
+			ends before the cursor position.
 
 							*CTRL-C*
 CTRL-C			Interrupt current (search) command.  Use CTRL-Break on
@@ -171,7 +170,7 @@ error message |:s_flags|.
 					*search-offset* *{offset}*
 These commands search for the specified pattern.  With "/" and "?" an
 additional offset may be given.  There are two types of offsets: line offsets
-and character offsets.  {the character offsets are not in Vi}
+and character offsets.
 
 The offset gives the cursor position relative to the found match:
     [num]	[num] lines downwards, in column 1
@@ -312,14 +311,6 @@ triggered.  In most cases this should be
 it's used again it fails.  Usually this means there is something wrong with
 the pattern.
 
-								*E956*
-In very rare cases a regular expression is used recursively.  This can happen
-when executing a pattern takes a long time and when checking for messages on
-channels a callback is invoked that also uses a pattern or an autocommand is
-triggered.  In most cases this should be fine, but if a pattern is in use when
-it's used again it fails.  Usually this means there is something wrong with
-the pattern.
-
 ==============================================================================
 2. The definition of a pattern		*search-pattern* *pattern* *[pattern]*
 					*regular-expression* *regexp* *Pattern*
@@ -455,30 +446,28 @@ More explanation and examples below, fol
 	  multi ~
      'magic' 'nomagic'	matches of the preceding atom ~
 |/star|	*	\*	0 or more	as many as possible
-|/\+|	\+	\+	1 or more	as many as possible (*)
-|/\=|	\=	\=	0 or 1		as many as possible (*)
-|/\?|	\?	\?	0 or 1		as many as possible (*)
+|/\+|	\+	\+	1 or more	as many as possible
+|/\=|	\=	\=	0 or 1		as many as possible
+|/\?|	\?	\?	0 or 1		as many as possible
 
-|/\{|	\{n,m}	\{n,m}	n to m		as many as possible (*)
-	\{n}	\{n}	n		exactly (*)
-	\{n,}	\{n,}	at least n	as many as possible (*)
-	\{,m}	\{,m}	0 to m		as many as possible (*)
-	\{}	\{}	0 or more	as many as possible (same as *) (*)
+|/\{|	\{n,m}	\{n,m}	n to m		as many as possible
+	\{n}	\{n}	n		exactly
+	\{n,}	\{n,}	at least n	as many as possible
+	\{,m}	\{,m}	0 to m		as many as possible
+	\{}	\{}	0 or more	as many as possible (same as *)
 
-|/\{-|	\{-n,m}	\{-n,m}	n to m		as few as possible (*)
-	\{-n}	\{-n}	n		exactly (*)
-	\{-n,}	\{-n,}	at least n	as few as possible (*)
-	\{-,m}	\{-,m}	0 to m		as few as possible (*)
-	\{-}	\{-}	0 or more	as few as possible (*)
+|/\{-|	\{-n,m}	\{-n,m}	n to m		as few as possible
+	\{-n}	\{-n}	n		exactly
+	\{-n,}	\{-n,}	at least n	as few as possible
+	\{-,m}	\{-,m}	0 to m		as few as possible
+	\{-}	\{-}	0 or more	as few as possible
 
 							*E59*
-|/\@>|	\@>	\@>	1, like matching a whole pattern (*)
-|/\@=|	\@=	\@=	nothing, requires a match |/zero-width| (*)
-|/\@!|	\@!	\@!	nothing, requires NO match |/zero-width| (*)
-|/\@<=|	\@<=	\@<=	nothing, requires a match behind |/zero-width| (*)
-|/\@<!|	\@<!	\@<!	nothing, requires NO match behind |/zero-width| (*)
-
-(*) {not in Vi}
+|/\@>|	\@>	\@>	1, like matching a whole pattern
+|/\@=|	\@=	\@=	nothing, requires a match |/zero-width|
+|/\@!|	\@!	\@!	nothing, requires NO match |/zero-width|
+|/\@<=|	\@<=	\@<=	nothing, requires a match behind |/zero-width|
+|/\@<!|	\@<!	\@<!	nothing, requires NO match behind |/zero-width|
 
 
 Overview of ordinary atoms.				*/ordinary-atom*
@@ -507,7 +496,7 @@ More explanation and examples below, fol
 |/\%c|	\%23c	\%23c	in column 23 |/zero-width|
 |/\%v|	\%23v	\%23v	in virtual column 23 |/zero-width|
 
-Character classes {not in Vi}:				*/character-classes*
+Character classes:					*/character-classes*
       magic   nomagic	matches ~
 |/\i|	\i	\i	identifier character (see 'isident' option)
 |/\I|	\I	\I	like "\i", but excluding digits
@@ -546,7 +535,7 @@ Character classes {not in Vi}:				*/char
 |/\b|	\b	\b	<BS>
 |/\n|	\n	\n	end-of-line
 |/~|	~	\~	last given substitute string
-|/\1|	\1	\1	same string as matched by first \(\) {not in Vi}
+|/\1|	\1	\1	same string as matched by first \(\)
 |/\2|	\2	\2	Like "\1", but uses second \(\)
 	   ...
 |/\9|	\9	\9	Like "\1", but uses ninth \(\)
@@ -624,20 +613,19 @@ overview.
 	character at a time.
 
 							*/\+*
-\+	Matches 1 or more of the preceding atom, as many as possible. {not in
-	Vi}
+\+	Matches 1 or more of the preceding atom, as many as possible.
 	Example		matches ~
 	^.\+$		any non-empty line
 	\s\+		white space of at least one character
 
 							*/\=*
-\=	Matches 0 or 1 of the preceding atom, as many as possible. {not in Vi}
+\=	Matches 0 or 1 of the preceding atom, as many as possible.
 	Example		matches ~
 	foo\=		"fo" and "foo"
 
 							*/\?*
 \?	Just like \=.  Cannot be used when searching backwards with the "?"
-	command. {not in Vi}
+	command.
 
 					*/\{* *E60* *E554* *E870*
 \{n,m}	Matches n to m of the preceding atom, as many as possible
@@ -651,7 +639,6 @@ overview.
 \{-n,}	matches at least n of the preceding atom, as few as possible
 \{-,m}	matches 0 to m of the preceding atom, as few as possible
 \{-}	matches 0 or more of the preceding atom, as few as possible
-	{Vi does not have any of these}
 
 	n and m are positive decimal numbers or zero
 								*non-greedy*
@@ -674,7 +661,7 @@ overview.
 	The } may optionally be preceded with a backslash: \{n,m\}.
 
 							*/\@=*
-\@=	Matches the preceding atom with zero width. {not in Vi}
+\@=	Matches the preceding atom with zero width.
 	Like "(?=pattern)" in Perl.
 	Example			matches ~
 	foo\(bar\)\@=		"foo" in "foobar"
@@ -694,7 +681,7 @@ overview.
 
 							*/\@!*
 \@!	Matches with zero width if the preceding atom does NOT match at the
-	current position. |/zero-width| {not in Vi}
+	current position. |/zero-width|
 	Like "(?!pattern)" in Perl.
 	Example			matches ~
 	foo\(bar\)\@!		any "foo" not followed by "bar"
@@ -724,7 +711,7 @@ overview.
 
 							*/\@<=*
 \@<=	Matches with zero width if the preceding atom matches just before what
-	follows. |/zero-width| {not in Vi}
+	follows. |/zero-width|
 	Like "(?<=pattern)" in Perl, but Vim allows non-fixed-width patterns.
 	Example			matches ~
 	\(an\_s\+\)\@<=file	"file" after "an" and white space or an
@@ -768,7 +755,7 @@ overview.
 \@<!	Matches with zero width if the preceding atom does NOT match just
 	before what follows.  Thus this matches if there is no position in the
 	current or previous line where the atom matches such that it ends just
-	before what follows.  |/zero-width| {not in Vi}
+	before what follows.  |/zero-width|
 	Like "(?<!pattern)" in Perl, but Vim allows non-fixed-width patterns.
 	The match with the preceding atom is made to end just before the match
 	with what follows, thus an atom that ends in ".*" will work.
@@ -784,7 +771,7 @@ overview.
 	slow.
 
 							*/\@>*
-\@>	Matches the preceding atom like matching a whole pattern. {not in Vi}
+\@>	Matches the preceding atom like matching a whole pattern.
 	Like "(?>pattern)" in Perl.
 	Example		matches ~
 	\(a*\)\@>a	nothing (the "a*" takes all the "a"'s, there can't be
@@ -863,7 +850,7 @@ An ordinary atom can be:
 		/\(.\{-}\zsFab\)\{3}
 <	Finds the third occurrence of "Fab".
 	This cannot be followed by a multi. *E888*
-	{not in Vi} {not available when compiled without the |+syntax| feature}
+	{not available when compiled without the |+syntax| feature}
 							*/\ze*
 \ze	Matches at any position, and sets the end of the match there: The
 	previous char is the last char of the whole match. |/zero-width|
@@ -872,17 +859,17 @@ An ordinary atom can be:
 	Example: "end\ze\(if\|for\)" matches the "end" in "endif" and
 	"endfor".
 	This cannot be followed by a multi. |E888|
-	{not in Vi} {not available when compiled without the |+syntax| feature}
+	{not available when compiled without the |+syntax| feature}
 
 						*/\%^* *start-of-file*
 \%^	Matches start of the file.  When matching with a string, matches the
-	start of the string. {not in Vi}
+	start of the string.
 	For example, to find the first "VIM" in a file: >
 		/\%^\_.\{-}\zsVIM
 <
 						*/\%$* *end-of-file*
 \%$	Matches end of the file.  When matching with a string, matches the
-	end of the string. {not in Vi}
+	end of the string.
 	Note that this does NOT find the last "VIM" in a file: >
 		/VIM\_.\{-}\%$
 <	It will find the next VIM, because the part after it will always
@@ -906,7 +893,7 @@ An ordinary atom can be:
 
 						*/\%#* *cursor-position*
 \%#	Matches with the cursor position.  Only works when matching in a
-	buffer displayed in a window. {not in Vi}
+	buffer displayed in a window.
 	WARNING: When the cursor is moved after the pattern was used, the
 	result becomes invalid.  Vim doesn't automatically update the matches.
 	This is especially relevant for syntax highlighting and 'hlsearch'.
@@ -927,7 +914,6 @@ An ordinary atom can be:
 <	Note that two dots are required to include mark 'e in the match.  That
 	is because "\%<'e" matches at the character before the 'e mark, and
 	since it's a |/zero-width| match it doesn't include that character.
-	{not in Vi}
 	WARNING: When the mark is moved after the pattern was used, the result
 	becomes invalid.  Vim doesn't automatically update the matches.
 	Similar to moving the cursor for "\%#" |/\%#|.
@@ -937,7 +923,7 @@ An ordinary atom can be:
 \%<23l	Matches above a specific line (lower line number).
 \%>23l	Matches below a specific line (higher line number).
 	These three can be used to match specific lines in a buffer.  The "23"
-	can be any line number.  The first line is 1. {not in Vi}
+	can be any line number.  The first line is 1.
 	WARNING: When inserting or deleting lines Vim does not automatically
 	update the matches.  This means Syntax highlighting quickly becomes
 	wrong.
@@ -953,7 +939,7 @@ An ordinary atom can be:
 	These three can be used to match specific columns in a buffer or
 	string.  The "23" can be any column number.  The first column is 1.
 	Actually, the column is the byte number (thus it's not exactly right
-	for multi-byte characters).  {not in Vi}
+	for multi-byte characters).
 	WARNING: When inserting or deleting text Vim does not automatically
 	update the matches.  This means Syntax highlighting quickly becomes
 	wrong.
@@ -975,7 +961,7 @@ An ordinary atom can be:
 	The "23" can be any column number.  The first column is 1.
 	Note that some virtual column positions will never match, because they
 	are halfway through a tab or other character that occupies more than
-	one screen character.  {not in Vi}
+	one screen character.
 	WARNING: When inserting or deleting text Vim does not automatically
 	update highlighted matches.  This means Syntax highlighting quickly
 	becomes wrong.
@@ -998,7 +984,7 @@ An ordinary atom can be:
 	where ".*" matches zero characters.
 <
 
-Character classes: {not in Vi}
+Character classes:
 \i	identifier character (see 'isident' option)	*/\i*
 \I	like "\i", but excluding digits			*/\I*
 \k	keyword character (see 'iskeyword' option)	*/\k*
@@ -1058,7 +1044,7 @@ match ASCII characters, as indicated by 
 	*E51* *E54* *E55* *E872* *E873*
 
 \1      Matches the same string that was matched by	*/\1* *E65*
-	the first sub-expression in \( and \). {not in Vi}
+	the first sub-expression in \( and \).
 	Example: "\([a-z]\).\1" matches "ata", "ehe", "tot", etc.
 \2      Like "\1", but uses second sub-expression,	*/\2*
    ...							*/\3*
@@ -1070,7 +1056,6 @@ match ASCII characters, as indicated by 
 \%(\)	A pattern enclosed by escaped parentheses.	*/\%(\)* */\%(* *E53*
 	Just like \(\), but without counting it as a sub-expression.  This
 	allows using more groups and it's a little bit faster.
-	{not in Vi}
 
 x	A single character, with no special meaning, matches itself
 
@@ -1171,7 +1156,7 @@ x	A single character, with no special me
 	  backslash before it: "[xyz\]]", "[\^xyz]", "[xy\-z]" and "[xyz\\]".
 	  (Note: POSIX does not support the use of a backslash this way).  For
 	  ']' you can also make it the first character (following a possible
-	  "^"):  "[]xyz]" or "[^]xyz]" {not in Vi}.
+	  "^"):  "[]xyz]" or "[^]xyz]".
 	  For '-' you can also make it the first or last character: "[-xyz]",
 	  "[^-xyz]" or "[xyz-]".  For '\' you can also let it be followed by
 	  any character that's not in "^]-\bdertnoUux".  "[\xyz]" matches '\',
@@ -1180,7 +1165,7 @@ x	A single character, with no special me
 	- Omitting the trailing ] is not considered an error. "[]" works like
 	  "[]]", it matches the ']' character.
 	- The following translations are accepted when the 'l' flag is not
-	  included in 'cpoptions' {not in Vi}:
+	  included in 'cpoptions':
 		\e	<Esc>
 		\t	<Tab>
 		\r	<CR>	(NOT end-of-line!)
@@ -1261,7 +1246,7 @@ files.  To match a <Nul> with a search p
 "CTRL-V 000".  This is probably just what you expect.  Internally the
 character is replaced with a <NL> in the search pattern.  What is unusual is
 that typing CTRL-V CTRL-J also inserts a <NL>, thus also searches for a <Nul>
-in the file.  {Vi cannot handle <Nul> characters in the file at all}
+in the file.
 
 						*CR-used-for-NL*
 When 'fileformat' is "mac", <NL> characters in the file are stored as <CR>
--- a/runtime/doc/pi_gzip.txt
+++ b/runtime/doc/pi_gzip.txt
@@ -1,4 +1,4 @@
-*pi_gzip.txt*   For Vim version 8.1.  Last change: 2016 Nov 06
+*pi_gzip.txt*   For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -13,8 +13,6 @@ This plugin is only available if 'compat
 You can avoid loading this plugin by setting the "loaded_gzip" variable: >
 	:let loaded_gzip = 1
 
-{Vi does not have any of this}
-
 ==============================================================================
 1. Autocommands						*gzip-autocmd*
 
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt*  For Vim version 8.1.  Last change: 2017 Nov 03
+*pi_netrw.txt*  For Vim version 8.1.  Last change: 2019 May 05
 
 	    ------------------------------------------------
 	    NETRW REFERENCE MANUAL    by Charles E. Campbell
@@ -114,8 +114,6 @@ 12. History.............................
 13. Todo..................................................|netrw-todo|
 14. Credits...............................................|netrw-credits|
 
-{Vi does not have any of this}
-
 ==============================================================================
 2. Starting With Netrw					*netrw-start* {{{1
 
--- a/runtime/doc/print.txt
+++ b/runtime/doc/print.txt
@@ -1,4 +1,4 @@
-*print.txt*     For Vim version 8.1.  Last change: 2010 Jul 20
+*print.txt*     For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -15,7 +15,6 @@ 6. PostScript Printing Troubleshooting	|
 7. PostScript Utilities			|postscript-print-util|
 8. Formfeed Characters			|printing-formfeed|
 
-{Vi has None of this}
 {only available when compiled with the |+printer| feature}
 
 ==============================================================================
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt*  For Vim version 8.1.  Last change: 2019 Jan 13
+*quickfix.txt*  For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -16,8 +16,6 @@ 7. The error format			|error-file-format
 8. The directory stack			|quickfix-directory-stack|
 9. Specific error file formats		|errorformats|
 
-{Vi does not have any of these commands}
-
 The quickfix commands are not available when the |+quickfix| feature was
 disabled at compile time.
 
@@ -502,7 +500,6 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN 
 			autocommand event is disabled by adding it to
 			'eventignore'.  This considerably speeds up editing
 			each buffer.
-			{not in Vi}
 			Also see |:bufdo|, |:tabdo|, |:argdo|, |:windo|,
 			|:ldo|, |:cfdo| and |:lfdo|.
 
@@ -515,7 +512,6 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN 
 				:{cmd}
 				etc.
 <			Otherwise it works the same as `:cdo`.
-			{not in Vi}
 
 							*:ldo*
 :ld[o][!] {cmd}		Execute {cmd} in each valid entry in the location list
@@ -528,7 +524,6 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN 
 				etc.
 <			Only valid entries in the location list are used.
 			Otherwise it works the same as `:cdo`.
-			{not in Vi}
 
 							*:lfdo*
 :lfdo[!] {cmd}		Execute {cmd} in each file in the location list for
@@ -540,7 +535,6 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN 
 				:{cmd}
 				etc.
 <			Otherwise it works the same as `:ldo`.
-			{not in Vi}
 
 =============================================================================
 2. The error window					*quickfix-window*
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt*  For Vim version 8.1.  Last change: 2019 Feb 16
+*quickref.txt*  For Vim version 8.1.  Last change: 2019 Apr 28
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -600,6 +600,7 @@ In Insert or Command-line mode:
 Short explanation of each option:		*option-list*
 'aleph'		  'al'	    ASCII code of the letter Aleph (Hebrew)
 'allowrevins'	  'ari'     allow CTRL-_ in Insert and Command-line mode
+'altkeymap'	  'akm'	    obsolete option for Farsi
 'ambiwidth'	  'ambw'    what to do with Unicode chars of ambiguous width
 'antialias'	  'anti'    Mac OS X: use smooth, antialiased fonts
 'autochdir'	  'acd'     change directory to the file in the current window
@@ -699,6 +700,7 @@ Short explanation of each option:		*opti
 'filetype'	  'ft'	    type of file, used for autocommands
 'fillchars'	  'fcs'     characters to use for displaying special items
 'fixendofline'	  'fixeol'  make sure last line in file has <EOL>
+'fkmap'		  'fk'	    obsolete option for Farsi
 'foldclose'	  'fcl'     close a fold when the cursor leaves it
 'foldcolumn'	  'fdc'     width of the column used to indicate folds
 'foldenable'	  'fen'     set to display all folds open
@@ -767,6 +769,7 @@ Short explanation of each option:		*opti
 'keywordprg'	  'kp'	    program to use for the "K" command
 'langmap'	  'lmap'    alphabetic characters for other language mode
 'langmenu'	  'lm'	    language to be used for the menus
+'langnoremap'	  'lnr'	    do not apply 'langmap' to mapped characters
 'langremap'	  'lrm'	    do apply 'langmap' to mapped characters
 'laststatus'	  'ls'	    tells when last window has status lines
 'lazyredraw'	  'lz'	    don't redraw while executing macros
@@ -779,8 +782,6 @@ Short explanation of each option:		*opti
 'listchars'	  'lcs'     characters for displaying in list mode
 'loadplugins'	  'lpl'     load plugin scripts when starting up
 'luadll'		    name of the Lua dynamic library
-'mzschemedll'		    name of the MzScheme dynamic library
-'mzschemegcdll'		    name of the MzScheme dynamic library for GC
 'macatsui'		    Mac GUI: use ATSUI text drawing
 'magic'			    changes special characters in search patterns
 'makeef'	  'mef'     name of the errorfile for ":make"
@@ -808,6 +809,8 @@ Short explanation of each option:		*opti
 'mouseshape'	  'mouses'  shape of the mouse pointer in different modes
 'mousetime'	  'mouset'  max time between mouse double-click
 'mzquantum'	  'mzq'     the interval between polls for MzScheme threads
+'mzschemedll'		    name of the MzScheme dynamic library
+'mzschemegcdll'		    name of the MzScheme dynamic library for GC
 'nrformats'	  'nf'	    number formats recognized for CTRL-A command
 'number'	  'nu'	    print the line number in front of each line
 'numberwidth'	  'nuw'     number of columns used for the line number
@@ -916,6 +919,7 @@ Short explanation of each option:		*opti
 'tabstop'	  'ts'	    number of spaces that <Tab> in file uses
 'tagbsearch'	  'tbs'     use binary searching in tags files
 'tagcase'	  'tc'      how to handle case when searching in tags files
+'tagfunc'	  'tfu'	    function to get list of tag matches
 'taglength'	  'tl'	    number of significant characters for a tag
 'tagrelative'	  'tr'	    file names in tag file are relative
 'tags'		  'tag'     list of file names used by the tag command
--- a/runtime/doc/remote.txt
+++ b/runtime/doc/remote.txt
@@ -1,4 +1,4 @@
-*remote.txt*    For Vim version 8.1.  Last change: 2017 Nov 12
+*remote.txt*    For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -10,8 +10,6 @@ 1. Common functionality		|clientserver|
 2. X11 specific items		|x11-clientserver|
 3. MS-Windows specific items	|w32-clientserver|
 
-{Vi does not have any of these commands}
-
 ==============================================================================
 1. Common functionality					*clientserver*
 
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -1,4 +1,4 @@
-*repeat.txt*    For Vim version 8.1.  Last change: 2019 Apr 05
+*repeat.txt*    For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -163,12 +163,11 @@ q			Stops recording.  (Implementation no
 
 							*:@:*
 :[addr]@:		Repeat last command-line.  First set cursor at line
-			[addr] (default is current line).  {not in Vi}
+			[addr] (default is current line).
 
 :[addr]@							*:@@*
 :[addr]@@		Repeat the previous :@{0-9a-z"}.  First set cursor at
-			line [addr] (default is current line).  {Vi: only in
-			some versions}
+			line [addr] (default is current line).
 
 ==============================================================================
 4. Using Vim scripts					*using-scripts*
@@ -187,7 +186,6 @@ For writing a Vim script, see chapter 41
 			|:bufdo|, in a loop or when another command follows
 			the display won't be updated while executing the
 			commands.
-			{not in Vi}
 
 							*:ru* *:runtime*
 :ru[ntime][!] [where] {file} ..
@@ -230,7 +228,6 @@ For writing a Vim script, see chapter 41
 			when no file could be found.
 			When 'verbose' is two or higher, there is a message
 			about each searched file.
-			{not in Vi}
 
 							*:pa* *:packadd* *E919*
 :pa[ckadd][!] {name}	Search for an optional plugin directory in 'packpath'
@@ -323,7 +320,6 @@ For writing a Vim script, see chapter 41
 				set encoding=utf-8
 				scriptencoding utf-8
 <
-			{not in Vi}
 
 :scriptv[ersion] {version}		*:scriptv* *:scriptversion*
 								*E999* *E984*
@@ -341,8 +337,8 @@ For writing a Vim script, see chapter 41
 :scr[iptnames]		List all sourced script names, in the order they were
 			first sourced.  The number is used for the script ID
 			|<SID>|.
-			{not in Vi} {not available when compiled without the
-			|+eval| feature}
+			{not available when compiled without the |+eval|
+			feature}
 
 :scr[iptnames][!] {scriptId}			*:script*
 			Edit script {scriptId}.  Although ":scriptnames name"
@@ -358,7 +354,7 @@ For writing a Vim script, see chapter 41
 			following the ":finally" up to the matching |:endtry|
 			are executed first.  This process applies to all
 			nested ":try"s in the script.  The outermost ":endtry"
-			then stops sourcing the script.  {not in Vi}
+			then stops sourcing the script.
 
 All commands and command sequences can be repeated by putting them in a named
 register and then executing it.  There are two ways to get the commands in the
@@ -698,7 +694,6 @@ sourced file or user function and set br
 NOTE: The debugging mode is far from perfect.  Debugging will have side
 effects on how Vim works.  You cannot use it to debug everything.  For
 example, the display is messed up by the debugging messages.
-{Vi does not have a debug mode}
 
 An alternative to debug mode is setting the 'verbose' option.  With a bigger
 number it will give more verbose messages about what Vim is doing.
@@ -932,7 +927,6 @@ 8. Profiling						*profile* *profiling*
 Profiling means that Vim measures the time that is spent on executing
 functions and/or scripts.  The |+profile| feature is required for this.
 It is only included when Vim was compiled with "huge" features.
-{Vi does not have profiling}
 
 You can also use the |reltime()| function to measure time.  This only requires
 the |+reltime| feature, which is present more often.
--- a/runtime/doc/rileft.txt
+++ b/runtime/doc/rileft.txt
@@ -1,4 +1,4 @@
-*rileft.txt*    For Vim version 8.1.  Last change: 2006 Apr 24
+*rileft.txt*    For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Avner Lottem
@@ -12,8 +12,6 @@ These functions were originally created 
    E-mail: alottem@iil.intel.com
    Phone:  +972-4-8307322
 
-{Vi does not have any of these commands}
-
 								*E26*
 {only available when compiled with the |+rightleft| feature}
 
--- a/runtime/doc/scroll.txt
+++ b/runtime/doc/scroll.txt
@@ -1,4 +1,4 @@
-*scroll.txt*    For Vim version 8.1.  Last change: 2018 Apr 26
+*scroll.txt*    For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -45,9 +45,6 @@ CTRL-D			Scroll window Downwards in the 
 			difference).  When the cursor is on the last line of
 			the buffer nothing happens and a beep is produced.
 			See also 'startofline' option.
-			{difference from vi: Vim scrolls 'scroll' screen
-			lines, instead of file lines; makes a difference when
-			lines wrap}
 
 <S-Down>	or				*<S-Down>* *<kPageDown>*
 <PageDown>	or				*<PageDown>* *CTRL-F*
@@ -120,7 +117,7 @@ z<CR>			Redraw, line [count] at top of w
 
 							*zt*
 zt			Like "z<CR>", but leave the cursor in the same
-			column.  {not in Vi}
+			column.
 
 							*zN<CR>*
 z{height}<CR>		Redraw, make window {height} lines tall.  This is
@@ -136,7 +133,7 @@ z.			Redraw, line [count] at center of w
 							*zz*
 zz			Like "z.", but leave the cursor in the same column.
 			Careful: If caps-lock is on, this command becomes
-			"ZZ": write buffer and exit!  {not in Vi}
+			"ZZ": write buffer and exit!
 
 							*z-*
 z-			Redraw, line [count] at bottom of window (default
@@ -145,7 +142,6 @@ z-			Redraw, line [count] at bottom of w
 
 							*zb*
 zb			Like "z-", but leave the cursor in the same column.
-			{not in Vi}
 
 ==============================================================================
 4. Scrolling horizontally				*scroll-horizontal*
@@ -158,26 +154,22 @@ not used.
 z<Right>    or						*zl* *z<Right>*
 zl			Move the view on the text [count] characters to the
 			right, thus scroll the text [count] characters to the
-			left.  This only works when 'wrap' is off.  {not in
-			Vi}
+			left.  This only works when 'wrap' is off.
 
 z<Left>      or						*zh* *z<Left>*
 zh			Move the view on the text [count] characters to the
 			left, thus scroll the text [count] characters to the
-			right.  This only works when 'wrap' is off.  {not in
-			Vi}
+			right.  This only works when 'wrap' is off.
 
 							*zL*
 zL			Move the view on the text half a screenwidth to the
 			right, thus scroll the text half a screenwidth to the
-			left.  This only works when 'wrap' is off.  {not in
-			Vi}
+			left.  This only works when 'wrap' is off.
 
 							*zH*
 zH			Move the view on the text half a screenwidth to the
 			left, thus scroll the text half a screenwidth to the
-			right.  This only works when 'wrap' is off.  {not in
-			Vi}
+			right.  This only works when 'wrap' is off.
 
 For the following two commands the cursor is not moved in the text, only the
 text scrolls on the screen.
@@ -185,12 +177,12 @@ text scrolls on the screen.
 							*zs*
 zs			Scroll the text horizontally to position the cursor
 			at the start (left side) of the screen.  This only
-			works when 'wrap' is off.  {not in Vi}
+			works when 'wrap' is off.
 
 							*ze*
 ze			Scroll the text horizontally to position the cursor
 			at the end (right side) of the screen.  This only
-			works when 'wrap' is off.  {not in Vi}
+			works when 'wrap' is off.
 
 ==============================================================================
 5. Scrolling synchronously				*scroll-binding*
--- a/runtime/doc/sign.txt
+++ b/runtime/doc/sign.txt
@@ -1,4 +1,4 @@
-*sign.txt*      For Vim version 8.1.  Last change: 2019 Jan 17
+*sign.txt*      For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Gordon Prieur
@@ -10,7 +10,6 @@ Sign Support Features				*sign-support*
 1. Introduction				|sign-intro|
 2. Commands				|sign-commands|
 
-{Vi does not have any of these features}
 {only available when compiled with the |+signs| feature}
 
 ==============================================================================
--- a/runtime/doc/spell.txt
+++ b/runtime/doc/spell.txt
@@ -1,4 +1,4 @@
-*spell.txt*	For Vim version 8.1.  Last change: 2019 Jan 19
+*spell.txt*	For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -11,10 +11,7 @@ 2. Remarks on spell checking	|spell-rema
 3. Generating a spell file	|spell-mkspell|
 4. Spell file format		|spell-file-format|
 
-{Vi does not have any of these commands}
-
-Spell checking is not available when the |+syntax| feature has been disabled
-at compile time.
+{not available when the |+syntax| feature has been disabled at compile time}
 
 Note: There also is a vimspell plugin.  If you have it you can do ":help
 vimspell" to find about it.  But you will probably want to get rid of the
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 8.1.  Last change: 2019 Feb 16
+*starting.txt*  For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -84,7 +84,6 @@ filename	One or more file names.  The fi
 		and the first error is displayed.  See |quickfix|.
 		If [errorfile] is not given, the 'errorfile' option is used
 		for the file name.  See 'errorfile' for the default value.
-		{not in Vi}
 
 (nothing)	Without one of the four items above, Vim will start editing a
 		new buffer.  It's empty and doesn't have a file name.
@@ -129,17 +128,17 @@ a slash.  Thus "-R" means recovery and "
 
 --help							*-h* *--help* *-?*
 -?
--h		Give usage (help) message and exit.  {not in Vi}
+-h		Give usage (help) message and exit.
 		See |info-message| about capturing the text.
 
 							*--version*
 --version	Print version information and exit.  Same output as for
-		|:version| command.  {not in Vi}
+		|:version| command.
 		See |info-message| about capturing the text.
 
 							*--noplugin*
 --noplugin	Skip loading plugins.  Resets the 'loadplugins' option.
-		{not in Vi}
+
 		Note that the |-u| argument may also disable loading plugins:
 			argument   load: vimrc files  plugins  defaults.vim ~
 			(nothing)	     yes	yes	  yes
@@ -190,13 +189,11 @@ a slash.  Thus "-R" means recovery and "
 		Note: You can use up to 10 "+" or "-c" arguments in a Vim
 		command.  They are executed in the order given.  A "-S"
 		argument counts as a "-c" argument as well.
-		{Vi only allows one command}
 
 --cmd {command}						*--cmd*
 		{command} will be executed before processing any vimrc file.
 		Otherwise it acts like -c {command}.  You can use up to 10 of
 		these commands, independently from "-c" commands.
-		{not in Vi}
 
 							*-S*
 -S {file}	The {file} will be sourced after the first file has been read.
@@ -205,7 +202,9 @@ a slash.  Thus "-R" means recovery and "
 <		It can be mixed with "-c" arguments and repeated like "-c".
 		The limit of 10 "-c" arguments applies here as well.
 		{file} cannot start with a "-".
-		{not in Vi}
+
+		Do not use this for running a script to do some work and exit
+		Vim, you won't see error messages.  Use |-u| instead.
 
 -S		Works like "-S Session.vim".  Only when used as the last
 		argument or when another "-" option follows.
@@ -217,8 +216,7 @@ a slash.  Thus "-R" means recovery and "
 		|crash-recovery|.
 
 							*-L*
--L		Same as -r.  {only in some versions of Vi: "List recoverable
-		edit sessions"}
+-L		Same as -r.
 
 							*-R*
 -R		Readonly mode.  The 'readonly' option will be set for all the
@@ -238,7 +236,6 @@ a slash.  Thus "-R" means recovery and "
 -m		Modifications not allowed to be written.  The 'write' option
 		will be reset, so that writing files is disabled.  However,
 		the 'write' option can be set to enable writing again.
-		{not in Vi}
 
 							*-M*
 -M		Modifications not allowed.  The 'modifiable' option will be
@@ -246,7 +243,6 @@ a slash.  Thus "-R" means recovery and "
 		will be reset, so that writing files is disabled.  However,
 		the 'modifiable' and 'write' options can be set to enable
 		changes and writing.
-		{not in Vi}
 
 					*-Z* *restricted-mode* *E145* *E981*
 -Z		Restricted mode.  All commands that make use of an external
@@ -260,11 +256,9 @@ a slash.  Thus "-R" means recovery and "
 		the Safe module.
 		Note that the user may still find a loophole to execute a
 		shell command, it has only been made difficult.
-		{not in Vi}
 
 							*-g*
 -g		Start Vim in GUI mode.  See |gui|. For the opposite see |-v|.
-		{not in Vi}
 
 							*-v*
 -v		Start Ex in Vi mode.  Only makes a difference when the
@@ -278,7 +272,6 @@ a slash.  Thus "-R" means recovery and "
 							*-E*
 -E		Start Vim in improved Ex mode |gQ|.  Only makes a difference
 		when the executable is not called "exim".
-		{not in Vi}
 
 							*-s-ex*
 -s		Silent or batch mode.  Only when Vim was started as "ex" or
@@ -302,6 +295,9 @@ a slash.  Thus "-R" means recovery and "
 		"-u" argument).
 		Example: >
 			vim -e -s  < thefilter  thefile
+<		For the opposite, to see errors from the script, execute the
+		file with the |-u| flag: >
+			vim -u thefilter thefile
 <
 							*-b*
 -b		Binary mode.  File I/O will only recognize <NL> to separate
@@ -309,7 +305,7 @@ a slash.  Thus "-R" means recovery and "
 		option is set to 0.  'modeline' is reset.  The 'binary' option
 		is set.  This is done after reading the vimrc/exrc files but
 		before reading any file in the arglist.  See also
-		|edit-binary|.  {not in Vi}
+		|edit-binary|.
 
 							*-l*
 -l		Lisp mode.  Sets the 'lisp' and 'showmatch' options on.
@@ -318,7 +314,7 @@ a slash.  Thus "-R" means recovery and "
 -A		Arabic mode.  Sets the 'arabic' option on.  (Only when
 		compiled with the |+arabic| features (which include
 		|+rightleft|), otherwise Vim gives an error message
-		and exits.)  {not in Vi}
+		and exits.)
 
 							*-F*
 -F		This was used for Farsi mode, which has been removed.
@@ -327,13 +323,13 @@ a slash.  Thus "-R" means recovery and "
 							*-H*
 -H		Hebrew mode.  Sets the 'hkmap' and 'rightleft' options on.
 		(Only when compiled with the |+rightleft| feature, otherwise
-		Vim gives an error message and exits.)  {not in Vi}
+		Vim gives an error message and exits.)
 
 							*-V* *verbose*
 -V[N]		Verbose.  Sets the 'verbose' option to [N] (default: 10).
 		Messages will be given for each file that is ":source"d and
 		for reading or writing a viminfo file.  Can be used to find
-		out what is happening upon startup and exit.  {not in Vi}
+		out what is happening upon startup and exit.
 		Example: >
 			vim -V8 foobar
 
@@ -348,7 +344,6 @@ a slash.  Thus "-R" means recovery and "
 -D		Debugging.  Go to debugging mode when executing the first
 		command from a script. |debug-mode|
 		{not available when compiled without the |+eval| feature}
-		{not in Vi}
 
 							*-C*
 -C		Compatible mode.  Sets the 'compatible' option.  You can use
@@ -360,13 +355,13 @@ a slash.  Thus "-R" means recovery and "
 <		Several plugins won't work with 'compatible' set.  You may
 		want to set it after startup this way: >
 			vim "+set cp" filename
-<		Also see |compatible-default|.  {not in Vi}
+<		Also see |compatible-default|.
 
 							*-N*
 -N		Not compatible mode.  Resets the 'compatible' option.  You can
 		use this to get 'nocompatible', when there is no .vimrc file
 		or when using "-u NONE".
-		Also see |compatible-default|.  {not in Vi}
+		Also see |compatible-default|.
 
 							*-y* *easy*
 -y		Easy mode.  Implied for |evim| and |eview|.  Starts with
@@ -374,7 +369,6 @@ a slash.  Thus "-R" means recovery and "
 		This sources the script $VIMRUNTIME/evim.vim.  Mappings are
 		set up to work like most click-and-type editors, see
 		|evim-keys|.  The GUI is started when available.
-		{not in Vi}
 
 							*-n*
 -n		No swap file will be used.  Recovery after a crash will be
@@ -394,7 +388,6 @@ a slash.  Thus "-R" means recovery and "
 		'updatecount' to very big numbers, and type ":preserve" when
 		you want to save your work.  This way you keep the possibility
 		for crash recovery.
-		{not in Vi}
 
 							*-o*
 -o[N]		Open N windows, split horizontally.  If [N] is not given,
@@ -402,13 +395,11 @@ a slash.  Thus "-R" means recovery and "
 		there is not enough room, only the first few files get a
 		window.  If there are more windows than arguments, the last
 		few windows will be editing an empty file.
-		{not in Vi}
 
 							*-O*
 -O[N]		Open N windows, split vertically.  Otherwise it's like -o.
 		If both the -o and the -O option are given, the last one on
 		the command line determines how the windows will be split.
-		{not in Vi}
 
 							*-p*
 -p[N]		Open N tab pages.  If [N] is not given, one tab page is opened
@@ -416,20 +407,19 @@ a slash.  Thus "-R" means recovery and "
 		'tabpagemax' pages (default 10).  If there are more tab pages
 		than arguments, the last few tab pages will be editing an
 		empty file.  Also see |tabpage|.
-		{not in Vi}
 
 							*-T*
 -T {terminal}	Set the terminal type to "terminal".  This influences the
 		codes that Vim will send to your terminal.  This is normally
 		not needed, because Vim will be able to find out what type
-		of terminal you are using.  (See |terminal-info|.)  {not in Vi}
+		of terminal you are using.  (See |terminal-info|.)
 
 							*--not-a-term*
 --not-a-term	Tells Vim that the user knows that the input and/or output is
 		not connected to a terminal.  This will avoid the warning and
 		the two second delay that would happen.
 		Also avoids the "Reading from stdin..." message.
-		{not in Vi}
+		Also avoids the "N files to edit" message.
 
 							*--ttyfail*
 --ttyfail	When the stdin or stdout is not a terminal (tty) then exit
@@ -437,8 +427,7 @@ a slash.  Thus "-R" means recovery and "
 
 							*-d*
 -d		Start in diff mode, like |vimdiff|.
-		{not in Vi} {not available when compiled without the |+diff|
-		feature}
+		{not available when compiled without the |+diff| feature}
 
 -d {device}	Only on the Amiga and when not compiled with the |+diff|
 		feature.  Works like "-dev".
@@ -448,7 +437,7 @@ a slash.  Thus "-R" means recovery and "
 		Normally you would use this to set the window position and
 		size: "-d con:x/y/width/height", e.g.,
 		"-d con:30/10/600/150".  But you can also use it to start
-		editing on another device, e.g., AUX:.  {not in Vi}
+		editing on another device, e.g., AUX:.
 							*-f*
 -f		GUI: Do not disconnect from the program that started Vim.
 		'f' stands for "foreground".  If omitted, the GUI forks a new
@@ -467,7 +456,6 @@ a slash.  Thus "-R" means recovery and "
 		MS-Windows: This option is not supported.  However, when
 		running Vim with an installed vim.bat or gvim.bat file it
 		works.
-		{not in Vi}
 
 
 							*--nofork*
@@ -499,7 +487,6 @@ a slash.  Thus "-R" means recovery and "
 		has the side effect that the 'compatible' option will be on by
 		default.  This can have unexpected effects.  See
 		|'compatible'|.
-		{not in Vi}
 
 							*-U* *E230*
 -U {gvimrc}	The file {gvimrc} is read for initializations when the GUI
@@ -507,14 +494,12 @@ a slash.  Thus "-R" means recovery and "
 		is equal to "NONE", no file is read for GUI initializations at
 		all.  |gui-init|
 		Exception: Reading the system-wide menu file is always done.
-		{not in Vi}
 
 							*-i*
 -i {viminfo}	The file "viminfo" is used instead of the default viminfo
 		file.  If the name "NONE" is used (all uppercase), no viminfo
 		file is read or written, even if 'viminfo' is set or when
 		":rv" or ":wv" are used.  See also |viminfo-file|.
-		{not in Vi}
 
 							*--clean*
 --clean		Similar to "-u DEFAULTS -U NONE -i NONE":
@@ -551,7 +536,6 @@ a slash.  Thus "-R" means recovery and "
 		When the connection is desired later anyway (e.g., for
 		client-server messages), call the |serverlist()| function.
 		This does not enable the XSMP handler though.
-		{not in Vi}
 
 							*-s*
 -s {scriptin}	The script file "scriptin" is read.  The characters in the
@@ -560,7 +544,6 @@ a slash.  Thus "-R" means recovery and "
 		of the file is reached before the editor exits, further
 		characters are read from the keyboard.  Only works when not
 		started in Ex mode, see |-s-ex|.  See also |complex-repeat|.
-		{not in Vi}
 
 							*-w_nr*
 -w {number}
@@ -573,62 +556,59 @@ a slash.  Thus "-R" means recovery and "
 		":source!".  When the "scriptout" file already exists, new
 		characters are appended.  See also |complex-repeat|.
 		{scriptout} cannot start with a digit.
-		{not in Vi}
 
 							*-W*
 -W {scriptout}	Like -w, but do not append, overwrite an existing file.
-		{not in Vi}
 
 --remote [+{cmd}] {file} ...
 		Open the {file} in another Vim that functions as a server.
 		Any non-file arguments must come before this.
-		See |--remote|. {not in Vi}
+		See |--remote|.
 
 --remote-silent [+{cmd}] {file} ...
 		Like --remote, but don't complain if there is no server.
-		See |--remote-silent|. {not in Vi}
+		See |--remote-silent|.
 
 --remote-wait [+{cmd}] {file} ...
 		Like --remote, but wait for the server to finish editing the
 		file(s).
-		See |--remote-wait|. {not in Vi}
+		See |--remote-wait|.
 
 --remote-wait-silent [+{cmd}] {file} ...
 		Like --remote-wait, but don't complain if there is no server.
-		See |--remote-wait-silent|. {not in Vi}
+		See |--remote-wait-silent|.
 
 --servername {name}
 		Specify the name of the Vim server to send to or to become.
-		See |--servername|. {not in Vi}
+		See |--servername|.
 
 --remote-send {keys}
 		Send {keys} to a Vim server and exit.
-		See |--remote-send|. {not in Vi}
+		See |--remote-send|.
 
 --remote-expr {expr}
 		Evaluate {expr} in another Vim that functions as a server.
 		The result is printed on stdout.
-		See |--remote-expr|. {not in Vi}
+		See |--remote-expr|.
 
 --serverlist	Output a list of Vim server names and exit.  See
-		|--serverlist|. {not in Vi}
+		|--serverlist|.
 
 --socketid {id}						*--socketid*
 		GTK+ GUI Vim only.  Make gvim try to use GtkPlug mechanism, so
 		that it runs inside another window.  See |gui-gtk-socketid|
-		for details. {not in Vi}
+		for details.
 
 --windowid {id}						*--windowid*
 		Win32 GUI Vim only.  Make gvim try to use the window {id} as a
 		parent, so that it runs inside that window.  See
-		|gui-w32-windowid| for details. {not in Vi}
+		|gui-w32-windowid| for details.
 
 --echo-wid						*--echo-wid*
 		GTK+ GUI Vim only.  Make gvim echo the Window ID on stdout,
 		which can be used to run gvim in a kpart widget.  The format
 		of the output is: >
 			WID: 12345\n
-<		{not in Vi}
 
 --role {role}						*--role*
 		GTK+ 2 GUI only.  Set the role of the main window to {role}.
@@ -636,7 +616,6 @@ a slash.  Thus "-R" means recovery and "
 		identify a window, in order to restore window placement and
 		such.  The --role argument is passed automatically when
 		restoring the session on login.  See |gui-gnome-session|
-		{not in Vi}
 
 -P {parent-title}				*-P* *MDI* *E671* *E672*
 		Win32 only: Specify the title of the parent application.  When
@@ -1267,16 +1246,16 @@ vimrc file.
 							*:mk* *:mkexrc*
 :mk[exrc] [file]	Write current key mappings and changed options to
 			[file] (default ".exrc" in the current directory),
-			unless it already exists.  {not in Vi}
+			unless it already exists.
 
 :mk[exrc]! [file]	Always write current key mappings and changed
 			options to [file] (default ".exrc" in the current
-			directory).  {not in Vi}
+			directory).
 
 							*:mkv* *:mkvimrc*
 :mkv[imrc][!] [file]	Like ":mkexrc", but the default is ".vimrc" in the
 			current directory.  The ":version" command is also
-			written to the file.  {not in Vi}
+			written to the file.
 
 These commands will write ":map" and ":set" commands to a file, in such a way
 that when these commands are executed, the current key mappings and options
@@ -1342,8 +1321,7 @@ You can quickly start editing with a pre
 |-S| argument: >
 	vim -S Session.vim
 <
-All this is {not in Vi} and {not available when compiled without the
-|+mksession| feature}.
+All this is {not available when compiled without the |+mksession| feature}.
 
 							*:mks* *:mksession*
 :mks[ession][!] [file]	Write a Vim script that restores the current editing
@@ -1658,7 +1636,7 @@ most of the information will be restored
 :rv[iminfo][!] [file]	Read from viminfo file [file] (default: see above).
 			If [!] is given, then any information that is
 			already set (registers, marks, |v:oldfiles|, etc.)
-			will be overwritten   {not in Vi}
+			will be overwritten
 
 			*:wv* *:wviminfo* *E137* *E138* *E574* *E886* *E929*
 :wv[iminfo][!] [file]	Write to viminfo file [file] (default: see above).
@@ -1671,7 +1649,6 @@ most of the information will be restored
 			check that no old temp files were left behind (e.g.
 			~/.viminf*) and that you can write in the directory of
 			the .viminfo file.
-			{not in Vi}
 
 						*:ol* *:oldfiles*
 :ol[dfiles]		List the files that have marks stored in the viminfo
@@ -1681,8 +1658,7 @@ most of the information will be restored
 			The output can be filtered with |:filter|, e.g.: >
 				filter /\.vim/ oldfiles
 <			The filtering happens on the file name.
-			{not in Vi, only when compiled with the |+eval|
-			feature}
+			{only when compiled with the |+eval| feature}
 
 :bro[wse] ol[dfiles][!]
 			List file names as with |:oldfiles|, and then prompt
--- a/runtime/doc/tabpage.txt
+++ b/runtime/doc/tabpage.txt
@@ -1,4 +1,4 @@
-*tabpage.txt*   For Vim version 8.1.  Last change: 2018 Mar 29
+*tabpage.txt*   For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -16,7 +16,6 @@ 3. Other items			|tab-page-other|
 4. Setting 'tabline'		|setting-tabline|
 5. Setting 'guitablabel'	|setting-guitablabel|
 
-{Vi does not have any of these commands}
 {not able to use multiple tab pages when the |+windows| feature was disabled
 at compile time}
 
@@ -289,7 +288,6 @@ LOOPING OVER TAB PAGES:
 		current tab page.
 		{cmd} can contain '|' to concatenate several commands.
 		{cmd} must not open or close tab pages or reorder them.
-		{not in Vi}
 		Also see |:windo|, |:argdo|, |:bufdo|, |:cdo|, |:ldo|, |:cfdo|
 		and |:lfdo|
 
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -1075,6 +1075,7 @@
 'tag'	options.txt	/*'tag'*
 'tagbsearch'	options.txt	/*'tagbsearch'*
 'tagcase'	options.txt	/*'tagcase'*
+'tagfunc'	options.txt	/*'tagfunc'*
 'taglength'	options.txt	/*'taglength'*
 'tagrelative'	options.txt	/*'tagrelative'*
 'tags'	options.txt	/*'tags'*
@@ -1101,6 +1102,7 @@
 'textmode'	options.txt	/*'textmode'*
 'textwidth'	options.txt	/*'textwidth'*
 'tf'	options.txt	/*'tf'*
+'tfu'	options.txt	/*'tfu'*
 'tgc'	options.txt	/*'tgc'*
 'tgst'	options.txt	/*'tgst'*
 'thesaurus'	options.txt	/*'thesaurus'*
@@ -2133,17 +2135,25 @@ 90.5	usr_90.txt	/*90.5*
 :cabbrev	map.txt	/*:cabbrev*
 :cabc	map.txt	/*:cabc*
 :cabclear	map.txt	/*:cabclear*
+:cabo	quickfix.txt	/*:cabo*
+:cabove	quickfix.txt	/*:cabove*
 :cad	quickfix.txt	/*:cad*
 :caddbuffer	quickfix.txt	/*:caddbuffer*
 :cadde	quickfix.txt	/*:cadde*
 :caddexpr	quickfix.txt	/*:caddexpr*
 :caddf	quickfix.txt	/*:caddf*
 :caddfile	quickfix.txt	/*:caddfile*
+:caf	quickfix.txt	/*:caf*
+:cafter	quickfix.txt	/*:cafter*
 :cal	eval.txt	/*:cal*
 :call	eval.txt	/*:call*
 :cat	eval.txt	/*:cat*
 :catch	eval.txt	/*:catch*
 :cb	quickfix.txt	/*:cb*
+:cbe	quickfix.txt	/*:cbe*
+:cbe	quickfix.txt	/*:cbe*
+:cbefore	quickfix.txt	/*:cbefore*
+:cbelow	quickfix.txt	/*:cbelow*
 :cbo	quickfix.txt	/*:cbo*
 :cbottom	quickfix.txt	/*:cbottom*
 :cbuffer	quickfix.txt	/*:cbuffer*
@@ -2491,12 +2501,16 @@ 90.5	usr_90.txt	/*90.5*
 :lNf	quickfix.txt	/*:lNf*
 :lNfile	quickfix.txt	/*:lNfile*
 :la	editing.txt	/*:la*
+:lab	quickfix.txt	/*:lab*
+:labove	quickfix.txt	/*:labove*
 :lad	quickfix.txt	/*:lad*
 :laddb	quickfix.txt	/*:laddb*
 :laddbuffer	quickfix.txt	/*:laddbuffer*
 :laddexpr	quickfix.txt	/*:laddexpr*
 :laddf	quickfix.txt	/*:laddf*
 :laddfile	quickfix.txt	/*:laddfile*
+:laf	quickfix.txt	/*:laf*
+:lafter	quickfix.txt	/*:lafter*
 :lan	mlang.txt	/*:lan*
 :lang	mlang.txt	/*:lang*
 :language	mlang.txt	/*:language*
@@ -2504,6 +2518,10 @@ 90.5	usr_90.txt	/*90.5*
 :lat	undo.txt	/*:lat*
 :later	undo.txt	/*:later*
 :lb	quickfix.txt	/*:lb*
+:lbef	quickfix.txt	/*:lbef*
+:lbefore	quickfix.txt	/*:lbefore*
+:lbel	quickfix.txt	/*:lbel*
+:lbelow	quickfix.txt	/*:lbelow*
 :lbo	quickfix.txt	/*:lbo*
 :lbottom	quickfix.txt	/*:lbottom*
 :lbuffer	quickfix.txt	/*:lbuffer*
@@ -3185,6 +3203,9 @@ 90.5	usr_90.txt	/*90.5*
 :tag	tagsrch.txt	/*:tag*
 :tags	tagsrch.txt	/*:tags*
 :tc	if_tcl.txt	/*:tc*
+:tcd	editing.txt	/*:tcd*
+:tch	editing.txt	/*:tch*
+:tchdir	editing.txt	/*:tchdir*
 :tcl	if_tcl.txt	/*:tcl*
 :tcld	if_tcl.txt	/*:tcld*
 :tcldo	if_tcl.txt	/*:tcldo*
@@ -3918,7 +3939,7 @@ E232	message.txt	/*E232*
 E233	gui.txt	/*E233*
 E234	options.txt	/*E234*
 E235	options.txt	/*E235*
-E236	options.txt	/*E236*
+E236	gui.txt	/*E236*
 E237	print.txt	/*E237*
 E238	print.txt	/*E238*
 E239	sign.txt	/*E239*
@@ -3926,8 +3947,8 @@ E24	message.txt	/*E24*
 E240	remote.txt	/*E240*
 E241	eval.txt	/*E241*
 E243	if_ole.txt	/*E243*
-E244	options.txt	/*E244*
-E245	options.txt	/*E245*
+E244	gui.txt	/*E244*
+E245	gui.txt	/*E245*
 E246	autocmd.txt	/*E246*
 E247	remote.txt	/*E247*
 E248	remote.txt	/*E248*
@@ -4699,6 +4720,9 @@ E982	terminal.txt	/*E982*
 E983	message.txt	/*E983*
 E984	repeat.txt	/*E984*
 E985	eval.txt	/*E985*
+E986	tagsrch.txt	/*E986*
+E987	tagsrch.txt	/*E987*
+E988	gui_w32.txt	/*E988*
 E99	diff.txt	/*E99*
 E999	repeat.txt	/*E999*
 EX	intro.txt	/*EX*
@@ -6824,6 +6848,8 @@ gui-IME	gui.txt	/*gui-IME*
 gui-clipboard	gui_w32.txt	/*gui-clipboard*
 gui-colors	syntax.txt	/*gui-colors*
 gui-extras	gui.txt	/*gui-extras*
+gui-font	gui.txt	/*gui-font*
+gui-fontwide	gui.txt	/*gui-fontwide*
 gui-footer	debugger.txt	/*gui-footer*
 gui-fork	gui_x11.txt	/*gui-fork*
 gui-functions	usr_41.txt	/*gui-functions*
@@ -6875,8 +6901,8 @@ gui-x11-various	gui_x11.txt	/*gui-x11-va
 gui.txt	gui.txt	/*gui.txt*
 gui_w32.txt	gui_w32.txt	/*gui_w32.txt*
 gui_x11.txt	gui_x11.txt	/*gui_x11.txt*
-guifontwide_gtk	options.txt	/*guifontwide_gtk*
-guifontwide_win_mbyte	options.txt	/*guifontwide_win_mbyte*
+guifontwide_gtk	gui.txt	/*guifontwide_gtk*
+guifontwide_win_mbyte	gui.txt	/*guifontwide_win_mbyte*
 guu	change.txt	/*guu*
 gv	visual.txt	/*gv*
 gview	starting.txt	/*gview*
@@ -9049,6 +9075,7 @@ tag-binary-search	tagsrch.txt	/*tag-bina
 tag-blocks	motion.txt	/*tag-blocks*
 tag-commands	tagsrch.txt	/*tag-commands*
 tag-details	tagsrch.txt	/*tag-details*
+tag-function	tagsrch.txt	/*tag-function*
 tag-functions	usr_41.txt	/*tag-functions*
 tag-highlight	syntax.txt	/*tag-highlight*
 tag-matchlist	tagsrch.txt	/*tag-matchlist*
@@ -9226,6 +9253,7 @@ test_option_not_set()	eval.txt	/*test_op
 test_override()	eval.txt	/*test_override()*
 test_refcount()	eval.txt	/*test_refcount()*
 test_scrollbar()	eval.txt	/*test_scrollbar()*
+test_setmouse()	eval.txt	/*test_setmouse()*
 test_settime()	eval.txt	/*test_settime()*
 testing	eval.txt	/*testing*
 testing-variable	eval.txt	/*testing-variable*
@@ -9624,6 +9652,7 @@ version8.1	version8.txt	/*version8.1*
 version8.txt	version8.txt	/*version8.txt*
 vi	intro.txt	/*vi*
 vi-differences	vi_diff.txt	/*vi-differences*
+vi-features	vi_diff.txt	/*vi-features*
 vi:	options.txt	/*vi:*
 vi_diff.txt	vi_diff.txt	/*vi_diff.txt*
 vib	motion.txt	/*vib*
--- a/runtime/doc/tagsrch.txt
+++ b/runtime/doc/tagsrch.txt
@@ -1,4 +1,4 @@
-*tagsrch.txt*   For Vim version 8.1.  Last change: 2019 Apr 28
+*tagsrch.txt*   For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -60,7 +60,7 @@ CTRL-]			Jump to the definition of the k
 
 							*v_CTRL-]*
 {Visual}CTRL-]		Same as ":tag {name}", where {name} is the text that
-			is highlighted.  {not in Vi}
+			is highlighted.
 
 							*telnet-CTRL-]*
 CTRL-] is the default telnet escape key.  When you type CTRL-] to jump to a
@@ -112,18 +112,18 @@ Tags are only pushed onto the stack when
 g<RightMouse>						*g<RightMouse>*
 <C-RightMouse>					*<C-RightMouse>* *CTRL-T*
 CTRL-T			Jump to [count] older entry in the tag stack
-			(default 1).  {not in Vi}
+			(default 1).
 
 						*:po* *:pop* *E555* *E556*
 :[count]po[p][!]	Jump to [count] older entry in tag stack (default 1).
-			See |tag-!| for [!].  {not in Vi}
+			See |tag-!| for [!].
 
 :[count]ta[g][!]	Jump to [count] newer entry in tag stack (default 1).
-			See |tag-!| for [!].  {not in Vi}
+			See |tag-!| for [!].
 
 							*:tags*
 :tags			Show the contents of the tag stack.  The active
-			entry is marked with a '>'.  {not in Vi}
+			entry is marked with a '>'.
 
 The output of ":tags" looks like this:
 
@@ -204,7 +204,7 @@ the same entry.
 			the current position in the list (if there is one).
 			[name] can be a regexp pattern, see |tag-regexp|.
 			See |tag-priority| for the priorities used in the
-			listing.  {not in Vi}
+			listing.
 			Example output:
 
 >
@@ -231,54 +231,50 @@ the same entry.
 
 							*:sts* *:stselect*
 :sts[elect][!] [name]	Does ":tselect[!] [name]" and splits the window for
-			the selected tag.  {not in Vi}
+			the selected tag.
 
 							*g]*
 g]			Like CTRL-], but use ":tselect" instead of ":tag".
-			{not in Vi}
 
 							*v_g]*
 {Visual}g]		Same as "g]", but use the highlighted text as the
-			identifier.  {not in Vi}
+			identifier.
 
 							*:tj* *:tjump*
 :tj[ump][!] [name]	Like ":tselect", but jump to the tag directly when
-			there is only one match.  {not in Vi}
+			there is only one match.
 
 							*:stj* *:stjump*
 :stj[ump][!] [name]	Does ":tjump[!] [name]" and splits the window for the
-			selected tag.  {not in Vi}
+			selected tag.
 
 							*g_CTRL-]*
 g CTRL-]		Like CTRL-], but use ":tjump" instead of ":tag".
-			{not in Vi}
 
 							*v_g_CTRL-]*
 {Visual}g CTRL-]	Same as "g CTRL-]", but use the highlighted text as
-			the identifier.  {not in Vi}
+			the identifier.
 
 							*:tn* *:tnext*
 :[count]tn[ext][!]	Jump to [count] next matching tag (default 1).  See
-			|tag-!| for [!].  {not in Vi}
+			|tag-!| for [!].
 
 							*:tp* *:tprevious*
 :[count]tp[revious][!]	Jump to [count] previous matching tag (default 1).
-			See |tag-!| for [!].  {not in Vi}
+			See |tag-!| for [!].
 
 							*:tN* *:tNext*
-:[count]tN[ext][!]	Same as ":tprevious".  {not in Vi}
+:[count]tN[ext][!]	Same as ":tprevious".
 
 							*:tr* *:trewind*
 :[count]tr[ewind][!]	Jump to first matching tag.  If [count] is given, jump
-			to [count]th matching tag.  See |tag-!| for [!].  {not
-			in Vi}
+			to [count]th matching tag.  See |tag-!| for [!].
 
 							*:tf* *:tfirst*
-:[count]tf[irst][!]	Same as ":trewind".  {not in Vi}
+:[count]tf[irst][!]	Same as ":trewind".
 
 							*:tl* *:tlast*
-:tl[ast][!]		Jump to last matching tag.  See |tag-!| for [!].  {not
-			in Vi}
+:tl[ast][!]		Jump to last matching tag.  See |tag-!| for [!].
 
 							*:lt* *:ltag*
 :lt[ag][!] [name]	Jump to tag [name] and add the matching tags to a new
@@ -290,7 +286,6 @@ g CTRL-]		Like CTRL-], but use ":tjump" 
 			characters (very nomagic). The location list showing
 			the matching tags is independent of the tag stack.
 			See |tag-!| for [!].
-			{not in Vi}
 
 When there is no other message, Vim shows which matching tag has been jumped
 to, and the number of matching tags: >
@@ -317,34 +312,28 @@ the same as above, with a "p" prepended.
 							*:pts* *:ptselect*
 :pts[elect][!] [name]	Does ":tselect[!] [name]" and shows the new tag in a
 			"Preview" window.  See |:ptag| for more info.
-			{not in Vi}
 
 							*:ptj* *:ptjump*
 :ptj[ump][!] [name]	Does ":tjump[!] [name]" and shows the new tag in a
 			"Preview" window.  See |:ptag| for more info.
-			{not in Vi}
 
 							*:ptn* *:ptnext*
 :[count]ptn[ext][!]	":tnext" in the preview window.  See |:ptag|.
-			{not in Vi}
 
 							*:ptp* *:ptprevious*
 :[count]ptp[revious][!]	":tprevious" in the preview window.  See |:ptag|.
-			{not in Vi}
 
 							*:ptN* *:ptNext*
-:[count]ptN[ext][!]	Same as ":ptprevious".  {not in Vi}
+:[count]ptN[ext][!]	Same as ":ptprevious".
 
 							*:ptr* *:ptrewind*
 :[count]ptr[ewind][!]	":trewind" in the preview window.  See |:ptag|.
-			{not in Vi}
 
 							*:ptf* *:ptfirst*
-:[count]ptf[irst][!]	Same as ":ptrewind".  {not in Vi}
+:[count]ptf[irst][!]	Same as ":ptrewind".
 
 							*:ptl* *:ptlast*
 :ptl[ast][!]		":tlast" in the preview window.  See |:ptag|.
-			{not in Vi}
 
 ==============================================================================
 4. Tags details						*tag-details*
@@ -630,10 +619,7 @@ If the command is a normal search comman
 "?"), some special handling is done:
 - Searching starts on line 1 of the file.
   The direction of the search is forward for "/", backward for "?".
-  Note that 'wrapscan' does not matter, the whole file is always searched.  (Vi
-  does use 'wrapscan', which caused tags sometimes not be found.)  {Vi starts
-  searching in line 2 of another file.  It does not find a tag in line 1 of
-  another file when 'wrapscan' is not set}
+  Note that 'wrapscan' does not matter, the whole file is always searched.
 - If the search fails, another try is done ignoring case.  If that fails too,
   a search is done for:
 	"^tagname[ \t]*("
@@ -644,7 +630,7 @@ If the command is a normal search comman
 	"^[#a-zA-Z_].*\<tagname[ \t]*("
   This means: A line starting with '#' or an identifier and containing the tag
   followed by white space and a '('.  This will find macro names and function
-  names with a type prepended.  {the extra searches are not in Vi}
+  names with a type prepended.
 
 
 							*tag-old-static*
@@ -720,33 +706,31 @@ mapping to do that for you.  Here is an 
 			of the file.  Lines that look like a comment are
 			ignored (see 'comments' option).  If a count is given,
 			the count'th matching line is displayed, and comment
-			lines are not ignored.  {not in Vi}
+			lines are not ignored.
 
 							*]i*
 ]i			like "[i", but start at the current cursor position.
-			{not in Vi}
 
 							*:is* *:isearch*
 :[range]is[earch][!] [count] [/]pattern[/]
 			Like "[i"  and "]i", but search in [range] lines
 			(default: whole file).
-			See |:search-args| for [/] and [!].  {not in Vi}
+			See |:search-args| for [/] and [!].
 
 							*[I*
 [I			Display all lines that contain the keyword under the
 			cursor.  Filenames and line numbers are displayed
 			for the found lines.  The search starts at the
-			beginning of the file.  {not in Vi}
+			beginning of the file.
 
 							*]I*
 ]I			like "[I", but start at the current cursor position.
-			{not in Vi}
 
 							*:il* *:ilist*
 :[range]il[ist][!] [/]pattern[/]
 			Like "[I" and "]I", but search in [range] lines
 			(default: whole file).
-			See |:search-args| for [/] and [!].  {not in Vi}
+			See |:search-args| for [/] and [!].
 
 							*[_CTRL-I*
 [ CTRL-I		Jump to the first line that contains the keyword
@@ -754,17 +738,17 @@ mapping to do that for you.  Here is an 
 			of the file.  Lines that look like a comment are
 			ignored (see 'comments' option).  If a count is given,
 			the count'th matching line is jumped to, and comment
-			lines are not ignored.  {not in Vi}
+			lines are not ignored.
 
 							*]_CTRL-I*
 ] CTRL-I		like "[ CTRL-I", but start at the current cursor
-			position.  {not in Vi}
+			position.
 
 							*:ij* *:ijump*
 :[range]ij[ump][!] [count] [/]pattern[/]
 			Like "[ CTRL-I"  and "] CTRL-I", but search in
 			[range] lines (default: whole file).
-			See |:search-args| for [/] and [!].  {not in Vi}
+			See |:search-args| for [/] and [!].
 
 CTRL-W CTRL-I					*CTRL-W_CTRL-I* *CTRL-W_i*
 CTRL-W i		Open a new window, with the cursor on the first line
@@ -773,45 +757,43 @@ CTRL-W i		Open a new window, with the cu
 			that look like a comment line are ignored (see
 			'comments' option).  If a count is given, the count'th
 			matching line is jumped to, and comment lines are not
-			ignored.  {not in Vi}
+			ignored.
 
 							*:isp* *:isplit*
 :[range]isp[lit][!] [count] [/]pattern[/]
 			Like "CTRL-W i"  and "CTRL-W i", but search in
 			[range] lines (default: whole file).
-			See |:search-args| for [/] and [!].  {not in Vi}
+			See |:search-args| for [/] and [!].
 
 							*[d*
 [d			Display the first macro definition that contains the
 			macro under the cursor.  The search starts from the
 			beginning of the file.  If a count is given, the
-			count'th matching line is displayed.  {not in Vi}
+			count'th matching line is displayed.
 
 							*]d*
 ]d			like "[d", but start at the current cursor position.
-			{not in Vi}
 
 							*:ds* *:dsearch*
 :[range]ds[earch][!] [count] [/]string[/]
 			Like "[d"  and "]d", but search in [range] lines
 			(default: whole file).
-			See |:search-args| for [/] and [!].  {not in Vi}
+			See |:search-args| for [/] and [!].
 
 							*[D*
 [D			Display all macro definitions that contain the macro
 			under the cursor.  Filenames and line numbers are
 			displayed for the found lines.  The search starts
-			from the beginning of the file.  {not in Vi}
+			from the beginning of the file.
 
 							*]D*
 ]D			like "[D", but start at the current cursor position.
-			{not in Vi}
 
 							*:dli* *:dlist*
 :[range]dli[st][!] [/]string[/]
 			Like `[D`  and `]D`, but search in [range] lines
 			(default: whole file).
-			See |:search-args| for [/] and [!].  {not in Vi}
+			See |:search-args| for [/] and [!].
 			Note that `:dl` works like `:delete` with the "l"
 			flag, not `:dlist`.
 
@@ -819,36 +801,35 @@ CTRL-W i		Open a new window, with the cu
 [ CTRL-D		Jump to the first macro definition that contains the
 			keyword under the cursor.  The search starts from
 			the beginning of the file.  If a count is given, the
-			count'th matching line is jumped to.  {not in Vi}
+			count'th matching line is jumped to.
 
 							*]_CTRL-D*
 ] CTRL-D		like "[ CTRL-D", but start at the current cursor
-			position.  {not in Vi}
+			position.
 
 							*:dj* *:djump*
 :[range]dj[ump][!] [count] [/]string[/]
 			Like "[ CTRL-D"  and "] CTRL-D", but search  in
 			[range] lines (default: whole file).
-			See |:search-args| for [/] and [!].  {not in Vi}
+			See |:search-args| for [/] and [!].
 
 CTRL-W CTRL-D					*CTRL-W_CTRL-D* *CTRL-W_d*
 CTRL-W d		Open a new window, with the cursor on the first
 			macro definition line that contains the keyword
 			under the cursor.  The search starts from the
 			beginning of the file.  If a count is given, the
-			count'th matching line is jumped to.  {not in Vi}
+			count'th matching line is jumped to.
 
 							*:dsp* *:dsplit*
 :[range]dsp[lit][!] [count] [/]string[/]
 			Like "CTRL-W d", but search in [range] lines
 			(default: whole file).
-			See |:search-args| for [/] and [!].  {not in Vi}
+			See |:search-args| for [/] and [!].
 
 							*:che* *:checkpath*
 :che[ckpath]		List all the included files that could not be found.
-			{not in Vi}
 
-:che[ckpath]!		List all the included files.  {not in Vi}
+:che[ckpath]!		List all the included files.
 
 								*:search-args*
 Common arguments for the commands above:
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -1,4 +1,4 @@
-*terminal.txt*	For Vim version 8.1.  Last change: 2019 Feb 25
+*terminal.txt*	For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -42,7 +42,6 @@ 5. Debugging			|terminal-debug|
       Communication			|termdebug-communication|
       Customizing			|termdebug-customizing|
 
-{Vi does not have any of these commands}
 {only available when compiled with the |+terminal| feature}
 The terminal feature requires the |+job| and |+channel| features.
 
--- a/runtime/doc/textprop.txt
+++ b/runtime/doc/textprop.txt
@@ -20,7 +20,6 @@ 2. Functions			|text-prop-functions|
 3. When text changes		|text-prop-changes|
 
 
-{Vi does not have text properties}
 {not able to use text properties when the |+textprop| feature was
 disabled at compile time}
 
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.1.  Last change: 2019 Apr 20
+*todo.txt*      For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -145,6 +145,9 @@ Williams, 2018 Oct 30)
 
 Problem with :tlmenu: Detach item added with all modes?  Issue #3563.
 
+The quoting of the [command] argument of :terminal is not clearly documented.
+Give a few examples. (#4288)
+
 Bug: script written with "-W scriptout" contains Key codes, while the script
 read with "-s scriptin" expects escape codes.  Probably "scriptout" needs to
 be adjusted. (Daniel Steinberg, 2019 Feb 24, #4041)
@@ -165,9 +168,27 @@ Support setting the character displayed 
 Check: __attribute__((format(printf, on semsg() and siemsg().  Where was this
 added?
 
+Add test for urxvt mouse codes.  Also test that mouse coordinates can be
+negative. (see #4326)
+
+'cmdheight' has a tab-local value, but it cannot be obtained with
+`:echo gettabwinvar(2, 1, '&cmdheight')` returns the value for the _current_
+tab page. (Ingo Karkat, #4324)
+:call settabwinvar(1, 1, '&cmdheight', 2) also doesn't work well.
+
+Add a chdir() function, which will set the window-local, tab-local or global
+directory, first one that is currently used.  Returns the current directory,
+so that this works:
+    let save_dir = chdir('somewhere')
+    ...
+    call chdir(save_dir)
+
 This modeline throws unexpected errors: (#4165)
     vim: syn=nosyntax
 
+":doau SomeEvent" gives "No matching autocommands".  This message doesn't give
+a hint about how to fix it. (#4300)
+
 Make balloon_show() work outside of 'balloonexpr'?  Users expect it to work:
 #2948. (related to #1512?)
 On Win32 it stops showing, because showState is already ShS_SHOWING.
@@ -184,6 +205,9 @@ https://lgtm.com/projects/g/vim/vim/aler
 
 Still a E315 error when using terminal. (Masato Nishihata, #3959)
 
+Use dict_iterate_start() / dict_iterate_next() instead of relying on the
+internals of the dict structure.
+
 Running test_gui and test_gui_init with Motif sometimes kills the window
 manager.  Problem with Motif? Now test_gui crashes in submenu_change().
 Athena is OK.
@@ -191,23 +215,6 @@ Motif: Build on Ubuntu can't enter any t
 
 nvo-mode mapping works on Windows, not on Linux. (#3678)
 
-Patch to make Command-V use CTRL-R_CTRL-O* on Mac, like on Windows.
-(Ken Takata, #4266)
-
-No test for NULL after allocating memory: #4174 (martinkunevtoptal does this?)
-    src/crypt.c  line 256;
-    src/crypt_zip.c line  93;
-    src/gui_gtk_f.c  line 132;
-    src/gui_gtk_x11 line  1578;
-    src/libvterm/src/state.c line 332;
-    src/libvterm/src/state.c line 255;
-    src/libvterm/src/state.c line 1618;
-    src/libvterm/src/state.c line 1643
-    src/libvterm/src/termscreen.c line 83;
-    src/ops.c  line 6185;
-    src/option.c  line 12980;
-    src/popupmnu.c line 1090;
-
 Missing tests for:
 - add_termcap_entry()
 
@@ -240,6 +247,9 @@ punctuation is repeated. (Smylers, 2018 
 
 ml_get error: (Israel Chauca Fuentes, 2018 Oct 17, #3550).
 
+Using single wide base character with double wide composing character gives
+drawing errors.  Fill up the base character?  (Dominique, #4328)
+
 Problem with two buffers with the same name a/b, if it didn't exist before and
 is created outside of Vim. (dskloetg, 2018 Jul 16, #3219)
 
@@ -258,63 +268,41 @@ When splitting a window with few text li
 kept, which means part of the text isn't displayed.  Better show all the text
 when possible. (Dylan Lloyd, #3973)
 
-Patch to not recognize "version" as "v:version", "count" as "v:count".
-Ken Takata, #4274.
-
-Patch to implement 'diffref' option. (#3535)
-  Easier to use a 'diffmaster' option, is the extra complexity needed?
-
-Patch to fix that bracketed paste remains after Vim exits. (2018 Oct 30, #3579)
-
 Make ":interactive !cmd" stop termcap mode, also when used in an autocommand.
 (#3692)
 
-cursorline highlighting not removed after yanking in Visual mode.
-(Matéo Zanibelli, 2018 Oct 30, #3578)
-Patch by Christian, Oct 30.
-
-Patch to clean up CI configs. (Ozaki Kiichi, 2019 Feb 1, #3890)
-
-Patch to filter marks. (Marcin Szamotulski, 2019 Feb 7, #3895)
-
 Patch to add environ(), gets a dict with all environment vars, and getenv(),
 useful for environment vars that are not made of keyword chars.
 (Yasuhiro Matsumoto, #2875)
 
 Add buffer argument to undotree(). (#4001)
 
+Patch to restore X11 connection. (#844)
+
 Patch to add optional arguments with default values.
-(Andy Massimino, #3952)  under development
-
-Patch to add tab-local directories. (Yegappan, #4212)
-Good now?
+(Andy Massimino, #3952)  Needs to be reviewed.
 
 Patch to add more info to OptionSet.  Should mention what triggered the change
 ":set", ":setlocal", ":setglobal", "modeline"; and the old global value.
-#4118.  Proposed implementation: 2019 Mar 27.  Tests fail, help update
-missing. Updated 2019 Apr 9
+#4118.  Proposed implementation: 2019 Mar 27.
+Updated 2019 Apr 9: ASAN fails.
 
 Problem with Visual yank when 'linebreak' and 'showbreak' are set.
 Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018
 Nov 17)  Asked about this, Dec 22. Christian will have a look.
 
-Patch to add ruby cflags. (#4050, fixes #1081)
-Needs modification.
-
 Patch for larger icons in installer. (#978)  Still not good.
 
-Patch to add tagfunc().  Cleaned up by Christian Brabandt, 2013 Jun 22.
-New update 2017 Apr 10, #1628
-https://github.com/chrisbra/vim-mq-patches/blob/master/tagfunc
-Updated by Andy Massimino, 2018 Feb 7:
-https://github.com/andymass/vim/commit/4e3aa0a5dab96d2799567622f3f537e357aa479e 
-Or should we make it asynchronous?
-Patch by Andy Massimino: #4010 - needs a bit more work: produce errors when
-something is wrong.
+Patch to add commands to jump to quickfix entry above/below the cursor.
+(Yegappan Lakshmanan, #4316)  Also do :cbefore and :cafter.
 
 Patch to fix that using "5gj" starting inside a closed fold does not work on
 screen lines but on text lines. (Julius Hulsmann, #4095)  Lacks a test.
 
+Patch to implement 'diffref' option. (#3535)
+  Easier to use a 'diffmaster' option, is the extra complexity needed?
+  Not ready to include.
+
 Memory leaks in test_channel? (or is it because of fork())
 Using uninitialized value in test_crypt.
 Memory leak in test_terminal:
@@ -331,9 +319,6 @@ Memory leak in test_alot with pyeval() (
 
 gethostbyname() is old, use getaddrinfo() if available. (#3227)
 
-Patch to add match count and current index "3/44" when using "n" command.
-(Christian Brabandt, on issue #453).  Only when search string was typed?
-
 matchaddpos() gets slow with many matches.  Proposal by Rick Howe, 2018 Jul
 19.
 
@@ -455,6 +440,11 @@ Update Sep 7.  Update by Christian Braba
 Patch to be able to disable default digraphs (incomplete) (Eric Pruitt, 2018
 Nov 22).
 
+Patch to list user digraphs. (Christian Brabandt, 2012 Apr 14)
+
+Patch to add digraph() function. (Christian Brabandt, 2013 Aug 22, update Aug
+24)
+
 Try out background make plugin: 
   https://github.com/AndrewVos/vim-make-background
 or asyncmake: 
@@ -712,10 +702,6 @@ The ++ options for the :edit command are
 When recovering a file, put the swap file name in b:recovered_swapfile.  Then
 a command can delete it.
 
-When a swap file exists, is not for a running process, is from the same
-machine and recovering results in the same text, we could silently delete it.
-#1237
-
 Overlong utf-8 sequence is displayed wrong. (Harm te Hennepe, 2017 Sep 14,
 #2089)  Patch with possible solution by Björn Linse.
 
@@ -1019,6 +1005,8 @@ Regexp problems:
   time is spent in addstate_here() copying the threads.  Instead of copying,
   let each thread point to the next one (by offset, the list is reallocated).
   (Dominique Pelle, 2019 Feb 18)
+- Old engine: using 'incsearch' /\Zabc does not highlight the "c" if it has a
+  composing character.  New engine is OK. (Tony Mechelynck, 2019 May 5)
 - When search pattern has the base character both with and without combining
   character, search fails.  E.g. "รรีบ" in "การรีบรักใคร". (agguser, #2312)
 - [:space:] only matches ASCII spaces.  Add [:white:] for all space-like
@@ -1748,11 +1736,6 @@ When running Vim in silent ex mode, an e
 for a user action without a prompt. (Maarten Billemont, 2012 Feb 3)
 Do give the prompt? Quit with an error?
 
-Patch to list user digraphs. (Christian Brabandt, 2012 Apr 14)
-
-Patch to add digraph() function. (Christian Brabandt, 2013 Aug 22, update Aug
-24)
-
 Patch for input method status. (Hirohito Higashi, 2012 Apr 18)
 
 Update Vim app icon (for Gnome). (Jakub Steiner, 2013 Dec 6)
@@ -4010,7 +3993,8 @@ Folding:
     secondary: zB zS zT zZ, z=)
 8   Vertical folds: looks like vertically split windows, but the cursor moves
     through the vertical separator, separator moves when scrolling.
-8   Add "z/" and "z?" for searching in not folded text only.
+8   Add "z/" and "z?" for searching in not folded text only.  Or use a regexp
+    item, so that it can be used in any pattern.
 8   When a closed fold is displayed open because of 'foldminlines', the
     behavior of commands is still like the fold is closed.  How to make the
     user aware of this?
@@ -6001,7 +5985,7 @@ 6   Would it be possible to change the c
 			used, remove the <CR> at the end of lines in [range].
 			A CTRL-Z at the end of the file is removed.  If
 			[range] is omitted, or it is the whole file, and all
-			lines end in <CR> 'textmode' is set.  {not in Vi}
+			lines end in <CR> 'textmode' is set.
 -   Should integrate addstar() and file_pat_to_reg_pat().
 -   When working over a serial line with 7 bit characters, remove meta
     characters from 'isprint'.
--- a/runtime/doc/undo.txt
+++ b/runtime/doc/undo.txt
@@ -1,4 +1,4 @@
-*undo.txt*      For Vim version 8.1.  Last change: 2019 Jan 04
+*undo.txt*      For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -25,7 +25,7 @@ u			Undo [count] changes.  {Vi: only one
 :u[ndo]			Undo one change.  {Vi: only one level}
 								*E830*
 :u[ndo] {N}		Jump to after change number {N}.  See |undo-branches|
-			for the meaning of {N}.  {not in Vi}
+			for the meaning of {N}.
 
 							*CTRL-R*
 CTRL-R			Redo [count] changes which were undone.  {Vi: redraw
@@ -95,7 +95,6 @@ change but joins in with the previous ch
 			Warning: Use with care, it may prevent the user from
 			properly undoing changes.  Don't use this after undo
 			or redo.
-			{not in Vi}
 
 This is most useful when you need to prompt the user halfway through a change.
 For example in a function that calls |getchar()|.  Do make sure that there was
@@ -151,7 +150,7 @@ This is explained in the user manual: |u
 
 							*g-*
 g-			Go to older text state.  With a count repeat that many
-			times.  {not in Vi}
+			times.
 							*:ea* *:earlier*
 :earlier {count}	Go to older text state {count} times.
 :earlier {N}s		Go to older text state about {N} seconds before.
@@ -170,7 +169,7 @@ g-			Go to older text state.  With a cou
 
 							*g+*
 g+			Go to newer text state.  With a count repeat that many
-			times.  {not in Vi}
+			times.
 							*:lat* *:later*
 :later {count}		Go to newer text state {count} times.
 :later {N}s		Go to newer text state about {N} seconds later.
@@ -280,10 +279,8 @@ respectively:
 		the existing file and then creating a new file with the same
 		name. So it is not possible to overwrite an existing undofile
 		in a write-protected directory.
-		{not in Vi}
 
 :rundo {file}	Read undo history from {file}.
-		{not in Vi}
 
 You can use these in autocommands to explicitly specify the name of the
 history file.  E.g.: >
@@ -374,10 +371,10 @@ information you can use these commands: 
 	:unlet old_undolevels
 
 Marks for the buffer ('a to 'z) are also saved and restored, together with the
-text.  {Vi does this a little bit different}
+text.
 
 When all changes have been undone, the buffer is not considered to be changed.
-It is then possible to exit Vim with ":q" instead of ":q!" {not in Vi}.  Note
+It is then possible to exit Vim with ":q" instead of ":q!".  Note
 that this is relative to the last write of the file.  Typing "u" after ":w"
 actually changes the buffer, compared to what was written, so the buffer is
 considered changed then.
--- a/runtime/doc/usr_21.txt
+++ b/runtime/doc/usr_21.txt
@@ -1,4 +1,4 @@
-*usr_21.txt*	For Vim version 8.1.  Last change: 2012 Nov 02
+*usr_21.txt*	For Vim version 8.1.  Last change: 2019 Apr 25
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -263,7 +263,8 @@ well stand for "source").
 The windows that were open are restored, with the same position and size as
 before.  Mappings and option values are like before.
    What exactly is restored depends on the 'sessionoptions' option.  The
-default value is "blank,buffers,curdir,folds,help,options,winsize".
+default value is:
+"blank,buffers,curdir,folds,help,options,tabpages,winsize,terminal".
 
 	blank		keep empty windows
 	buffers		all buffers, not only the ones in a window
@@ -271,7 +272,9 @@ default value is "blank,buffers,curdir,f
 	folds		folds, also manually created ones
 	help		the help window
 	options		all options and mappings
+	tabpages	all tab pages
 	winsize		window sizes
+	terminal	include terminal windows
 
 Change this to your liking.  To also restore the size of the Vim window, for
 example, use: >
--- a/runtime/doc/usr_22.txt
+++ b/runtime/doc/usr_22.txt
@@ -1,4 +1,4 @@
-*usr_22.txt*	For Vim version 8.1.  Last change: 2016 Dec 13
+*usr_22.txt*	For Vim version 8.1.  Last change: 2019 Apr 27
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt*   For Vim version 8.1.  Last change: 2019 Mar 23
+*various.txt*   For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -73,8 +73,6 @@ ga			Print the ascii value of the charac
 			    <ö> 246, Hex 00f6, Oct 366, Digr o: ~
 			This shows you can type CTRL-K o : to insert ö.
 
-			{not in Vi}
-
 							*g8*
 g8			Print the hex values of the bytes used in the
 			character under the cursor, assuming it is in |UTF-8|
@@ -82,7 +80,6 @@ g8			Print the hex values of the bytes u
 			value of 'maxcombine' doesn't matter.
 			Example of a character with two composing characters:
 				e0 b8 81 + e0 b8 b9 + e0 b9 89 ~
-			{not in Vi}
 
 							*8g8*
 8g8			Find an illegal UTF-8 byte sequence at or after the
@@ -97,7 +94,6 @@ 8g8			Find an illegal UTF-8 byte sequenc
 			Note that when the cursor is on an illegal byte or the
 			cursor is halfway a multi-byte character the command
 			won't move the cursor.
-			{not in Vi}
 
 						*:p* *:pr* *:print* *E749*
 :[range]p[rint] [flags]
@@ -174,7 +170,6 @@ 8g8			Find an illegal UTF-8 byte sequenc
 
 :{range}z#[+-^.=]{count}				*:z#*
 			Like ":z", but number the lines.
-			{not in all versions of Vi, not with these arguments}
 
 							*:=*
 := [flags]		Print the last line number.
@@ -224,7 +219,6 @@ 8g8			Find an illegal UTF-8 byte sequenc
 
 			Example: >
 				:exe "normal \<c-w>\<c-w>"
-<			{not in Vi, of course}
 
 :{range}norm[al][!] {commands}				*:normal-range*
 			Execute Normal mode commands {commands} for each line
@@ -232,7 +226,6 @@ 8g8			Find an illegal UTF-8 byte sequenc
 			cursor is positioned in the first column of the range,
 			for each line.  Otherwise it's the same as the
 			":normal" command without a range.
-			{not in Vi}
 
 							*:sh* *:shell* *E371*
 :sh[ell]		This command starts a shell.  When the shell exits
@@ -490,7 +483,7 @@ N  *+X11*		Unix only: can restore window
 :ve[rsion] {nr}		Is now ignored.  This was previously used to check the
 			version number of a .vimrc file.  It was removed,
 			because you can now use the ":if" command for
-			version-dependent behavior.  {not in Vi}
+			version-dependent behavior.
 
 							*:redi* *:redir*
 :redi[r][!] > {file}	Redirect messages to file {file}.  The messages which
@@ -510,31 +503,28 @@ N  *+X11*		Unix only: can restore window
 			with ":silent call Function()".
 			An alternative is to use the 'verbosefile' option,
 			this can be used in combination with ":redir".
-			{not in Vi}
 
 :redi[r] >> {file}	Redirect messages to file {file}.  Append if {file}
-			already exists.  {not in Vi}
+			already exists.
 
 :redi[r] @{a-zA-Z}
 :redi[r] @{a-zA-Z}>	Redirect messages to register {a-z}.  Append to the
 			contents of the register if its name is given
 			uppercase {A-Z}.  The ">" after the register name is
-			optional. {not in Vi}
-:redi[r] @{a-z}>>	Append messages to register {a-z}. {not in Vi}
+			optional.
+:redi[r] @{a-z}>>	Append messages to register {a-z}.
 
 :redi[r] @*>		
 :redi[r] @+>		Redirect messages to the selection or clipboard. For
 			backward compatibility, the ">" after the register
 			name can be omitted. See |quotestar| and |quoteplus|.
-			{not in Vi}
 :redi[r] @*>>		
 :redi[r] @+>>		Append messages to the selection or clipboard.
-			{not in Vi}
 
 :redi[r] @">		Redirect messages to the unnamed register. For
 			backward compatibility, the ">" after the register
-			name can be omitted. {not in Vi}
-:redi[r] @">>		Append messages to the unnamed register. {not in Vi}
+			name can be omitted.
+:redi[r] @">>		Append messages to the unnamed register.
 
 :redi[r] => {var}	Redirect messages to a variable.  If the variable
 			doesn't exist, then it is created.  If the variable
@@ -543,14 +533,14 @@ N  *+X11*		Unix only: can restore window
 			Only string variables can be used.  After the
 			redirection starts, if the variable is removed or
 			locked or the variable type is changed, then further
-			command output messages will cause errors. {not in Vi}
+			command output messages will cause errors.
 			To get the output of one command the |execute()|
 			function can be used.
 
 :redi[r] =>> {var}	Append messages to an existing variable.  Only string
-			variables can be used. {not in Vi}
+			variables can be used.
 
-:redi[r] END		End redirecting messages.  {not in Vi}
+:redi[r] END		End redirecting messages.
 
 							*:filt* *:filter*
 :filt[er][!] {pat} {command}
@@ -692,12 +682,11 @@ K			Run a program to lookup the keyword 
 <			- When 'keywordprg' is equal to "man -s", a count
 			  before "K" is inserted after the "-s".  If there is
 			  no count, the "-s" is removed.
-			{not in Vi}
 
 							*v_K*
 {Visual}K		Like "K", but use the visually highlighted text for
 			the keyword.  Only works when the highlighted text is
-			not more than one line.  {not in Vi}
+			not more than one line.
 
 [N]gs							*gs* *:sl* *:sleep*
 :[N]sl[eep] [N]	[m]	Do nothing for [N] seconds.  When [m] is included,
@@ -710,7 +699,7 @@ K			Run a program to lookup the keyword 
 <			Can be interrupted with CTRL-C (CTRL-Break on MS-DOS).
 			"gs" stands for "goto sleep".
 			While sleeping the cursor is positioned in the text,
-			if at a visible position.  {not in Vi}
+			if at a visible position.
 			Also process the received netbeans messages. {only
 			available when compiled with the |+netbeans_intg|
 			feature}
--- a/runtime/doc/vi_diff.txt
+++ b/runtime/doc/vi_diff.txt
@@ -1,4 +1,4 @@
-*vi_diff.txt*   For Vim version 8.1.  Last change: 2019 Apr 28
+*vi_diff.txt*   For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -6,9 +6,8 @@
 
 Differences between Vim and Vi				*vi-differences*
 
-Throughout the help files differences between Vim and Vi/Ex are given in
-curly braces, like "{not in Vi}".  This file only lists what has not been
-mentioned in other files and gives an overview.
+This file lists the differences between Vim and Vi/Ex and gives an overview of
+what is in Vim that is not in Vi.
 
 Vim is mostly POSIX 1003.2-1 compliant.  The only command known to be missing
 is ":open".  There are probably a lot of small differences (either because Vim
@@ -180,6 +179,10 @@ Multiple windows and buffers.				|window
 	line with tab labels can be used to quickly switch between these pages.
 	|tab-page|
 
+Terminal window.					|:terminal|
+	Vim can create a window in which a terminal emulator runs.  This can
+	be used to execute an arbitrary command, a shell or a debugger.
+
 Syntax highlighting.					|:syntax|
 	Vim can highlight keywords, patterns and other things.  This is
 	defined by a number of |:syntax| commands, and can be made to
@@ -194,6 +197,11 @@ Syntax highlighting.					|:syntax|
 	|'hlsearch'|, matching parens |matchparen| and the cursor line and
 	column |'cursorline'| |'cursorcolumn'|.
 
+Text properties						|textprop.txt|
+	Vim supports highlighting text by a plugin.  Property types can be
+	specificed with |prop_type_add()| and properties can be placed with
+	|prop_add()|.
+
 Spell checking.						|spell|
 	When the 'spell' option is set Vim will highlight spelling mistakes.
 	About 50 languages are currently supported, selected with the
@@ -262,6 +270,8 @@ Visual mode.						|Visual-mode|
 		~	swap case
 		u	make lowercase
 		U	make uppercase
+	{Vi has no Visual mode, the name "visual" is used for Normal mode, to
+	distinguish it from Ex mode}
 
 Block operators.					|visual-block|
 	With Visual mode a rectangular block of text can be selected.  Start
@@ -522,6 +532,10 @@ With the CTRL-] command, the cursor may 
 The used tags are remembered.  Commands that can be used with the tag stack
 are CTRL-T, ":pop" and ":tag".  ":tags" lists the tag stack.
 
+Vi uses 'wrapscan' when searching for a tag.  When jumping to a tag Vi starts
+searching in line 2 of another file.  It does not find a tag in line 1 of
+another file when 'wrapscan' is not set.
+
 The 'tags' option can be set to a list of tag file names.  Thus multiple
 tag files can be used.  For file names that start with "./", the "./" is
 replaced with the path of the current file.  This makes it possible to use a
@@ -795,23 +809,231 @@ the 'compatible' option is set and 'cpop
 effect is of resetting 'compatible' and removing flags from 'cpoptions' can be
 found at the help for the specific command.
 
-Below is listed what features are present in Vi.  Anything else has been added
-by Vim.
+The help files used to mark features that are in Vim but not in Vi with {not
+in Vi}.  However, since these remarks cluttered the help files we now do it
+the other way around: Below is listed what Vi already supported.  Anything
+else has been added by Vim.
+
 
 The following Ex commands are supported by Vi: ~
 
-TODO
-
-`:set`		but not `:set inv{option}`, `:set option&`, `:set all&`,
-		`:set option+=value`,
-		`:set option^=value`
-		`:set option-=value`
-		`:set option<`
+`:abbreviate`	enter abbreviation
+`:append`	append text
+`:args`		print the argument list
+`:cd`		change directory; Vi: no "cd -"
+`:change`	replace a line or series of lines
+`:chdir`	change directory
+`:copy`		copy lines
+`:delete`	delete lines
+`:edit`		edit a file
+`:exit`		same as ":xit"
+`:file`		show or set the current file name; Vi: without the column number
+`:global`	execute commands for matching lines
+`:insert`	insert text
+`:join`		join lines; Vi: not :join!
+`:k`		set a mark
+`:list`		print lines
+`:map` 		show or enter a mapping
+`:mark`		set a mark
+`:move`		move lines
+`:Next`		go to previous file in the argument list; no count or ++opt
+`:next`		go to next file in the argument list; no count or ++opt
+`:number`	print lines with line number
+`:open`		start open mode (not implemented in Vim)
+`:pop`		jump to older entry in tag stack (only in some versions)
+`:preserve`	write all text to swap file
+`:print`	print lines
+`:put`		insert contents of register in the text
+`:quit`		quit Vi
+`:read`		read file into the text
+`:recover`	recover a file from a swap file
+`:rewind` 	go to the first file in the argument list; no ++opt
+`:set`		set option; but not `:set inv{option}`, `:set option&`,
+		`:set all&`, `:set option+=value`, `:set option^=value`
+		`:set option-=value` `:set option<`
+`:shell`	escape to a shell
+`:source`	read Vim or Ex commands from a file
+`:stop`		suspend the editor or escape to a shell
+`:substitute`	find and replace text; Vi: no '&', 'i', 's', 'r' or 'I' flag,
+		confirm prompt only supports 'y' and 'n', no highlighting
+`:suspend`	same as ":stop"
+`:t`		same as ":copy"
+`:tag`		jump to tag
+`:unabbreviate`	remove abbreviation
+`:undo`		undo last change {Vi: only one level}
+`:unmap`	remove mapping
+`:vglobal`	execute commands for not matching lines
+`:version`	print version number and other info
+`:visual`	same as ":edit", but turns off "Ex" mode
+`:wq`		write to a file and quit Vi
+`:write`	write to a file
+`:xit`		write if buffer changed and quit Vi
+`:yank`		yank lines into a register
+`:z`		print some lines {not in all versions of Vi}
+`:!` 		filter lines or execute an external command
+`:"`		comment
+`:#`		same as ":number"
+`:*`		execute contents of a register
+`:&`		repeat last ":substitute"
+`:<`		shift lines one 'shiftwidth' left
+`:=`		print the cursor line number
+`:>`		shift lines one 'shiftwidth' right
+`:@`		execute contents of a register; but not `:@`; `:@@` only in
+		some versions
 
 
 The following Normal mode commands are supported by Vi: ~
 
-TODO
+|CTRL-B|	scroll N screens Backwards
+|CTRL-C|	interrupt current (search) command
+|CTRL-D|	scroll Down N lines (default: half a screen); Vim scrolls
+		'scroll' screen lines, Vi scrolls file lines; makes a
+		difference when lines wrap
+|CTRL-E|	scroll N lines upwards (N lines Extra)
+|CTRL-F|	scroll N screens Forward
+|CTRL-G|	display current file name and position
+|<BS>|		same as "h"
+|CTRL-H|	same as "h"
+|<NL>|		same as "j"
+|CTRL-J|	same as "j"
+|CTRL-L|	redraw screen
+|<CR>|		cursor to the first CHAR N lines lower
+|CTRL-M|	same as <CR>
+|CTRL-N|	same as "j"
+|CTRL-P|	same as "k"
+|CTRL-R|	in some Vi versions: same as CTRL-L
+|CTRL-T|	jump to N older Tag in tag list
+|CTRL-U|	N lines Upwards (default: half a screen)
+|CTRL-Y|	scroll N lines downwards
+|CTRL-Z|	suspend program (or start new shell)
+|CTRL-]|	:ta to ident under cursor
+|CTRL-^|	edit alternate file; Vi: no count
+|<Space>|	same as "l"
+|!|		filter Nmove text through the {filter} command
+|!!|		filter N lines through the {filter} command
+"		use register {a-zA-Z0-9.%#:-"} for next delete, yank or put
+		(uppercase to append) ({.%#:} only work with put)
+|$|		cursor to the end of Nth next line
+|%|		find the next (curly/square) bracket on this line and go to
+		its match, or go to matching comment bracket, or go to
+		matching preprocessor directive (Vi: no count supported)
+|&|		repeat last :s
+|'|		jump to mark (Vi: only lowercase marks)
+|(|		cursor N sentences backward
+|)|		cursor N sentences forward
+|+|		same as <CR>
+|,|		repeat latest f, t, F or T in opposite direction N times
+|-|		cursor to the first CHAR N lines higher
+|.|		repeat last change with count replaced with N
+|/|		search forward for the Nth occurrence of {pattern}
+|0|		cursor to the first char of the line
+|:|		start entering an Ex command
+|;|		repeat latest f, t, F or T N times
+|<|		shift Nmove lines one 'shiftwidth' leftwards
+|<<|		shift N lines one 'shiftwidth' leftwards
+|=|		filter Nmove lines through "indent"
+|==|		filter N lines through "indent"
+|>|		shift Nmove lines one 'shiftwidth' rightwards
+|>>|		shift N lines one 'shiftwidth' rightwards
+|?|		search backward for the Nth previous occurrence of {pattern}
+|@|		execute the contents of register {a-z} N times
+|@@|		repeat the previous @{a-z} N times
+|A|		append text after the end of the line N times
+|B|		cursor N WORDS backward
+|C|		change from the cursor position to the end of the line
+|D|		delete the characters under the cursor until the end of the
+		line and N-1 more lines [into register x]; synonym for "d$"
+|E|		cursor forward to the end of WORD N
+|F|		cursor to the Nth occurrence of {char} to the left
+|G|		cursor to line N, default last line
+|H|		cursor to line N from top of screen
+|I|		insert text before the first CHAR on the line N times
+|J|		Join N lines; default is 2
+|L|		cursor to line N from bottom of screen
+|M|		cursor to middle line of screen
+|N|		repeat the latest '/' or '?' N times in opposite direction
+|O|		begin a new line above the cursor and insert text, repeat N
+		times
+|P|		put the text [from register x] before the cursor N times
+|Q|		switch to "Ex" mode
+|R|		enter replace mode: overtype existing characters, repeat the
+		entered text N-1 times
+|S|		delete N lines [into register x] and start insert; synonym for
+		"cc".
+|T|		cursor till after Nth occurrence of {char} to the left
+|U|		undo all latest changes on one line
+|W|		cursor N WORDS forward
+|X|		delete N characters before the cursor [into register x]
+|Y|		yank N lines [into register x]; synonym for "yy"
+|ZZ|		store current file if modified, and exit
+|[[|		cursor N sections backward
+|]]|		cursor N sections forward
+|^|		cursor to the first CHAR of the line
+|_|		cursor to the first CHAR N - 1 lines lower
+|`|		cursor to the mark {a-zA-Z0-9}
+|a|		append text after the cursor N times
+|b|		cursor N words backward
+|c|		delete Nmove text [into register x] and start insert
+|cc|		delete N lines [into register x] and start insert
+|d|		delete Nmove text [into register x]
+|dd|		delete N lines [into register x]
+|e|		cursor forward to the end of word N
+|f|		cursor to Nth occurrence of {char} to the right
+|h|		cursor N chars to the left
+|i|		insert text before the cursor N times
+|j|		cursor N lines downward
+|k|		cursor N lines upward
+|l|		cursor N chars to the right
+|m|		set mark {A-Za-z} at cursor position
+|n|		repeat the latest '/' or '?' N times
+|o|		begin a new line below the cursor and insert text
+|p|		put the text [from register x] after the cursor N times
+|r|		replace N chars with {char}
+|s|		(substitute) delete N characters [into register x] and start
+		insert
+|t|		cursor till before Nth occurrence of {char} to the right
+|u|		undo changes {Vi: only one level}
+|w|		cursor N words forward
+|x|		delete N characters under and after the cursor [into register
+		x]
+|y|		yank Nmove text [into register x]
+|yy|		yank N lines [into register x]
+|z<CR>|		current line to the top
+|z-|		current line to the bottom
+|z+|		cursor on line N
+|z^|		cursor on line N
+|{|		cursor N paragraphs backward
+|		cursor to column N
+|}|		cursor N paragraphs forward
+|~|		switch case of N characters under the cursor; Vim: depends on
+		'tildeop'
+|<Del>|		same as "x"
+
+
+The following commands are supported in Insert mode by Vi: ~
+
+CTRL-@		insert previously inserted text and stop insert
+CTRL-C		quit insert mode, without checking for abbreviation, unless
+		'insertmode' set.
+CTRL-D		delete one shiftwidth of indent in the current line
+<BS>		delete character before the cursor
+CTRL-H		same as <BS>
+<Tab>		insert a <Tab> character
+CTRL-I		same as <Tab>
+<NL>		same as <CR>
+CTRL-J		same as <CR>
+<CR>		begin new line
+CTRL-M		same as <CR>
+CTRL-T		insert one shiftwidth of indent in current line
+CTRL-V {char}	insert next non-digit literally
+CTRL-W		delete word before the cursor
+CTRL-Z		when 'insertmode' set: suspend Vim
+<Esc>		end insert mode (unless 'insertmode' set)
+CTRL-[		same as <Esc>
+0 CTRL-D	delete all indent in the current line
+^ CTRL-D	delete all indent in the current line, restore it in the next
+		line
+<Del>		delete character under the cursor
 
 
 The following options are supported by Vi: ~
@@ -849,11 +1071,14 @@ The following options are supported by V
 'term'			    name of the terminal
 'terse'			    shorten some messages
 'timeout'	  'to'	    time out on mappings and key codes
+'timeoutlen'	  'tm'	    time for 'timeout' {only in some Vi versions}
 'ttytype'	  'tty'     alias for 'term'
 'verbose'	  'vbs'     give informative messages {only in some Vi
 				versions as a boolean option}
 'warn'			    warn for shell command when buffer was changed
 'window'	  'wi'	    nr of lines to scroll for CTRL-F and CTRL-B
+			    {Vi also uses the option to specify the number of
+			    displayed lines}
 'wrapmargin'	  'wm'	    chars from the right where wrapping starts
 'wrapscan'	  'ws'	    searches wrap around the end of the file
 'writeany'	  'wa'	    write to file with no need for "!" override
@@ -968,7 +1193,8 @@ Only Vim is able to accept options in be
 -i		Elvis: Start each window in Insert mode.
 -i {viminfo}	Vim: Use {viminfo} for viminfo file.
 
--L		Vim: Same as "-r" (also in some versions of Vi).
+-L		Vim: Same as "-r" {only in some versions of Vi: "List
+		recoverable edit sessions"}.
 
 -l		Nvi, Vi, Vim: Set 'lisp' and 'showmatch' options.
 
--- a/runtime/doc/visual.txt
+++ b/runtime/doc/visual.txt
@@ -1,4 +1,4 @@
-*visual.txt*    For Vim version 8.1.  Last change: 2019 Feb 25
+*visual.txt*    For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -20,8 +20,6 @@ 6. Repeating				|visual-repeat|
 7. Examples				|visual-examples|
 8. Select mode				|Select-mode|
 
-{Vi has no Visual mode, the name "visual" is used for Normal mode, to
-distinguish it from Ex mode}
 {Since Vim 7.4.200 the |+visual| feature is always included}
 
 ==============================================================================
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 8.1.  Last change: 2019 Mar 17
+*windows.txt*   For Vim version 8.1.  Last change: 2019 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -26,7 +26,6 @@ 10. The preview window				|preview-windo
 11. Using hidden buffers			|buffer-hidden|
 12. Special kinds of buffers			|special-buffers|
 
-{Vi does not have any of these commands}
 {not able to use multiple windows when the |+windows| feature was disabled at
 compile time}
 {not able to use vertically split windows when the |+vertsplit| feature was
@@ -737,7 +736,7 @@ 8. Do a command in all buffers or window
 			the current window.
 			{cmd} can contain '|' to concatenate several commands.
 			{cmd} must not open or close windows or reorder them.
-			{not in Vi}
+
 			Also see |:tabdo|, |:argdo|, |:bufdo|, |:cdo|, |:ldo|,
 			|:cfdo| and |:lfdo|
 
@@ -765,7 +764,7 @@ 8. Do a command in all buffers or window
 			autocommand event is disabled by adding it to
 			'eventignore'.  This considerably speeds up editing
 			each buffer.
-			{not in Vi}
+
 			Also see |:tabdo|, |:argdo|, |:windo|, |:cdo|, |:ldo|,
 			|:cfdo| and |:lfdo|
 
@@ -891,7 +890,7 @@ CTRL-W CTRL-Z					*CTRL-W_CTRL-Z* *:pc* 
 							*:pp* *:ppop*
 :[count]pp[op][!]
 		Does ":[count]pop[!]" in the preview window.  See |:pop| and
-		|:ptag|.  {not in Vi}
+		|:ptag|.
 
 CTRL-W }						*CTRL-W_}*
 		Use identifier under cursor as a tag and perform a :ptag on
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1280,
+/**/
     1279,
 /**/
     1278,