Make the references to features in the help more consistent. (Sylvain Hitier)
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*