12

几周前我开始使用gVim 。然而,从一开始,当我执行某些操作时,我注意到整个 gVim 窗口的一些奇怪的调整大小。我认为这与我使用 Windows Aero Snap(在 Windows 7 x64 系统上)有关。

重现步骤(使用空.vimrc文件,我的vimfiles文件夹重命名):

  1. 我打开gvim
  2. 我将我的 gvim 窗口放在显示器的左侧(点击几下)win+left arrow
  3. 我使用创建一个新标签:tabe

结果: gVim 将自己重新定位到屏幕上的其他位置。所以我必须使用win+重新定位它left arrow。很烦人。

我也有其他选项卡和窗口操作,例如::vnew, C-W o, ...

任何人有任何提示为什么会发生这种情况,我能做些什么来解决它?我已经清空了我的.vimrc文件并暂时重命名了我的 ~/vimfiles 文件夹以排除任何插件的干扰。

编辑:根据 Matthew 的回复以及关于 的信息:help bugs,我已将错误报告(实际上是这篇文章)发送到bugs@vim.org

4

2 回答 2

9

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 开始​​仍然存在问题。

众所周知,“没有 Cream 的 Vim”安装是可靠的并且保持最新,并且提供了没有 Cream 项目插件的 Vim。未来的读者可能会发现只需升级即可修复错误。

于 2012-11-07T11:17:37.637 回答
4

一个拉取请求刚刚合并到 Vim 8.0.1278中。您现在可以将以下行添加到您的配置中以缓解该问题:

  • guioptions+=k

这样做是为了避免在添加垂直拆分、选项卡等时调整窗口大小。这通常会使窗口大小更加一致,但也可以避免在 Vim 窗口固定到左侧/右侧时触发您提到的调整大小问题.

如果你不想使用这个新选项,问题在于 Vim 如何调整大小。在 Windows 构建中,它使用恢复的窗口的位置(这与固定到右/左时不同,因为它处于最大化模式),所以每当代码尝试调整 Vim 大小时,无论出于何种原因,它都会将位置重置为恢复的窗口位置也是如此。这里有进一步的讨论:https ://github.com/vim/vim/issues/2180

于 2017-11-09T22:38:56.733 回答