Vim:插入模式非常慢,有400多行

mar*_*rtz 10 vim line

我有一个400多行的文件(这是一篇论文).当我在靠近顶部的某个地方编辑它时(例如,在第20行),Vim像往常一样快速.但是,在靠近底部(第400行附近)进行编辑会导致我在输入字符和Vim在屏幕上显示该字符之间出现明显的延迟.因此,几乎不可能编辑这么大的文件.

这是什么原因,我该怎么办?

我试着拨动swapfile,syntax,scrolloff等等,但它似乎并没有帮助.Vim的最大行数应该是2147483647,所以我实际上还有很长的路要走:)

如果这与设置有关maxmem,那么考虑到我编辑最多2500行的文件,那么什么是合理的值?

非常感谢您的帮助!干杯.

mar*_*rtz 15

好吧,折叠是这里的问题(我有一些不好的设置foldlevelstart).所以,根据我的经验和这些 问题:

set foldenable              " can slow Vim down with some plugins
set foldlevelstart=99       " can slow Vim down with some plugins
set foldmethod=syntax       " can slow Vim down with some plugins
Run Code Online (Sandbox Code Playgroud)

其他检查事项/切换是syntax,filetype,wrap和线长(有些插件可以用很长的行慢).

在没有当前设置的情况下运行Vim是一个很好的起点.感谢@Frederik指点我:

vim -u NONE
Run Code Online (Sandbox Code Playgroud)

在此之后,禁用所有插件是一个良好的开端.另见一般知识::help slow


小智 5

我最近遇到了这个确切的问题 - 在相对较短(降价)文件的底部键入时出现滞后。卸载插件并注释掉 .vimrc 中的大部分设置后,我发现问题是来自vim 预安装的vim-markdown 插件的markdown 折叠。评论let g:markdown_folding = 1成功了。

我仍然希望对 markdown 文件进行自动折叠,因此我安装了vim-markdown-folding并且性能没有问题。