当我滚动时,Vim反应缓慢。当我连续按j/k键时,光标会跳过一些行。
我正在使用xterm和urxvt。在两者中,Vim的表现都是如此。
这种情况发生在本地,无论文件大小是小还是大。我确实使用Control + F / B,它们运行得非常好。
编辑:在小文件中使用ttyfast可以解决问题,但在大文件中仍然存在问题。当没有自定义设置时,它可以正常运行。
当我滚动时,Vim反应缓慢。当我连续按j/k键时,光标会跳过一些行。
我正在使用xterm和urxvt。在两者中,Vim的表现都是如此。
这种情况发生在本地,无论文件大小是小还是大。我确实使用Control + F / B,它们运行得非常好。
编辑:在小文件中使用ttyfast可以解决问题,但在大文件中仍然存在问题。当没有自定义设置时,它可以正常运行。
你尝试过使用'ttyfast'选项吗?请参阅:
:help 'ttyfast'
寻求帮助,并且:
:set ttyfast
启用它。
另外,您使用的是哪个版本?如果您尝试不进行任何自定义,是否已经尝试过以查看是否有您设置的某些内容正在干扰?
像这样运行它以省略任何vimrc设置和插件:
vim -u NONE
编辑:如果删除自定义设置可以解决问题,请迭代地删除一些内容,直到该行为返回。首先,将其缩小到vimrc问题或插件之一。
只有在使用syntastic的pylint.vim插件时才会出现这个问题。除了禁用语法检查器之外,我找到的唯一有用的方法是禁用当前行高亮显示:
:set cul!
这使我的滚动速度显著加快。
autocmd Filetype ruby setlocal cul!
。 - Matthew根据您使用的Vim版本,您可能会受到一个正则表达式重新计算漏洞的影响,其主要罪魁祸首似乎是突出显示光标行和显示相对行号:
set relativenumber
set cursorline
网络上有很多帖子报告这个问题(这里、这里和这里)。如果还使用语法高亮,问题似乎会更加严重。
就我个人而言,我通过在我的vimrc文件中添加以下内容来解决我的滚动缓慢的问题:
set number
我的 Vim 是在 Debian 7.9 上通过 vim-nox 包安装的,版本号为 2:7.3.547-7。在 Vim 中输入 :version
命令可以查看版本信息:
VIM - Vi 改进版 7.4(2013 年 8 月 10 日,编译于 2014 年 12 月 11 日 03:17:52)
已包含修补程序:1-488
cursorline
and syntax
with files using complex highlighting rules (like ruby) compound pretty poorly for me. In my .vimrc I cancel out only for those files: autocmd Filetype ruby setlocal nocursorline
- Matthew$ sudo apt-get install rxvt-unicode
$ urxvt
:help prof
这将让您开始,但我已经
:prof start ~/vim_profile
:prof func *
:prof file *
然后进行了一系列极慢的滚动。之后,
:prof exit
你可以查看vim_profile文件,确切地了解问题所在。在我的情况下,是matchparen引起的问题,我通过添加以下代码进行修复:
set noshowmatch
这段内容涉及到 .vimrc 文件,但是你的文件名可能不同。
另外,在我调整了 vim 自身之后,通过使用不同的终端(如 iTerm2 或 Alacritty),我能够进一步提高性能。
禁用括号高亮后,我的滚动问题得到了解决。在 ~/.vimrc 文件中添加:
let loaded_matchparen = 1
j
,k
,h
,l
开头的映射,则可能会导致短暂的延迟。我也遇到了类似的滚动问题。我真的不想完全关闭语法高亮,所以我禁用了“set cursorcolumn”和“set cursorline”,我的滚动速度就快多了。
我在树莓派1上运行vim。禁用这一行代码加快了速度:
set foldmethod=syntax "slow!
ttyfast
选项已被移除(请参见6. Removed features
)。 - meshy