Mercurial > vim
view runtime/doc/os_unix.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
*os_unix.txt* For Vim version 9.1. Last change: 2022 Nov 25 VIM REFERENCE MANUAL by Bram Moolenaar *unix* *Unix* This file contains the particularities for the Unix version of Vim. For compiling Vim on Unix see "INSTALL" and "Makefile" in the src directory. The default help file name is "/usr/local/lib/vim/help.txt" The files "$HOME/.vimrc" and "$HOME/.exrc" are used instead of "s:.vimrc" and "s:.exrc". Additionally "/usr/local/etc/vimrc" is used first. If "/usr/local/share" exists it is used instead of "/usr/local/lib". Temporary files (for filtering) are put in "/tmp". If you want to place them somewhere else, set the environment variable $TMPDIR to the directory you prefer. With wildcard expansion you can use '~' (home directory) and '$' (environment variable). *fork* *spoon* For executing external commands fork()/exec() is used when possible, otherwise system() is used, which is a bit slower. The output of ":version" includes |+fork| when fork()/exec() is used, |+system()| when system() is used. This can be changed at compile time. (For forking of the GUI version see |gui-fork|.) For historic reasons terminal updating under Unix is expected to be slow (e.g. serial line terminal, shell window in suntools), the 'showcmd' and 'ruler' options are off by default. If you have a fast terminal, try setting them on: > set showcmd ruler When using Vim in an xterm the mouse clicks can be used by Vim by setting 'mouse' to "a". If there is access to an X-server gui style copy/paste will be used and visual feedback will be provided while dragging with the mouse. If you then still want the xterm copy/paste with the mouse, press the shift key when using the mouse. See |mouse-using|. Visual feedback while dragging can also be achieved via the 'ttymouse' option if your xterm is new enough. *terminal-colors* To use colors in Vim you can use the following example (if your terminal supports colors, but "T_Co" is empty or zero): > :set t_me=^[[0;1;36m " normal mode (undoes t_mr and t_md) :set t_mr=^[[0;1;33;44m " reverse (invert) mode :set t_md=^[[1;33;41m " bold mode :set t_se=^[[1;36;40m " standout end :set t_so=^[[1;32;45m " standout mode :set t_ue=^[[0;1;36m " underline end :set t_us=^[[1;32m " underline mode start [the ^[ is an <Esc>, type CTRL-V <Esc> to enter it] For real color terminals the ":highlight" command can be used. The file "tools/vim132" is a shell script that can be used to put Vim in 132 column mode on a vt100 and lookalikes. vim:tw=78:ts=8:noet:ft=help:norl: