11

我有一个包含 400 多行的文件(这是一篇论文)。当我在靠近顶部的某个地方编辑它时(例如,在第 20 行),Vim 一如既往地活泼。然而,在底部附近(大约第 400 行)编辑它会导致我在输入字符和 Vim 在屏幕上显示它之间出现明显的延迟。因此,编辑这么大的文件几乎是不可能的。

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

我试过切换swapfile,syntaxscrolloff,但似乎没有帮助。Vim 的最大行数应该是 2147483647,所以我实际上应该还有很长的路要走:)

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

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

4

4 回答 4

18

好的,折叠是这里的问题(我有一些不好的设置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

其他要检查/切换的事情是syntax,filetypewrap行长(一些插件可能会因为很长的行而变慢)。

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

vim -u NONE

在此之后,禁用所有插件是一个好的开始。有关一般知识,另请参阅::help slow

于 2013-02-26T11:19:27.903 回答
4

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

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

于 2020-06-02T09:09:12.037 回答
2

在我的情况下,在多个窗口中打开相同文件的相对数字是滞后的。我不得不这样做:set norelativenumber或关闭另一个窗口。

于 2021-10-21T20:33:46.473 回答
0

不要只怪语法,有几件事会减慢正常模式下的编辑速度。例如自动完成;我有好几天认为我的 Vim 很慢是因为语法问题。我将自动完成插件配置为仅在输入至少 6 个字符后才触发自动完成功能,并且速度大大提高。我什至不必用语法高亮来触摸任何东西。

于 2019-03-25T11:36:27.153 回答