在Gvim中滚动时闪烁的屏幕

时间:2014-08-06 21:17:25

标签: vim

所以在vim中,所有类型的滚动工作都很完美,但在Gvim滚动屏幕时闪烁,尤其是在pgdn/pgupCtrl+UCtrl+D等更快的滚动上。使用鼠标拖动滑块滚动时也是如此。我尝试了不同的背景颜色,但它没有任何区别。

任何想法如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

要求开发人员确保屏幕重绘是双重缓冲的。

我记得多年前我在Gvim(版本6.0)中使用普通的,非抗锯齿的X11绘图调用时遇到了这个问题。在那个的情况下,绘图速度并不明显。当使用任何消除锯齿的东西时,我可以观察到闪烁。

显然,对于原始终端代码,双缓冲是,我假设GUI更新是从原始终端更新代码派生的。

注意:此答案仅供参考,以供将来开发。

答案 1 :(得分:0)

我在Windows的Gvim中遇到了类似的问题。在滚动底部和顶部闪烁时,例如10j。

通过在.vimrc中添加行,我已经能够完全消除它:

set lazyredraw
nnoremap <silent> j j:redraw<CR>
nnoremap <silent> k k:redraw<CR>

答案 2 :(得分:0)

我当前的解决方法是使用Vim-Qt,它是Vim的一个分支,其GUI基于Qt而不是GTK。尽管它确实有一些缺点,例如缺少滚动条,缺乏维护(最近一次提交是在2年前),但它的优点是它根本不会闪烁。