虚拟盒和Windows 7主机的Gvim重绘问题

时间:2014-07-29 15:13:34

标签: linux vim gtk virtualbox cinnamon

VirtualBox中的Linux客户端上的Gvim 7.4存在严重的重绘问题:通常当我向上/向下滚动时,显示的文本会被破坏(例如,空白或有一些"漏洞")。我必须调整大小/重新调整以清理屏幕。我从来没有遇到过与Gvim或Virtualbox类似的问题,但它使得gvim几乎无法使用。

进一步的信息:

  • Virtualbox主机分发:Windows 7 64位
  • Virtualbox版本:4.3.12,添加了访客
  • Virtualbox guest分发:Linux Mint 17 Qiana 64位Cinnamon
  • Gvim包:vim-gtk(但它也发生在使用vim-gnome)

知道如何解决这个问题吗?

4 个答案:

答案 0 :(得分:11)

有很多重绘问题。下面的解决方案解决了Windows 7主机,Linux客户机和Ubuntu(或Compiz)的一个非常具体的重绘问题。

解决方案1 ​​

使用最新的Virtual Box 5.0.4&测试Guest Additions,Ubuntu 14.04.3,启用3D加速,标准安装,完整更新。

a)sudo apt-get install compizconfig-settings-manager

b)从破折号运行它(键入“ccsm”)。选择左侧的“实用程序”。选择“变通办法”(不是复选框,单击按钮进入子类别)。默认情况下,“强制完全重绘初始伤害”应该打开(不确定是否相关,以防万一)。现在ENABLE强制全屏重绘(缓冲交换)重绘,默认情况下未选中。效果是立竿见影的,如果打开gvim窗口只需在标签之间快速点击,或跳过文件的顶部/底部以查看差异。

解决方案2(适用于13.04,13.10或以下)

如果使用13.04或更低版本(也许是13.10),首先尝试切换到Virtual Box 5.0.4+(5.0.4已测试)及其Guest Additions,安装CCSM并测试上述解决方法(我可以确认这在我的旧13.04 VM上有效。

如果这不起作用或使用最新的Virtual Box / Guest Additions不是一个选项,那么尝试将Guest Additions降级到版本4.2.12 (不只是4.2.x,相信我,我尝试了很多版本)注意 4.2.12在Ubuntu 14.04.3+中不起作用,因为X Server版本较新。

以下较旧的帖子(某些背景)

我经历过的测试:

  • Unity 2D:没有错误,但丑陋(没有阴影等)
  • Mint 15 + CINNAMON:有bug
  • Mint 16 MATE:没有错误,但有些滚动条问题
  • 薄荷14.1:没有错误,因为客人添加了4.1.18预装..但是很慢!
  • ...将客人添加内容升级到4.3.6:gvim错误再次出现!< - bingo

最后,重启虚拟机数小时后......

  • 4.2.12:没有gvim重绘错误,对我来说非常适合(Ubuntu 13.04,Mint 15 Cinnamon),相对平滑的VM(半透明终端,以及所有3D扭结)
  • 4.2.18:没有gvim重绘错误,但由于某种原因SLOW
  • 4.2.20:BUG!
  • 4.3.6:BUG!

<强>另外

根据Bram Moolenaar “补丁7.3.638仅删除了不必要的重绘,这可能会发现现有问题”(使用GTK库)。

然而值得一提的是,我一直在使用Ubuntu 13.04 VM一年,使用谷歌Chrome,Firefox,Open Office,MySQL Workbench等,并且从未有任何其他重绘问题。因此,即使它是一个GTK错误,它也是一个与VIM刷新窗口内容的方式密切相关的问题。

https://github.com/vim/vim/issues/91

可能是GTK问题,但如果它只发生在Windows 7主机上......那么它似乎是GTK重绘/重绘事件和Compiz的Open GL层之间的“同步”问题(我猜)。

如何重现/测试错误

在多个标签页中打开长文本文件(保存/加载会话可节省时间)。

然后使用Ctrl-PgUp / PgDn快速切换选项卡,或使用Ctrl-Home,Ctrl-End快速从文件的顶部移动到底部。在几秒钟内,您将只看到窗口刷新的一部分。

答案 1 :(得分:3)

这个问题与Cinnamon的一些错误有关,也许只有在启用了3D加速的VirtualBox内部运行时才会出现。事实上,我发现显示器也因其他应用程序(例如媒体播放器)而损坏。

我通过以下步骤切换到Mate窗口管理器来解决问题:

  • 已安装的主要配对包
  • 也安装了包薄荷元组件
  • 已注销并选择Mate作为窗口管理器

现在gvim和所有其他应用程序都运行正常。

答案 2 :(得分:0)

可能超出范围,因为我在这里使用Fedora 21;但由于这是gvim刷新问题的第一个结果,我将添加此注释以供日后参考。

不要犹豫,分配批次的视频内存。我玩2D accelation以及3D accelation选项时没有任何改变。教师队默认情况下我只有12Mo个视频,我将其更改为128Mo,而且everythnig现在运作良好。

答案 3 :(得分:0)

我在Salix OS下面临同样的问题。由于更改VirtualBox中的加速设置并没有解决问题,我发现使用GTK + 3构建gvim更容易(因为错误是由GTK + 2触发的,如@ user4134275答案中所述)而不是搞乱窗口管理器和桌面环境