*pi_paren.txt*  For Vim version 7.3.  Last change: 2008 Jun 16


		  VIM REFERENCE MANUAL    by Bram Moolenaar


Highlighting matching parens			*matchparen*

The functionality mentioned here is a |standard-plugin|.
This plugin is only available if 'compatible' is not set.

You can avoid loading this plugin by setting the "loaded_matchparen" variable: >
	:let loaded_matchparen = 1

The plugin installs CursorMoved, CursorMovedI and WinEnter autocommands to
redefine the match highlighting.

					*:NoMatchParen* *:DoMatchParen*
To disable the plugin after it was loaded use this command: >

	:NoMatchParen

And to enable it again: >

	:DoMatchParen

The highlighting used is MatchParen.  You can specify different colors with
the ":highlight" command.  Example: >

	:hi MatchParen ctermbg=blue guibg=lightblue

The characters to be matched come from the 'matchpairs' option.  You can
change the value to highlight different matches.  Note that not everything is
possible.  For example, you can't highlight single or double quotes, because
the start and end are equal.

The syntax highlighting attributes are used.  When the cursor currently is not
in a string or comment syntax item, then matches inside string and comment
syntax items are ignored.  Any syntax items with "string" or "comment"
somewhere in their name are considered string or comment items.

The search is limited to avoid a delay when moving the cursor.  The limits
are:
- What is visible in the window.
- 100 lines above or below the cursor to avoid a long delay when there are
  closed folds.
- 'synmaxcol' times 2 bytes before or after the cursor to avoid a delay
  in a long line with syntax highlighting.


If you would like the |%| command to work better, the matchit plugin can be
used, see |matchit-install|.  This plugin also helps to skip matches in
comments.  This is unrelated to the matchparen highlighting, they use a
different mechanism.

==============================================================================
 vim:tw=78:ts=8:ft=help:norl:
