diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index f3250af..639bac5 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -159,7 +159,7 @@
 			<Tab> may replace several characters at once.
 			Repeat the entered text [count]-1 times.  See
 			|Virtual-Replace-mode| for more details.
-			{not available when compiled without the +vreplace
+			{not available when compiled without the |+vreplace|
 			feature}
 
 							*c*
@@ -279,7 +279,7 @@
 			space.  See |gR| and |Virtual-Replace-mode| for more
 			details.  As with |r| a count may be given.
 			{char} can be entered like with |r|.
-			{not available when compiled without the +vreplace
+			{not available when compiled without the |+vreplace|
 			feature}
 
 						*digraph-arg*
@@ -622,9 +622,9 @@
 	    '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}
+			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}
+			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.
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index 52d16c3..9b61742 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -182,7 +182,7 @@
 		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
+		CTRL-F and CTRL-P: {only when |+file_in_path| feature is
 		included}
 
 					*c_CTRL-R_CTRL-R* *c_<C-R>_<C-R>*
@@ -754,7 +754,7 @@
 	#<n	(where n is a number > 0) is replaced with old	  *:_#<* *c_#<*
 		file name n.  See |:oldfiles| or |v:oldfiles| to get the
 		number.							*E809*
-		{only when compiled with the +eval and +viminfo features}
+		{only when compiled with the |+eval| and |+viminfo| features}
 
 Note that these, except "#<n", give the file name as it was typed.  If an
 absolute path is needed (when using the file name from a different directory),
@@ -1032,7 +1032,7 @@
 The command-line window cannot be used:
 - when there already is a command-line window (no nesting)
 - for entering an encryption key or when using inputsecret()
-- when Vim was not compiled with the +vertsplit feature
+- when Vim was not compiled with the |+vertsplit| feature
 
 Some options are set when the command-line window is opened:
 'filetype'	"vim", when editing an Ex command-line; this starts Vim syntax
diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt
index 65ff863..fa7a11f 100644
--- a/runtime/doc/diff.txt
+++ b/runtime/doc/diff.txt
@@ -5,7 +5,7 @@
 
 
 				*diff* *vimdiff* *gvimdiff* *diff-mode*
-This file describes the +diff feature: Showing differences between two,
+This file describes the |+diff| feature: Showing differences between two,
 three or four versions of the same file.
 
 The basics are explained in section |08.7| of the user manual.
diff --git a/runtime/doc/digraph.txt b/runtime/doc/digraph.txt
index 0f3afff..373671e 100644
--- a/runtime/doc/digraph.txt
+++ b/runtime/doc/digraph.txt
@@ -57,8 +57,8 @@
 "10".  That's because NUL characters are internally represented with a NL
 character.  When you write the file it will become a NUL character.
 
-When Vim was compiled without the +multi_byte feature, you need to specify the
-character in the encoding given with 'encoding'.  You might want to use
+When Vim was compiled without the |+multi_byte| feature, you need to specify
+the character in the encoding given with 'encoding'.  You might want to use
 something like this: >
 
 	if has("multi_byte")
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index 2c7a25e..4823f10 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -782,7 +782,7 @@
 LOCAL ARGUMENT LIST
 
 {not in Vi}
-{not available when compiled without the |+windows| or |+listcmds| feature}
+{not available when compiled without the |+windows| or |+listcmds| features}
 
 							*:arglocal*
 :argl[ocal]		Make a local copy of the global argument list.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 4bec711..8b767f6 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1170,7 +1170,7 @@
 						*tabpage-variable* *t:var*
 A variable name that is preceded with "t:" is local to the current tab page,
 It is deleted when the tab page is closed. {not available when compiled
-without the +windows feature}
+without the |+windows| feature}
 
 						*global-variable* *g:var*
 Inside functions global variables are accessed with "g:".  Omitting this will
@@ -1508,7 +1508,7 @@
 		The List can be modified, but this has no effect on what is
 		stored in the |viminfo| file later.  If you use values other
 		than String this will cause trouble.
-		{only when compiled with the +viminfo feature}
+		{only when compiled with the |+viminfo| feature}
 
 					*v:operator* *operator-variable*
 v:operator	The last operator given in Normal mode.  This is a single
@@ -1993,7 +1993,7 @@
 <			1.570796 >
 			:echo acos(-0.5)
 <			2.094395
-		{only available when compiled with |+float|}
+		{only available when compiled with the |+float| feature}
 
 
 add({list}, {expr})					*add()*
@@ -2048,7 +2048,7 @@
 <			0.927295 >
 			:echo asin(-0.5)
 <			-0.523599
-		{only available when compiled with |+float|}
+		{only available when compiled with the |+float| feature}
 
 
 atan({expr})						*atan()*
@@ -2072,7 +2072,7 @@
 <			-0.785398 >
 			:echo atan2(1, -1)
 <			2.356194
-		{only available when compiled with |+float|}
+		{only available when compiled with the |+float| feature}
 
 
 							*browse()*
@@ -2434,7 +2434,7 @@
 <			1.127626 >
 			:echo cosh(-0.5)
 <			-1.127626
-		{only available when compiled with |+float|}
+		{only available when compiled with the |+float| feature}
 
 		
 count({comp}, {expr} [, {ic} [, {start}]])			*count()*
@@ -2705,7 +2705,7 @@
 <			7.389056 >
 			:echo exp(-1)
 <			0.367879
-		{only available when compiled with |+float|}
+		{only available when compiled with the |+float| feature}
 
 
 expand({expr} [, {flag}])				*expand()*
@@ -2896,7 +2896,8 @@
 		{name} in {path} instead of the first one.
 		When {count} is negative return all the matches in a |List|.
 		This is quite similar to the ex-command |:find|.
-		{only available when compiled with the +file_in_path feature}
+		{only available when compiled with the |+file_in_path|
+		feature}
 
 findfile({name}[, {path}[, {count}]])				*findfile()*
 		Just like |finddir()|, but find a file instead of a directory.
@@ -2954,7 +2955,7 @@
 <			0.13 >
 			:echo fmod(-12.33, 1.22)
 <			-0.13
-		{only available when compiled with |+float|}
+		{only available when compiled with |+float| feature}
 
 
 fnameescape({string})					*fnameescape()*
@@ -3618,7 +3619,7 @@
 <		Note that Vim uses UTF-8 for all Unicode encodings, conversion
 		from/to UCS-2 is automatically changed to use UTF-8.  You
 		cannot use UCS-2 in a string anyway, because of the NUL bytes.
-		{only available when compiled with the +multi_byte feature}
+		{only available when compiled with the |+multi_byte| feature}
 
 							*indent()*
 indent({lnum})	The result is a Number, which is indent of line {lnum} in the
@@ -3927,7 +3928,7 @@
 <			2.302585 >
 			:echo log(exp(5))
 <			5.0
-		{only available when compiled with |+float|}
+		{only available when compiled with the |+float| feature}
 
 
 log10({expr})						*log10()*
@@ -4561,7 +4562,7 @@
 		and {end}.
 		The {start} and {end} arguments must be values returned by
 		reltime().
-		{only available when compiled with the +reltime feature}
+		{only available when compiled with the |+reltime| feature}
 
 reltimestr({time})				*reltimestr()*
 		Return a String that represents the time value of {time}.
@@ -4576,7 +4577,7 @@
 		can use split() to remove it. >
 			echo split(reltimestr(reltime(start)))[0]
 <		Also see |profiling|.
-		{only available when compiled with the +reltime feature}
+		{only available when compiled with the |+reltime| feature}
 
 							*remote_expr()* *E449*
 remote_expr({server}, {string} [, {idvar}])
@@ -4763,7 +4764,7 @@
 		{timeout} is 500 the search stops after half a second.
 		The value must not be negative.  A zero value is like not
 		giving the argument.
-		{only available when compiled with the +reltime feature}
+		{only available when compiled with the |+reltime| feature}
 
 		If there is no match a 0 is returned and the cursor doesn't
 		move.  No error message is given.
@@ -5224,7 +5225,7 @@
 <			0.521095 >
 			:echo sinh(-0.9)
 <			-1.026517
-		{only available when compiled with |+float|}
+		{only available when compiled with the |+float| feature}
 
 
 sort({list} [, {func}])					*sort()* *E702*
@@ -5763,7 +5764,7 @@
 <			0.648361 >
 			:echo tan(-4.01)
 <			-1.181502
-		{only available when compiled with |+float|}
+		{only available when compiled with the |+float| feature}
 
 
 tanh({expr})						*tanh()*
@@ -5775,7 +5776,7 @@
 <			0.462117 >
 			:echo tanh(-1)
 <			-0.761594
-		{only available when compiled with |+float|}
+		{only available when compiled with the |+float| feature}
 
 
 tolower({expr})						*tolower()*
diff --git a/runtime/doc/fold.txt b/runtime/doc/fold.txt
index a4a98a1..95f1d8a 100644
--- a/runtime/doc/fold.txt
+++ b/runtime/doc/fold.txt
@@ -15,7 +15,7 @@
 4. Behavior of folds	|fold-behavior|
 
 {Vi has no Folding}
-{not available when compiled without the +folding feature}
+{not available when compiled without the |+folding| feature}
 
 ==============================================================================
 1. Fold methods					*fold-methods*
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index c2fa1d9..74119a6 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -102,7 +102,7 @@
 |i_CTRL-^|	CTRL-^		toggle use of |:lmap| mappings
 |i_CTRL-_|	CTRL-_		When 'allowrevins' set: change language
 				(Hebrew, Farsi) {only when compiled with
-				+rightleft feature}
+				the |+rightleft| feature}
 
 		<Space> to '~'	not used, except '0' and '^' followed by
 				CTRL-D
@@ -163,7 +163,7 @@
 |i_CTRL-X_CTRL-V|	CTRL-X CTRL-V	complete like in : command line
 |i_CTRL-X_CTRL-]|	CTRL-X CTRL-]	complete tags
 |i_CTRL-X_s|		CTRL-X s	spelling suggestions
-{not available when compiled without the +insert_expand feature}
+{not available when compiled without the |+insert_expand| feature}
 
 ==============================================================================
 2. Normal mode						*normal-index*
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 55249d8..56a96d7 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -527,7 +527,7 @@
 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}
+{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
@@ -1781,7 +1781,7 @@
 			or script is finished.
 			This command does not work from |:normal|.
 			{not in Vi}
-			{not available when compiled without the +ex_extra
+			{not available when compiled without the |+ex_extra|
 			feature}
 
 							*:stopi* *:stopinsert*
@@ -1800,14 +1800,14 @@
 			script that the replacement will only start after
 			the function or script is finished.
 			{not in Vi}
-			{not available when compiled without the +ex_extra
+			{not available when compiled without the |+ex_extra|
 			feature}
 
 							*:startgreplace*
 :startg[replace][!]	Just like |:startreplace|, but use Virtual Replace
 			mode, like with |gR|.
 			{not in Vi}
-			{not available when compiled without the +ex_extra
+			{not available when compiled without the |+ex_extra|
 			feature}
 
 ==============================================================================
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index 2217f04..9535f03 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -770,7 +770,7 @@
 			    "block"	{motion} was |blockwise-visual|
 			Although "block" would rarely appear, since it can
 			only result from Visual mode where "g@" is not useful.
-			{not available when compiled without the +eval
+			{not available when compiled without the |+eval|
 			feature}
 
 Here is an example that counts the number of spaces with <F4>: >
@@ -1080,7 +1080,7 @@
 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
+This is all {not in Vi} and {not available when compiled without the |+eval|
 feature}.
 
 ==============================================================================
diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt
index e7ac11a..1a1fb64 100644
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -14,7 +14,7 @@
 manual.
 For changing the language of messages and menus see |mlang.txt|.
 
-{not available when compiled without the +multi_byte feature}
+{not available when compiled without the |+multi_byte| feature}
 
 
 1.  Getting started			|mbyte-first|
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index d3e5eef..8d52966 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1010,7 +1010,7 @@
 							*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}
+			{not available without the |+jumplist| feature}
 
 <Tab>		or					*CTRL-I* *<Tab>*
 CTRL-I			Go to [count] newer cursor position in jump list
@@ -1018,18 +1018,18 @@
 			In a |quickfix-window| it takes you to the position of
 			the error under the cursor.
 			{not in Vi}
-			{not available without the +jumplist feature}
+			{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}
+			Vi} {not available without the |+jumplist| feature}
 
 							*jumplist*
 Jumps are remembered in a jump list.  With the CTRL-O and CTRL-I command you
 can go to cursor positions before older jumps, and back again.  Thus you can
 move up and down the list.  There is a separate jump list for each window.
 The maximum number of entries is fixed at 100.
-{not available without the +jumplist feature}
+{not available without the |+jumplist| feature}
 
 For example, after three jump commands you have this jump list:
 
@@ -1106,14 +1106,14 @@
 			If there is no older change an error message is given.
 			(not a motion command)
 			{not in Vi}
-			{not available without the +jumplist feature}
+			{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}
+			{not available without the |+jumplist| feature}
 
 When using a count you jump as far back or forward as possible.  Thus you can
 use "999g;" to go to the first change for which the position is still
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 38d663e..e77f334 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -137,7 +137,7 @@
 	Last set from error handler ~
 		Option was cleared when evaluating it resulted in an error.
 
-{not available when compiled without the +eval feature}
+{not available when compiled without the |+eval| feature}
 
 							*:set-termcap* *E522*
 For {option} the form "t_xx" may be used to set a terminal option.  This will
@@ -1159,7 +1159,7 @@
 'breakat' 'brk'		string	(default " ^I!@*-+;:,./?")
 			global
 			{not in Vi}
-			{not available when compiled without the  |+linebreak|
+			{not available when compiled without the |+linebreak|
 			feature}
 	This option lets you choose which characters might cause a line
 	break if 'linebreak' is on.  Only works for ASCII and also for 8-bit
@@ -1319,7 +1319,7 @@
 'charconvert' 'ccv'	string (default "")
 			global
 			{only available when compiled with the |+multi_byte|
-			feature and the |+eval| feature}
+			and |+eval| features}
 			{not in Vi}
 	An expression that is used for character encoding conversion.  It is
 	evaluated when a file that is to be read or has been written has a
@@ -1624,7 +1624,7 @@
 	'whichwrap'	+ ""		left-right movements don't wrap
 	'wildchar'	+ CTRL-E	only when the current value is <Tab>
 					use CTRL-E for cmdline completion
-	'writebackup'	  on or off	depends on +writebackup feature
+	'writebackup'	  on or off	depends on the |+writebackup| feature
 
 						*'complete'* *'cpt'* *E535*
 'complete' 'cpt'	string	(default: ".,w,b,u,t,i")
@@ -1674,8 +1674,8 @@
 'completefunc' 'cfu'	string	(default: empty)
 			local to buffer
 			{not in Vi}
-			{not available when compiled without the +eval
-			or +insert_expand feature}
+			{not available when compiled without the |+eval|
+			or |+insert_expand| features}
 	This option specifies a function to be used for Insert mode completion
 	with CTRL-X CTRL-U. |i_CTRL-X_CTRL-U|
 	See |complete-functions| for an explanation of how the function is
@@ -2209,7 +2209,7 @@
 'cursorcolumn' 'cuc'	boolean	(default off)
 			local to window
 			{not in Vi}
-			{not available when compiled without the  |+syntax|
+			{not available when compiled without the |+syntax|
 			feature}
 	Highlight the screen column of the cursor with CursorColumn
 	|hl-CursorColumn|.  Useful to align text.  Will make screen redrawing
@@ -2224,7 +2224,7 @@
 'cursorline' 'cul'	boolean	(default off)
 			local to window
 			{not in Vi}
-			{not available when compiled without the  |+syntax|
+			{not available when compiled without the |+syntax|
 			feature}
 	Highlight the screen line of the cursor with CursorLine
 	|hl-CursorLine|.  Useful to easily spot the cursor.  Will make screen
@@ -2444,7 +2444,7 @@
 'eadirection' 'ead'	string	(default "both")
 			global
 			{not in Vi}
-			{not available when compiled without the +vertsplit
+			{not available when compiled without the |+vertsplit|
 			feature}
 	Tells when the 'equalalways' option applies:
 		ver	vertically, width of windows is not affected
@@ -2962,7 +2962,7 @@
 			local to window
 			{not in Vi}
 			{not available when compiled without the |+folding|
-			or |+eval| feature}
+			or |+eval| features}
 	The expression used for when 'foldmethod' is "expr".  It is evaluated
 	for each line to obtain its fold level.  See |fold-expr|.
 
@@ -3607,7 +3607,7 @@
 			global
 			{not in Vi}
 			{only available when compiled with GUI enabled and
-			with the +windows feature}
+			with the |+windows| feature}
 	When nonempty describes the text to use in a label of the GUI tab
 	pages line.  When empty and when the result is empty Vim will use a
 	default label.  See |setting-guitablabel| for more info.
@@ -3624,7 +3624,7 @@
 			global
 			{not in Vi}
 			{only available when compiled with GUI enabled and
-			with the +windows feature}
+			with the |+windows| feature}
 	When nonempty describes the text to use in a tooltip for the GUI tab
 	pages line.  When empty Vim will use a default tooltip.
 	This option is otherwise just like 'guitablabel' above.
@@ -3651,7 +3651,7 @@
 'helpheight' 'hh'	number	(default 20)
 			global
 			{not in Vi}
-			{not available when compiled without the +windows
+			{not available when compiled without the |+windows|
 			feature}
 	Minimal initial height of the help window when it is opened with the
 	":help" command.  The initial height of the help window is half of the
@@ -3910,8 +3910,8 @@
 'imcmdline' 'imc'	boolean (default off)
 			global
 			{not in Vi}
-			{only available when compiled with the |+xim|
-			|+multi_byte_ime| or |global-ime| feature}
+			{only available when compiled with the |+xim|,
+			|+multi_byte_ime| or |global-ime| features}
 	When set the Input Method is always on when starting to edit a command
 	line, unless entering a search pattern (see 'imsearch' for that).
 	Setting this option is useful when your input method allows entering
@@ -3922,8 +3922,8 @@
 'imdisable' 'imd'	boolean (default off, on for some systems (SGI))
 			global
 			{not in Vi}
-			{only available when compiled with the |+xim|
-			|+multi_byte_ime| or |global-ime| feature}
+			{only available when compiled with the |+xim|,
+			|+multi_byte_ime| or |global-ime| features}
 	When set the Input Method is never used.  This is useful to disable
 	the IM when it doesn't work properly.
 	Currently this option is on by default for SGI/IRIX machines.  This
@@ -3993,7 +3993,7 @@
 			local to buffer
 			{not in Vi}
 			{not available when compiled without the
-			|+find_in_path| or |+eval| feature}
+			|+find_in_path| or |+eval| features}
 	Expression to be used to transform the string found with the 'include'
 	option to a file name.  Mostly useful to change "." to "/" for Java: >
 		:set includeexpr=substitute(v:fname,'\\.','/','g')
@@ -4014,7 +4014,7 @@
 			global
 			{not in Vi}
 			{not available when compiled without the
-			|+extra_search| feature}
+			|+extra_search| features}
 	While typing a search command, show where the pattern, as it was typed
 	so far, matches.  The matched string is highlighted.  If the pattern
 	is invalid or not found, nothing is shown.  The screen will be updated
@@ -4407,7 +4407,7 @@
 'linebreak' 'lbr'	boolean	(default off)
 			local to window
 			{not in Vi}
-			{not available when compiled without the  |+linebreak|
+			{not available when compiled without the |+linebreak|
 			feature}
 	If on Vim will wrap long lines at a character in 'breakat' rather
 	than at the last character that fits on the screen.  Unlike
@@ -4664,7 +4664,7 @@
 'maxfuncdepth' 'mfd'	number	(default 100)
 			global
 			{not in Vi}
-			{not available when compiled without the +eval
+			{not available when compiled without the |+eval|
 			feature}
 	Maximum depth of function calls for user functions.  This normally
 	catches endless recursion.  When using a recursive function with
@@ -5039,8 +5039,8 @@
 'omnifunc' 'ofu'	string	(default: empty)
 			local to buffer
 			{not in Vi}
-			{not available when compiled without the +eval
-			or +insert_expand feature}
+			{not available when compiled without the |+eval|
+			or |+insert_expand| features}
 	This option specifies a function to be used for Insert mode omni
 	completion with CTRL-X CTRL-O. |i_CTRL-X_CTRL-O|
 	See |complete-functions| for an explanation of how the function is
@@ -5268,7 +5268,7 @@
 			global
 			{not in Vi}
 			{not available when compiled without the |+windows| or
-			|+quickfix| feature}
+			|+quickfix| features}
 	Default height for a preview window.  Used for |:ptag| and associated
 	commands.  Used for |CTRL-W_}| when no count is given.
 
@@ -5278,7 +5278,7 @@
 			local to window
 			{not in Vi}
 			{not available when compiled without the |+windows| or
-			|+quickfix| feature}
+			|+quickfix| features}
 	Identifies the preview window.  Only one window can have this option
 	set.  It's normally not set directly, but by using one of the commands
 	|:ptag|, |:pedit|, etc.
@@ -5769,7 +5769,7 @@
 					       help,options,tabpages,winsize")
 			global
 			{not in Vi}
-			{not available when compiled without the +mksession
+			{not available when compiled without the |+mksession|
 			feature}
 	Changes the effect of the |:mksession| command.  It is a comma
 	separated list of words.  Each word enables saving and restoring
@@ -6079,7 +6079,7 @@
 'showbreak' 'sbr'	string	(default "")
 			global
 			{not in Vi}
-			{not available when compiled without the  |+linebreak|
+			{not available when compiled without the |+linebreak|
 			feature}
 	String to put at the start of lines that have been wrapped.  Useful
 	values are "> " or "+++ ": >
@@ -6163,7 +6163,7 @@
 'showtabline' 'stal'	number	(default 1)
 			global
 			{not in Vi}
-			{not available when compiled without the +windows
+			{not available when compiled without the |+windows|
 			feature}
 	The value of this option specifies when the line with tab page labels
 	will be displayed:
@@ -6438,7 +6438,7 @@
 'splitbelow' 'sb'	boolean	(default off)
 			global
 			{not in Vi}
-			{not available when compiled without the +windows
+			{not available when compiled without the |+windows|
 			feature}
 	When on, splitting a window will put the new window below the current
 	one. |:split|
@@ -6447,7 +6447,7 @@
 'splitright' 'spr'	boolean	(default off)
 			global
 			{not in Vi}
-			{not available when compiled without the +vertsplit
+			{not available when compiled without the |+vertsplit|
 			feature}
 	When on, splitting a window will put the new window right of the
 	current one. |:vsplit|
@@ -6757,7 +6757,7 @@
 'tabline' 'tal'		string	(default empty)
 			global
 			{not in Vi}
-			{not available when compiled without the +windows
+			{not available when compiled without the |+windows|
 			feature}
 	When nonempty, this option determines the content of the tab pages
 	line at the top of the Vim window.  When empty Vim will use a default
@@ -6781,7 +6781,7 @@
 'tabpagemax' 'tpm'	number	(default 10)
 			global
 			{not in Vi}
-			{not available when compiled without the +windows
+			{not available when compiled without the |+windows|
 			feature}
 	Maximum number of tab pages to be opened by the |-p| command line
 	argument or the ":tab all" command. |tabpage|
@@ -7348,7 +7348,7 @@
 'undodir' 'udir'	string	(default ".")
 			global
 			{not in Vi}
-			{only when compiled with the +persistent_undo feature}
+			{only when compiled with the |+persistent_undo| feature}
 	List of directory names for undo files, separated with commas.
 	See |'backupdir'| for details of the format.
 	"." means using the directory of the file.  The undo file name for
@@ -7366,7 +7366,7 @@
 'undofile' 'udf'	boolean	(default off)
 			local to buffer
 			{not in Vi}
-			{only when compiled with the +persistent_undo feature}
+			{only when compiled with the |+persistent_undo| feature}
 	When on, Vim automatically saves undo history to an undo file when
 	writing a buffer to a file, and restores undo history from the same
 	file on buffer read.
@@ -7480,7 +7480,7 @@
 				 for RiscOS: "Choices:vimfiles/view")
 			global
 			{not in Vi}
-			{not available when compiled without the +mksession
+			{not available when compiled without the |+mksession|
 			feature}
 	Name of the directory where to store files for |:mkview|.
 	This option cannot be set from a |modeline| or in the |sandbox|, for
@@ -7490,7 +7490,7 @@
 'viewoptions' 'vop'	string	(default: "folds,options,cursor")
 			global
 			{not in Vi}
-			{not available when compiled without the +mksession
+			{not available when compiled without the |+mksession|
 			feature}
 	Changes the effect of the |:mkview| command.  It is a comma separated
 	list of words.  Each word enables saving and restoring something:
@@ -7516,7 +7516,7 @@
 				   for others: '100,<50,s10,h)
 			global
 			{not in Vi}
-			{not available when compiled without the  |+viminfo|
+			{not available when compiled without the |+viminfo|
 			feature}
 	When non-empty, the viminfo file is read upon startup and written
 	when exiting Vim (see |viminfo-file|).  The string should be a comma
@@ -7880,7 +7880,7 @@
 'winheight' 'wh'	number	(default 1)
 			global
 			{not in Vi}
-			{not available when compiled without the +windows
+			{not available when compiled without the |+windows|
 			feature}
 	Minimal number of lines for the current window.  This is not a hard
 	minimum, Vim will use fewer lines if there is not enough room.  If the
@@ -7903,7 +7903,7 @@
 'winfixheight' 'wfh'	boolean	(default off)
 			local to window
 			{not in Vi}
-			{not available when compiled without the +windows
+			{not available when compiled without the |+windows|
 			feature}
 	Keep the window height when windows are opened or closed and
 	'equalalways' is set.  Also for |CTRL-W_=|.  Set by default for the
@@ -7914,7 +7914,7 @@
 'winfixwidth' 'wfw'	boolean	(default off)
 			local to window
 			{not in Vi}
-			{not available when compiled without the +windows
+			{not available when compiled without the |+windows|
 			feature}
 	Keep the window width when windows are opened or closed and
 	'equalalways' is set.  Also for |CTRL-W_=|.
@@ -7924,7 +7924,7 @@
 'winminheight' 'wmh'	number	(default 1)
 			global
 			{not in Vi}
-			{not available when compiled without the +windows
+			{not available when compiled without the |+windows|
 			feature}
 	The minimal height of a window, when it's not the current window.
 	This is a hard minimum, windows will never become smaller.
@@ -7940,7 +7940,7 @@
 'winminwidth' 'wmw'	number	(default 1)
 			global
 			{not in Vi}
-			{not available when compiled without the +vertsplit
+			{not available when compiled without the |+vertsplit|
 			feature}
 	The minimal width of a window, when it's not the current window.
 	This is a hard minimum, windows will never become smaller.
@@ -7957,7 +7957,7 @@
 'winwidth' 'wiw'	number	(default 20)
 			global
 			{not in Vi}
-			{not available when compiled without the +vertsplit
+			{not available when compiled without the |+vertsplit|
 			feature}
 	Minimal number of columns for the current window.  This is not a hard
 	minimum, Vim will use fewer columns if there is not enough room.  If
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index 9a67685..620476b 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -765,7 +765,7 @@
 	branch is used.  Example: >
 		/\(.\{-}\zsFab\)\{3}
 <	Finds the third occurrence of "Fab".
-	{not in Vi} {not available when compiled without the +syntax feature}
+	{not in Vi} {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|
@@ -773,7 +773,7 @@
 	branch is used.
 	Example: "end\ze\(if\|for\)" matches the "end" in "endif" and
 	"endfor".
-	{not in Vi} {not available when compiled without the +syntax feature}
+	{not in Vi} {not available when compiled without the |+syntax| feature}
 
 						*/\%^* *start-of-file*
 \%^	Matches start of the file.  When matching with a string, matches the
@@ -1085,7 +1085,7 @@
 	To include a "[" use "[[]" and for "]" use []]", e.g.,: >
 		/index\%[[[]0[]]]
 <	matches "index" "index[", "index[0" and "index[0]".
-	{not available when compiled without the +syntax feature}
+	{not available when compiled without the |+syntax| feature}
 
 				*/\%d* */\%x* */\%o* */\%u* */\%U* *E678*
 
diff --git a/runtime/doc/rileft.txt b/runtime/doc/rileft.txt
index d95dfe0..9a1059d 100644
--- a/runtime/doc/rileft.txt
+++ b/runtime/doc/rileft.txt
@@ -15,8 +15,7 @@
 {Vi does not have any of these commands}
 
 								*E26*
-This feature is only available when the |+rightleft| feature was enabled
-at compile time.
+{only available when compiled with the |+rightleft| feature}
 
 
 Introduction
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index 8a7404e..9653298 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1498,7 +1498,8 @@
 			file.  This list is read on startup and only changes
 			afterwards with ":rviminfo!".  Also see |v:oldfiles|.
 			The number can be used with |c_#<|.
-			{not in Vi, only when compiled with the +eval feature}
+			{not in Vi, only when compiled with the |+eval|
+			feature}
 
 :bro[wse] ol[dfiles][!]
 			List file names as with |:oldfiles|, and then prompt
diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt
index c339e36..8c9c419 100644
--- a/runtime/doc/term.txt
+++ b/runtime/doc/term.txt
@@ -443,7 +443,7 @@
     endif
 NOTE: When Vim exits the shape for Normal mode will remain.  The shape from
 before Vim started will not be restored.
-{not available when compiled without the +cursorshape feature}
+{not available when compiled without the |+cursorshape| feature}
 
 							*termcap-title*
 The 't_ts' and 't_fs' options are used to set the window title if the terminal
diff --git a/runtime/doc/usr_02.txt b/runtime/doc/usr_02.txt
index e83563a..55e28d7 100644
--- a/runtime/doc/usr_02.txt
+++ b/runtime/doc/usr_02.txt
@@ -529,7 +529,7 @@
 	:help -subject
 <		Command-line option "-subject". >
 	:help +subject
-<		Compile-time feature "+subject'. >
+<		Compile-time feature "+subject". >
 	:help EventName
 <		Autocommand event "EventName". >
 	:help digraphs.txt
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 59a25cf..eccd622 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -204,8 +204,8 @@
 			for each line.  Otherwise it's the same as the
 			":normal" command without a range.
 			{not in Vi}
-			Not available when |+ex_extra| feature was disabled at
-			compile time.
+			{not available when |+ex_extra| feature was disabled
+			at compile time}
 
 							*:sh* *:shell* *E371*
 :sh[ell]		This command starts a shell.  When the shell exits
@@ -558,7 +558,7 @@
 defined manually then there will be no "Last set" message.  When it was
 defined while executing a function, user command or autocommand, the script in
 which it was defined is reported.
-{not available when compiled without the +eval feature}
+{not available when compiled without the |+eval| feature}
 
 							*K*
 K			Run a program to lookup the keyword under the
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index 48fd416..6e18b40 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 7.3g.  Last change: 2010 Apr 12
+*windows.txt*   For Vim version 7.3g.  Last change: 2010 Aug 15
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -439,7 +439,7 @@
 		current window and then creating another one with
 		":vert topleft split", except that the current window contents
 		is used for the new window.
-		{not available when compiled without the +vertsplit feature}
+		{not available when compiled without the |+vertsplit| feature}
 
 						*CTRL-W_L*
 CTRL-W L	Move the current window to be at the far right, using the full
@@ -447,7 +447,7 @@
 		current window and then creating another one with
 		":vert botright split", except that the current window
 		contents is used for the new window.
-		{not available when compiled without the +vertsplit feature}
+		{not available when compiled without the |+vertsplit| feature}
 
 						*CTRL-W_T*
 CTRL-W T	Move the current window to a new tab page.  This fails if
@@ -645,7 +645,7 @@
 		When using the |:tab| modifier each argument is opened in a
 		tab page.  The last window is used if it's empty.
 		Also see |++opt| and |+cmd|.
-		{only available when compiled with the +gui feature}
+		{only available when compiled with a GUI}
 
 ==============================================================================
 8. Do a command in all buffers or windows			*list-repeat*
