我使用命令行版本的Homebrew安装的MacVim 7.4。
在vim中为Ruby代码启用语法高亮显示时,vim运行缓慢。 htop
显示移动到 Ruby 文件内时,CPU 使用率达到了 80%-100%。
我在 Stack Overflow 上找到了以下内容:
并尝试了提出的解决方案。 我所做的:
set regexpengine=1
: 没有变化。 CPU 使用率仍然非常高,性能很差。set lazyredraw
: 情况有所改善,但是牺牲非常明显(光标在移动时消失)- 我检查了我的
.vimrc
中的autocmd
语句,没有发现特别缓慢的地方。 我尝试删除所有插件,但问题仍然存在。
我尝试关闭语法高亮,好了,它解决了问题。 同样,使用vim -u NONE
启动vim,然后打开 syntax on
也解决了问题,所以我猜这一定是我的 .vimrc
中的某些设置引起的问题?
这里是我的vimrc
的链接。
编辑
我可能已经找到了问题所在的设置。 似乎有两个设置明显地减慢了vim中的移动:
set relativenumber
set cursorline
请注意,这两个设置即使单独存在都会触发此行为。
这些设置会在使用j
或 k
滚动时强制 vim 在屏幕上重新绘制很多内容。
我怀疑这里没有解决方案,但我非常乐意尝试任何加速的方法。
编辑 #2
请注意,只有在 Ruby 文件中使用relativenumber
和 cursorline
时才会触发此行为。我尝试了其他所有文件类型(使用 relativenumber
和 cursorline
),无论长度如何都可以平滑滚动。
:help tex-slow
建议在“慢速机器”上使用两个:syn sync
设置来减轻语法高亮的负担。也许对于 Ruby 的复杂高亮有所帮助?:syn sync maxlines=200 | syn sync minlines=50
还可以尝试在 syntax.txt 帮助文件中搜索“slow”以获取其他提示。 - idbrii