diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 9d7e4ce..e962343 100644
--- 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-@		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 @@
 		"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 @@
 		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 @@
 				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 @@
 <		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 @@
 		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-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 @@
 		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 @@
 		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 @@
 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 @@
 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 @@
 			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 @@
 			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 @@
 			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 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*
