当我滚动时,Vim动作缓慢。当我连续按j / k时,光标会跳过一些行。
我正在使用xterm和urxvt。在两个vim中,都是这样的。
这种情况在本地发生,包含小文件或大文件。我确实使用Control + F / B正常工作。
编辑:ttyfast在小文件中可以解决问题,但在大文件中是一样的。在没有自定义的情况下运行就可以了。
您是否尝试过'ttyfast'选项?参见:
:help 'ttyfast'
寻求帮助,并:
:set ttyfast
启用它。
而且,您使用的是哪个版本?并且您是否尝试过这种没有自定义的方法,以查看您设置的内容是否会干扰?
像这样运行以省略任何vimrc设置和插件:
vim -u NONE
编辑:如果删除自定义项可以解决。反复删除所有内容,直到行为恢复。首先将其范围缩小到vimrc问题或插件。
:set lazyredraw
将缓冲屏幕更新,而不是一直更新。在执行复杂的宏播放时,通常会启用它。可以在这里为您提供帮助。
仅当在syntastic中使用pylint.vim插件时,我才遇到这个问题。我发现唯一有用的(禁用语法检查器除外)是禁用突出显示当前行:
:set lazyredraw
这大大加快了我的滚动。
取决于所使用的Vim版本,您可能会受到regexp重新计算错误的影响,该错误的主要根源似乎是突出显示光标行并显示相对行号:
:set cul!
网络上散布着报告此问题的线程(set relativenumber
set cursorline
,here和here)。如果还使用语法高亮显示,则该问题似乎会加剧。
我个人只是通过将here添加到我的vimrc中来禁用relativenumber
解决了我的缓慢滚动问题:
set number
我的Vim是Debian 7.9上的vim-nox软件包版本2:7.3.547-7提供的版本。在Vim中键入:version
会产生:
VIM-Vi IMproved 7.4(2013年8月10日,2014年12月11日编译03:17:52)
包含的补丁程序:1-4488
如果其他建议无效,则可能是您的终端机有问题。在相同文件下,我在Ubuntu上的gnome终端的滚动速度比PuTTY慢得多。
[如果您使用的是Ubuntu的默认gnome-terminal,则可能需要尝试其他终端程序。 urxvt都为我工作(终结者有类似的问题):
$ sudo apt-get install rxvt-unicode
$ urxvt
主要缺点是,它看起来不太好。您可以尝试使用建议here,使其看起来更好一些
参考:
编辑:看来对我来说,真正的解决方案可能是在使用vim时停止全屏显示我的终端。
我的滚动在禁用括号突出显示后已修复。在〜/ .vimrc中放置:
let loaded_matchparen = 1