因此,在vim中,所有类型的滚动都能完美地工作,但在Gvim中,当滚动屏幕闪烁时,尤其是在pgdn/pgup、Ctrl+U和Ctrl+D等速度更快的滚动中,效果尤其明显。当我用鼠标拖动滑块进行滚动时也是如此。我尝试了不同的背景颜色,但没有任何区别。

有什么办法解决这个问题吗?
发布于 2016-03-22 01:50:20
要求开发人员确保屏幕重绘是双缓冲的。
我记得几年前,当我在Gvim (大约6.0版本)中使用普通的、非抗锯齿的X11绘图调用时,我遇到了这个问题。在情况下,绘制速度并不明显。当使用任何抗锯齿时,我可以观察到闪烁。
显然,对于原始终端代码来说,双缓冲不是所必需的,我假设图形用户界面更新是从原始终端更新代码派生而来的。
注意:此答案仅供将来开发时参考。
发布于 2018-08-10 17:59:17
我在windows上的Gvim中也遇到过类似的问题。在滚动底部和顶行闪烁时,例如10j的情况会更糟。
我已经能够通过在我的.vimrc中添加行来完全消除它:
set lazyredraw
nnoremap <silent> j j:redraw<CR>
nnoremap <silent> k k:redraw<CR>发布于 2019-06-04 14:13:58
我目前的解决方法是使用Vim-Qt,它是Vim的一个分支,其图形用户界面基于Qt而不是GTK。虽然它确实有一些缺点,比如缺乏滚动条,缺乏维护(上一次提交是在2年前),但它的优点是它根本不闪烁。
My fork of Vim-Qt现在实现了滚动条,所以如果你需要它们,你可能想尝试一下,而不是原来的Vim-Qt。
https://stackoverflow.com/questions/25170389
复制相似问题