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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 离线centos6下安装Ambari2.2.1和HDP2.4

    离线centos6下安装Ambari2.2.1和HDP2.4

    2021年9月14日
    53
  • 部署Tomcat负载均衡「建议收藏」

    部署Tomcat负载均衡「建议收藏」一、理论部分Tomcat介绍Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范…

    2022年5月19日
    37
  • 渲染杂谈:early-z、z-culling、hi-z、z-perpass到底是什么?

    渲染杂谈:early-z、z-culling、hi-z、z-perpass到底是什么?渲染杂谈 early z z culling hi z z perpass 到底是什么 之前一直被这几个和深度缓存 z buffer 相关的概念搞得神魂颠倒 今天在翻阅 Real TimeRenderin 时碰巧碰巧看到了这部分的讲解 硬着头皮看了看 姑且算是讲几个概念分清楚了 以我的记性估计下周就全忘了 所以打算顺手记下来 这四种技术本质上都是解决传统渲染管线中的同一个问题 过度绘制 OverDraw 一个经典的渲染管线通常会依次经历顶点阶段 光栅化 片元阶段和逐像素处理 其中片元阶段会进

    2025年10月20日
    2
  • c语言输出整型量格式符,C语言输出格式(详细)

    c语言输出整型量格式符,C语言输出格式(详细)C语言格式化输出一、printf()函数printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。printf()函数的调用格式为:printf(“”,);其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出,另一部分是格式化规定字符,以”%”开始,后跟一个或几个规定字符用来确定输出内容格式。参量表是需要输出的一系列参数…

    2022年7月24日
    12
  • Ubuntu安装jdk8的两种方式[通俗易懂]

    Ubuntu安装jdk8的两种方式[通俗易懂]安装方式:1):通过ppa(源)方式安装.2):通过官网安装包安装.JDK官网下载地址一:使用ppa(源)方式安装:1):添加ppa源sudoadd-apt-repositoryppa:webupd8team/javasudoapt-getupdate2):安装oracle-java-installer(jdk8版本)sudoapt-getinstallorac…

    2022年7月12日
    14
  • 复制网页上不能复制的文章的方法是_文章无法复制

    复制网页上不能复制的文章的方法是_文章无法复制1.F12打开开发者工具,或者鼠标右键–检查2.摁F1,找到DisableJavaScript,勾选,即可复制

    2022年8月31日
    2

发表回复

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

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