neovim/runtime/doc/pi_paren.txt
Christian Clason baf74ef975 vim-patch:59834ba: runtime(matchparen): Add matchparen_disable_cursor_hl config option
Set the "matchparen_disable_cursor_hl" config variable to disable
highlighting the cursor with the MatchParen highlighting group.

closes: vim/vim#15984

59834ba6df

Co-authored-by: Matteo Landi <matteo@matteolandi.net>
2024-11-05 08:31:19 +01:00

71 lines
2.7 KiB
Plaintext

*pi_paren.txt* Nvim
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
By default the plugin will highlight both the paren under the cursor and the
matching one using the |hl-MatchParen| highlighting group. This may result in
the cursor briefly disappearing from the screen as the MatchParen colors take
over the cursor highlight. To prevent this from happening and have the plugin
only highlight the matching paren and not the one under the cursor
(effectively leaving the cursor style unchanged), you can set the
"matchparen_disable_cursor_hl" variable: >
:let matchparen_disable_cursor_hl = 1
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.
- A timeout of 300 msec (60 msec in Insert mode). This can be changed with
the "g:matchparen_timeout" and "g:matchparen_insert_timeout" variables and
their buffer-local equivalents "b:matchparen_timeout" and
"b:matchparen_insert_timeout".
If you would like the |%| command to work better, the |matchit| plugin can be
used. 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:noet:ft=help:norl: