Mercurial > vim
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: