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

栏目: Ruby · 发布时间: 6年前

内容简介:http://stackoverflow.com/questions/22949067/macvim-quite-slow-when-syntax-is-set-to-ruby

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

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

我在这里发现了这些:

> Vim slow with ruby syntax highlighting

> Syntax highlighting causes terrible lag in Vim

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

> set regexpengine = 1:没有改变.仍然非常高的CPU使用率和缓慢的性能.

> set lazyredraw:事情更好,但权衡非常明显(移动时光标消失)

>我检查了我的.vimrc中的autocmd语句,发现没有什么特别慢.我尝试删除所有的插件,但问题仍然存在.

我尝试关闭语法,并且解决了这个问题.另外,使用vim -u NONE启动vim,然后转动语法来解决问题,所以它一定是我的.vimrc中的东西?

Here 的链接到我的vimrc.

编辑

我可能已经发现有罪的设置.似乎有两个设置在vim中显着减慢移动速度:

>设置相对数

>设置光标

请注意,这两个设置都可以触发此行为.

这些设置强制vim在滚动保持j或k时在屏幕上重画相当多的东西.

我怀疑在这里有一个解决方案,但我非常乐意加快速度.

编辑#2

请注意,relativenumber和cursorline仅在Ruby文件中使用时触发此行为.我试过的每一个其他文件类型(相对于数字和光标)滚动顺畅,无论多长时间.

正如avivr所说,由于foldmethod = syntax,Vim有时很慢(特别是对于ins-completion)在大文件中

来自:help todo:

  • Slow combination of folding and PHP syntax highlighting. Script to

    reproduce it. Caused by “syntax sync fromstart” in combination with patch

    7.2.274. (Christian Brabandt, 2010 May 27) Generally, folding with

    ‘foldmethod’ set to “syntax” is slow. Do profiling to find out why.

FastFold plugin 使得折叠仅在保存时重新计算(所以您始终使用foldmethod =手动 – 但折叠使用foldmethod =语法或之前设置的任何内容计算).

这解决了我的问题.现在我可以在我的5000行C文件中使用完全整数的完成,而且它是瞬间的,而不是花费几分钟而无法响应.

http://stackoverflow.com/questions/22949067/macvim-quite-slow-when-syntax-is-set-to-ruby


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

分布式算法导论

分布式算法导论

泰尔 / 霍红卫 / 机械工业出版社 / 2004年09月 / 39.0

分布式算法20多年来一直是倍受关注的主流方向。本书第二版不仅给出了算法的最新进展,还深入探讨了与之相关的理论知识。这本教材适合本科高年级和研究生使用,同时,本书所覆盖的广度和深度也十分适合从事实际工作的工程师和研究人员参考。书中重点讨论了点对点消息传递模型上的算法,也包括计算机通信网络的实现算法。其他重点讨论的内容包括分布式应用的控制算法(如波算法、广播算法、选举算法、终止检测算法、匿名网络的随机......一起来看看 《分布式算法导论》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具