`set foldmethod = syntax`使vim变慢,而'set foldmethod = indent`不够好,我该怎么办?

时间:2018-02-08 07:25:08

标签: vim folding

set foldmethod=syntax之前,我的vim就像火箭一样,但之后一切都发生了变化,我的vim就像乌龟一样,我无法承受vim的响应时间。 所以,我决定set foldmethod=indent,但它并不够强大和聪明。

我尝试写一些vimscript,但它太值了,我该怎么办?

注意:我只想折叠我的c ++代码。

2 个答案:

答案 0 :(得分:1)

有些旧的线程,但是以防万一,尝试使用FastFold插件,我在处理大型PHP文件时遇到了问题,切换到该插件后,我的Vim确实很活泼。甚至某些插件(例如Quickjump)的其他问题似乎也消失了。

this reddit thread中找到的提示

答案 1 :(得分:0)

如果没有有问题的源代码文件,很难说出导致这种情况的原因。很多开发人员使用Vim来编辑C ++文件(使用基于语法的折叠),因此它不是一般问题。你有过长的文件,很多嵌套,还是很多#ifdef

我有点惊讶它只是语法的折叠部分会减慢你的速度。通常,它是整个语法解析(在复杂文件上),只有:syntax off可以解决这个问题。

您可能想要使用语法同步选项(:help :syn-sync)。另请阅读:help :syntime;这有助于排除故障。我担心没有快速简便的解决办法。