我有400多行文件(这是一篇论文)。当我在附近的某处编辑它时 在顶部(比如在第20行),Vim像往常一样快速。但是,在附近编辑它 底部(第400行附近)导致我输入字符之间的明显延迟 和Vim在屏幕上显示它。因此,几乎不可能 编辑一个这么大的文件。
这是什么原因,我该怎么办?
我尝试切换swapfile
,syntax
,scrolloff
等,但它没有
似乎有所帮助。 Vim的最大行数应为2147483647,所以我
实际上应该还有很长的路要走:)
如果这与设置maxmem
有关,那么什么是合理的
考虑到我编辑最多2500行的文件?
非常感谢您的帮助!欢呼声。
答案 0 :(得分:14)
好的,折叠是这里的问题(我对foldlevelstart
有一些不好的设置)。因此,根据我的经验和these issues:
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
要检查/切换的其他内容包括syntax
,filetype
,wrap
和行长度(某些插件可能很慢,行很长)。
在没有当前设置的情况下运行Vim是一个很好的起点。感谢@Frederik指点我:
vim -u NONE
在此之后,禁用所有插件是一个良好的开端。另请参阅一般知识::help slow
答案 1 :(得分:3)
我最近遇到了一个确切的问题-在相对较短(降价)文件的底部键入时出现滞后。卸载插件并注释掉.vimrc中的大多数设置后,我发现问题是来自vim预先安装的vim-markdown plugin的markdown折叠。注释掉let g:markdown_folding = 1
就可以了。
我仍然希望在markdown文件上自动折叠,因此我安装了vim-markdown-folding,并且性能没有问题。
答案 2 :(得分:0)
不仅仅指责语法,在正常模式下,有几件事会减慢编辑速度。例如自动完成;我有几天想,我的Vim由于语法而变慢。我将自动补全插件配置为仅在输入至少6个字符并且速度大大提高后才触发自动补全。我什至不必用语法高亮显示任何内容。