Vim - 在启用语法高亮的大型PHP文件上更改为正常模式的速度很慢

asg*_*eo1 4 php vim performance syntax-highlighting

当我使用Vim 7.3编辑大型PHP文件(2000行)时,如果我从插入模式切换到正常模式,则会有大约1-2秒的延迟.

当我需要进行一些快速编辑时,这是非常令人沮丧的.

在较小的文件(300行)上没有延迟.反向(正常模式到插入模式)也没有延迟.

该问题与语法突出显示有关,因为如果我关闭语法突出显示,问题就会消失.

:syntax off
Run Code Online (Sandbox Code Playgroud)

我试过的一些事情无济于事:

  • 折叠起来
  • 关闭matchparen插件
  • 关闭所有自定义插件
  • 使用"largefile"插件

请注意,除了此插入到正常模式切换问题之外,在编辑大文件时,语法突出显示的其他内容对我来说似乎很慢.即在插入模式下键入文本执行正常,完成工作正常等.

这让我觉得它可以修复.

我在Windows XP上的gVim和console vim(在cygwin下)测试了这个.

有谁知道可能是什么问题?

或者是否有其他人能够重现这个问题?我用谷歌搜索了,但是看不到其他人这个同样的问题很奇怪.

更新:我认为它可能只与PHP语法高亮相关.我刚尝试了2000多行的coffeescript和javascript文件,并没有任何问题.

Dav*_*ope 6

我没有看到你所描述的问题,但这个InsertLeave活动将是一个开始寻找的地方.检查您的配色方案(和任何其他插件),看看是否有InsertLeave自动命令.在我自己的系统中,'lettuce.vim'colorscheme文件中有一些; 可以想象它们很昂贵,甚至可能触发某种递归处理(只是大声思考).

编辑 您可以通过执行操作来检查与给定事件关联的自动命令:au {EventName},例如:au InsertLeave.