Vim编程编辑器速度

5
问题是:当我在中添加以下行时,变得很慢。
set foldmethod=syntax 
set foldlevelstart=1 
let javaScript_fold=1 " JavaScript 
let perl_fold=1 " Perl 
let php_folding=1 " PHP 
let r_syntax_folding=1 " R 
let ruby_fold=1 " Ruby 
let sh_fold_enabled=1 " sh 
let vimsyn_folding='af' " Vim script 
let xml_syntax_folding=1 " XML 

背景:在编辑文件时

我认为在以下情况下它变慢是可以理解的:

  • 打开新文件,重新计算基于语法的折叠(例如折叠函数定义)
  • 创建新的函数定义

...但是...它在任何地方都变得如此缓慢?

您有使用/看到相同的情况吗?如果可以的话,有什么方法可以改善这种缓慢现象?


花了我一天时间才找到这个问题,并成功在我的虚拟机和实体机上重现,通过二分查找的方式排除了整体速度慢的其他可能原因。


我的环境

VIM - Vi IMproved 7.3 (2010年8月15日,编译于2013年3月12日14:05:25)

OS X v10.8.3(版本号12D78)

v3.2.48(1)-release



3
不用担心,关于编程工具的问题是属于主题范围内的。请随意删除您的开场白。 - Codie CodeMonkey
2个回答

1
你可以使用一些auto commands来玩耍。根据文件类型打开功能,vim 可以加速。例如:
autocmd BufRead *.pt set filetype=xml
au FileType xml setlocal foldmethod=syntax

1
set foldmethod=indent

比起语法,它更快速、可靠,并且在跨语言方面表现更加可预测。
另外,在let php_folding=1之后添加" PHP的意义是什么?
无论如何,你应该获取一个合适的Vim:Mac OS X提供的版本已经过时且功能不完整。使用最新版本可能无法解决你的问题,但它提供了最佳基线来寻求和提供帮助。

我使用 macports,但我从未能够弄清楚 brew(真丢人)。在您看来,macports 是一个可以接受的 vim 吗?我可能要从切换版本开始。 - Robottinosino
我从网上_复制_了那个“PHP”,如果你在谷歌上搜索,就会发现我抄袭了我的“vim折叠部分”!你能给我提供一个更好的“vim折叠部分”以逐字复制吗? - Robottinosino
  1. Brew 不比 MacPorts 更好。它更时尚,但本质上并不比较好:如果你对 MacPorts 没有问题,并且不是一个嬉皮士,那么切换到 brew 是毫无价值的。
  2. MacPorts 的 Vim 还可以,但我只是使用下载的 MacVim。那都是相同的版本。
  3. 复制别人的配置文件不是正确的做法。你应该确定需要什么,并阅读 :help 找到如何适应它的方法。每当在网上发现有趣的东西时,请阅读 :help
  4. 我答案中的那行是我 ~/.vimrc 中唯一与折叠相关的设置: 我从未找到过任何抱怨的理由。
- romainl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接