(Mac)当语法设置为Ruby时,Vim相当慢

wha*_*ide 15 ruby macos vim

我在MacVim 7.4上(我使用命令行版本),通过Homebrew安装.

当语法突出显示Ruby代码时,Vim很慢.htop在vim中移动Ruby文件时显示80%-100%的CPU使用率.

我在SO上找到了这些:

并尝试了提出的解决方案.我做了什么:

  • set regexpengine=1: 没有改变.CPU使用率仍然很高,性能也很慢.
  • set lazyredraw:事情变得更好,但权衡非常明显(光标在移动时消失)
  • 我查看了我的autocmd陈述.vimrc,发现没什么特别慢的.我尝试删除所有插件但问题仍然存在.

我尝试关闭语法,好吧,它解决了问题.另外,启动vim vim -u NONE然后转向syntax on解决问题,所以它一定是.vimrc我想的东西?

是我的链接vimrc.

编辑

我可能已经找到了有罪的设置.似乎有两个设置明显减慢了vim中的移动:

  • set relativenumber
  • set cursorline

请注意,这两个设置都会单独触发此行为.

当滚动按住j或时,这些设置强制vim在屏幕上重绘相当多的东西k.我怀疑这里有解决方案,但我对任何事情都持开放态度.

编辑#2

请注意,relativenumbercursorline在Ruby文件使用时才触发这种行为.无论多长时间,我尝试过的所有其他文件类型(with relativenumberand cursorlineon)都可以顺利滚动.

Dhr*_*gar 0

众所周知,Ruby 语法文件速度很慢,最好禁用“cursorline”、“cursorcolumn”,因为它们会产生最大的效果。

不过,您还应该看看Vim Slow with ruby​​ 语法高亮。一些可能也有助于改善事情的东西。