blob: 049889699d7396410556e3c0207921c8ec97acb4 [file] [log] [blame]
Matteo Landi59834ba2024-11-04 20:46:54 +01001*pi_paren.txt* For Vim version 9.1. Last change: 2024 Nov 04
Bram Moolenaar5e3cb7e2006-02-27 23:58:35 +00002
3
4 VIM REFERENCE MANUAL by Bram Moolenaar
5
6
7Highlighting matching parens *matchparen*
8
9The functionality mentioned here is a |standard-plugin|.
10This plugin is only available if 'compatible' is not set.
11
12You can avoid loading this plugin by setting the "loaded_matchparen" variable: >
Matteo Landi59834ba2024-11-04 20:46:54 +010013
Bram Moolenaar5e3cb7e2006-02-27 23:58:35 +000014 :let loaded_matchparen = 1
15
Bram Moolenaarfa2e0442007-08-18 16:21:50 +000016The plugin installs CursorMoved, CursorMovedI and WinEnter autocommands to
17redefine the match highlighting.
Bram Moolenaar5e3cb7e2006-02-27 23:58:35 +000018
Bram Moolenaar446cb832008-06-24 21:56:24 +000019 *:NoMatchParen* *:DoMatchParen*
Bram Moolenaar5e3cb7e2006-02-27 23:58:35 +000020To disable the plugin after it was loaded use this command: >
21
22 :NoMatchParen
23
24And to enable it again: >
25
26 :DoMatchParen
27
Bram Moolenaarfd2ac762006-03-01 22:09:21 +000028The highlighting used is MatchParen. You can specify different colors with
Bram Moolenaar5e3cb7e2006-02-27 23:58:35 +000029the ":highlight" command. Example: >
30
Bram Moolenaarfd2ac762006-03-01 22:09:21 +000031 :hi MatchParen ctermbg=blue guibg=lightblue
Bram Moolenaar5e3cb7e2006-02-27 23:58:35 +000032
Matteo Landi59834ba2024-11-04 20:46:54 +010033By default the plugin will highlight both the paren under the cursor and the
34matching one using the |hl-MatchParen| highlighting group. This may result in
35the cursor briefly disappearing from the screen as the MatchParen colors take
36over the cursor highlight. To prevent this from happening and have the plugin
37only highlight the matching paren and not the one under the cursor
38(effectively leaving the cursor style unchanged), you can set the
39"matchparen_disable_cursor_hl" variable: >
40
41 :let matchparen_disable_cursor_hl = 1
42
Bram Moolenaar5e3cb7e2006-02-27 23:58:35 +000043The characters to be matched come from the 'matchpairs' option. You can
44change the value to highlight different matches. Note that not everything is
45possible. For example, you can't highlight single or double quotes, because
46the start and end are equal.
47
48The syntax highlighting attributes are used. When the cursor currently is not
49in a string or comment syntax item, then matches inside string and comment
50syntax items are ignored. Any syntax items with "string" or "comment"
51somewhere in their name are considered string or comment items.
52
Bram Moolenaar910f66f2006-04-05 20:41:53 +000053The search is limited to avoid a delay when moving the cursor. The limits
54are:
55- What is visible in the window.
56- 100 lines above or below the cursor to avoid a long delay when there are
57 closed folds.
Bram Moolenaar9964e462007-05-05 17:54:07 +000058- 'synmaxcol' times 2 bytes before or after the cursor to avoid a delay
Bram Moolenaar910f66f2006-04-05 20:41:53 +000059 in a long line with syntax highlighting.
Matteo Landi59834ba2024-11-04 20:46:54 +010060- A timeout of 300 msec (60 msec in Insert mode). This can be changed with
61 the "g:matchparen_timeout" and "g:matchparen_insert_timeout" variables and
62 their buffer-local equivalents "b:matchparen_timeout" and
63 "b:matchparen_insert_timeout".
Bram Moolenaar446cb832008-06-24 21:56:24 +000064
65If you would like the |%| command to work better, the matchit plugin can be
66used, see |matchit-install|. This plugin also helps to skip matches in
67comments. This is unrelated to the matchparen highlighting, they use a
68different mechanism.
69
Bram Moolenaar5e3cb7e2006-02-27 23:58:35 +000070==============================================================================
Bram Moolenaar91f84f62018-07-29 15:07:52 +020071 vim:tw=78:ts=8:noet:ft=help:norl: