VIM加速

VIM加速

使用VIM内置命令查看加载时间

参考:vim 启动速度优化的一些经验

$ vim --startuptime /tmp/vim.log ~/.vimrc +qall && cat /tmp/vim.log |sort -nrk 2

然后就能看到各个环节加载时间,以ms毫秒为单位,即小数点前面是毫秒数。
其中第一列是时间点,第二列是时长,我们主要关注第二列。
一般标准: ”200ms 以下感觉是很好的,超过 500ms 会觉的有点卡,如果超过 1s 就会觉得非常难受了“

一般影响速度的元素:

  • 语法高亮插件
  • 系统函数调用: has()和system()都属于系统级查询,效率极低,尽量减少使用。
  • Nerdtree等文件浏览插件相比于tagbar、fzf等都要多用10倍时间,出乎意料

image

使用第三方脚本分析VIM加载

startuptime.vim

参考:tweekmonster/startuptime.vim

安装好后直接用:StartupTime显示分析结果,非常快。

image

vim-plugins-profile

参考:hyiltiz/vim-plugins-profile

git clone https://github.com/hyiltiz/vim-plugins-profile.git
cd vim-plugins-profile

# 用Ruby生成分析结果 (较少依赖)
ruby ./vim-plugins-profile.rb   #命令行显示结果 无需依赖

# 用Ruby生成NeoVim的分析结果
ruby ./vim-plugins-profile.rb nvim

# 用Python生成分析结果(图片)
python vim-plugins-profile.py    #命令行显示结果
python vim-plugins-profile.py -p # 生成条形图,需要matplotlib和SciPy的Pylab依赖

# 命令行中查看分析结果
bash ./vim-plugins-profile.sh  #需要R语言和其插件依赖,较慢

如果是Bash执行,则会自动安装R语言等依赖R:ggplot2
如果是Python执行,则会安装matplotlibpylab等绘图包依赖。
如果是Ruby执行,暂时不需要依赖。

推荐使用Ruby。

Ruby生成的命令行结果:
image

Python生成的命令行结果:
image

根据系统判断使用哪些插件

注意:VIM的has()属于系统级查询,效率极低,拖慢速度。尽可能减少使用。

完整OS列表:win32, win64, mac, macunix, unix

如果是Mac,则加载这个插件:

if has('mac')
    Plug 'xxxxxx'
endif
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101215.html原文链接:https://javaforall.net

(0)
上一篇 2021年6月19日 下午8:00
下一篇 2021年6月19日 下午9:00


相关推荐

  • Unity键盘钩子[通俗易懂]

    Unity键盘钩子[通俗易懂]http://blog.csdn.net/qq452626100/article/details/52398830privatestaticintKeyboardHookProc(intnCode,Int32wParam,IntPtrlParam){ if(nCode==HC_ACTION ) { varkc=(KeyCode)(wParam+97-65)

    2022年5月28日
    52
  • 求二叉树的最长路径_某完全二叉树按层次输出,从左到右

    求二叉树的最长路径_某完全二叉树按层次输出,从左到右Ural 大学有 N 名职员,编号为 1∼N。他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。每个职员有一个快乐指数,用整数 Hi 给出,其中 1≤i≤N。现在要召开一场周年庆宴会,不过,没有职员愿意和直接上司一起参会。在满足这个条件的前提下,主办方希望邀请一部分职员参会,使得所有参会职员的快乐指数总和最大,求这个最大值。输入格式第一行一个整数 N。接下来 N 行,第 i 行表示 i 号职员的快乐指数 Hi。接下来 N−1 行,每行输入一对整数 L,K,表示 K 是 L 的直接

    2022年8月8日
    6
  • node 的运行命令

    node 的运行命令node 的运行命令

    2022年4月23日
    367
  • 数据仓库与数据挖掘的一些基本概念是_数据挖掘的实例

    数据仓库与数据挖掘的一些基本概念是_数据挖掘的实例下面内容摘自互联网并作了整理。名词:BI(BusinessIntelligence):商业智能,DW(DataWarehouse):数据仓库,详见正文Q1部分。OLTP(On-LineTrans

    2022年8月4日
    13
  • Linux#使用ll命令

    Linux#使用ll命令     ubuntu和mac环境下,没有ll命令,对于习惯在Linux环境使用ll命令的开发人员来说,着实不便。     介绍两种添加ll命令的方法:     一、设置别名        1、编辑~/.bashrc mac环境为~./bash_profile             sudovim~/.bash_profile        2、…

    2025年12月10日
    6
  • navicat for mac 激活码(JetBrains全家桶)

    (navicat for mac 激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月30日
    110

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号