几个在使用过程中发现的比较影响vim启动速度的地方以及优化方法/策略。如有不当之处,还请多多指正。
1、cursorline cursorcolumn
作者在文档中说这个设置会减慢屏幕重绘的速度,我在使用时发现确实是,特别是开了几个大软件后在vim中一直按j或k,卡顿非常明显。
解决办法:
取消是不可能取消的,这个东西是真的炫酷。。。
全都要的解法:
autocmd InsertLeave * call ToggleCursor()
autocmd InsertEnter * call ToggleCursor()
function ToggleCursor() abort
set cursorline!
set cursorcolumn!
endfunction
功能:插入模式时开启,普通模式时关闭。
2、某些涉及系统调用的接口
底部链接里有说明,在此不再赘述。
3、非立即需要的插件
安装的插件其实可以简单的分为两类,一类是启动的时候就需要加载的,比如配色,另一类是等vim启动完成后再加载也没什么影响的。
我浏览了一遍自己安装的插件,几乎都属于第二类。
解决方法:
精简是不可能精简的。
借鉴emacs的处理策略,使用定时器来推迟加载非立即需要的插件。
其中一种方法是在vim启动后空闲一段时间(使用timer。我自己设了500ms)再通过回调函数调用内置插件管理方案(packages)加载这些插件。麻烦是麻烦了点,但是效果很明显。
另一种方法是vim-plug插件,它提供了插件按需加载的功能,开箱即用,很方便。
第三种是使用kristijanhusak/vim-packager插件。
4、机器性能
一种提升效果和钱包厚度强相关的方法。
5、和vim启动优化相关的其他文章
https://zhuanlan.zhihu.com/p/24484514
6、写在最后
希望能让你的vim飞起来;)