使用大型C文件在vim中启用语法和语法折叠会降低完成速度

使用大型C文件在vim中启用语法和语法折叠会降低完成速度,c,vim,C,Vim,当我在一个大的C文件(大约8000行)中使用语法时 完成ctrl-p和ctrl-n非常慢(超过20)。当我关闭语法时,完成不到一秒钟 我想出了一个复制这种行为的最小方法。使用空的.vim文件夹并创建一个仅包含以下行的.vimrc: set syntax on set foldmethod=syntax 当您打开一个大的C文件时,完成(甚至是一般的编辑)变得非常慢 编辑: 这种行为是由于我使用的是测试版。我不确定是否应该完全删除此问题,或者保留此问题,以便其他人有相同问题时可以获得一些线索。我猜

当我在一个大的C文件(大约8000行)中使用语法时 完成ctrl-p和ctrl-n非常慢(超过20)。当我关闭语法时,完成不到一秒钟

我想出了一个复制这种行为的最小方法。使用空的.vim文件夹并创建一个仅包含以下行的.vimrc:

set syntax on
set foldmethod=syntax
当您打开一个大的C文件时,完成(甚至是一般的编辑)变得非常慢

编辑:


这种行为是由于我使用的是测试版。我不确定是否应该完全删除此问题,或者保留此问题,以便其他人有相同问题时可以获得一些线索。

我猜语法突出显示文件正在调整您的完成情况。若要查看是否存在这种情况,并使完成变得精简和快速,请尝试

:set complete=.
这将使完成仅使用当前文件

阅读有关完整选项的更多信息

:help 'complete'
由于
foldmethod=syntax

发件人:帮助待办事项:

  • 折叠和PHP语法高亮显示的缓慢组合。脚本 复制它。由“syntax sync fromstart”与修补程序结合引起 7.2.274. (Christian Brabandt,2010年5月27日)一般来说,折叠 “foldmethod”设置为“syntax”速度较慢。进行分析以找出原因
使折叠仅在保存时重新计算(因此您始终使用
foldmethod=manual
——但折叠是使用
foldmethod=syntax
或您之前设置的任何内容计算的)


这为我解决了问题。现在我可以在我的5000行C++文件中使用COMPL整行完成,它是即时而快速的,而不是占用分钟和无响应。

谢谢我以前尝试过的回复,我发现问题在FoLDFoad设置中,不确定是否可以做任何事情。“这个行为是因为我使用beta版本的事实。”我在Vim7.4的最终版本中遇到了同样的问题。