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

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

内容简介: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


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

查看所有标签

猜你喜欢:

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

Unity游戏设计与实现

Unity游戏设计与实现

[日]加藤政树 / 罗水东 / 人民邮电出版社 / 2015-2 / 79.00元

本书出自日本知名游戏公司万代南梦宫的资深开发人员之手,面向初级游戏开发人员,通过10个不同类型的游戏实例,展示了真正的游戏设计和实现过程。本书的重点并不在于讲解Unity的各种功能细节,而在于核心玩法的设计和实现思路。每个实例都从一个idea 开始,不断丰富,自然而然地推出各种概念,引导读者思考必要的数据结构和编程方法。掌握了这些思路,即便换成另外一种引擎,也可以轻松地开发出同类型的游戏。 ......一起来看看 《Unity游戏设计与实现》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

随机密码生成器
随机密码生成器

多种字符组合密码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换