[英]Why does gVim resize and reposition itself after some actions?
几个星期前我开始使用gVim 。 从早期开始,我注意到当我执行某些操作时,完整的gVim窗口会有一些奇怪的大小调整。 我认为这与我使用Windows Aero Snap(在Windows 7 x64系统上)有关。
重现的步骤(使用空的.vimrc
文件,重命名我的vimfiles
文件夹):
:tabe
创建一个新选项卡 结果: gVim在屏幕上重新定位自己。 所以我必须使用win + 左箭头重新定位它。 很烦人。
我也可以使用其他制表符和窗口操作,例如:vnew
, CW o
,...
有人为什么会发生这种情况,以及我能做些什么来解决它? 我已经清空了我的.vimrc
文件并临时重命名了我的〜/ vimfiles文件夹以排除任何插件的干扰。
编辑 :关于Matthew的回复,以及关于:help bugs
的信息,我发送了一个错误报告(实际上这篇文章)到bugs@vim.org
gvim可以在某些情况下执行此类操作,其中guioptions
值会使GUI控件(如滚动条或标签页标签)出现和消失。 尝试命令:set guioptions?
。
如果显示的值包括“L”或“R”(可选择显示垂直滚动条),则可能是您的罪魁祸首,您可以按照以下说明删除该选项。
如果它包含'e',特别是如果:set showtabline?
显示option = 1,这也可能导致问题,您可以使用以下方法更改任一设置。 (在这种情况下,只有至少有两个选项卡时才会显示选项卡标签行。)
如果它们都不是这些,请尝试发现GUI的哪些部分出现并在问题发生时消失,然后找到控制该行为的选项。
如果问题值为“L”,如何修复的示例:
L是默认设置,(来自帮助)
"egmrLtT" (MS-Windows),
"aegimrLtT" (GTK, Motif and Athena).
因此,您可以运行以下命令之一来修复它:
:set guioptions-=L "just remove L
:set guioptions=egmrtT "explicitly set the options you want, as noted you might want to remove 'e' as well
您可以将其中一个命令添加到.vimrc文件中,以便始终设置它。
您肯定应该升级到以后的版本,自7.3.46以来,该区域肯定至少有一个错误。 也就是说,从7.3.703开始仍然存在问题。
众所周知,“Vim without Cream”安装是可靠的并保持最新状态,并提供没有Cream项目插件的Vim。 未来的读者可能会发现只是通过升级来修复错误。
拉取请求刚刚合并到Vim 8.0.1278中 。 您现在可以将以下行添加到配置中以缓解此问题:
guioptions+=k
这样做是为了避免在添加垂直分割,制表符等时调整窗口大小。这使得窗口大小通常更加一致,但也可以避免触发Vim窗口固定到左/右侧时提到的调整大小问题。
如果您不想使用此新选项,则问题在于Vim如何调整大小。 在Windows构建中,它使用恢复窗口的位置(这与它在最大化模式下固定到右侧/左侧的位置不同),因此每当代码因任何原因尝试调整Vim大小时它将重置位置为恢复的窗口位置。 这里有进一步的讨论: https : //github.com/vim/vim/issues/2180
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.