view runtime/doc/pi_paren.txt @ 34548:db67c09ccd53 v9.1.0175

patch 9.1.0175: wrong window positions with 'winfix{width,height}' Commit: https://github.com/vim/vim/commit/5866bc3a0f54115d5982fdc09bdbe4c45069265a Author: Sean Dewar <6256228+seandewar@users.noreply.github.com> Date: Wed Mar 13 20:17:24 2024 +0100 patch 9.1.0175: wrong window positions with 'winfix{width,height}' Problem: winframe functions incorrectly recompute window positions if the altframe wasn't adjacent to the closed frame, which is possible if adjacent windows had 'winfix{width,height}' set. Solution: recompute for windows within the parent of the altframe and closed frame. Skip this (as before) if the altframe was top/left, but only if adjacent to the closed frame, as positions won't change in that case. Also correct the return value documentation for win_screenpos. (Sean Dewar) The issue revealed itself after removing the win_comp_pos call below winframe_restore in win_splitmove. Similarly, wrong positions could result from windows closed in other tabpages, as win_free_mem uses winframe_remove (at least until it is entered later, where enter_tabpage calls win_comp_pos). NOTE: As win_comp_pos handles only curtab, it's possible via other means for positions in non-current tabpages to be wrong (e.g: after changing 'laststatus', 'showtabline', etc.). Given enter_tabpage recomputes it, maybe it's intentional as an optimization? Should probably be documented in win_screenpos then, but I won't address that here. closes: #14191 Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Wed, 13 Mar 2024 20:30:03 +0100
parents 4635e43f2c6f
children
line wrap: on
line source

*pi_paren.txt*  For Vim version 9.1.  Last change: 2013 May 08


		  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.
- 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, 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:noet:ft=help:norl: