点击上方蓝色“程序猿DD”,选择“设为星标”

回复“资源”获取独家整理的学习资料!

来源:公众号「开源中国」

Vim 编辑器的创建者 Bram Moolenaar 最初开发了 Vim 以作为 Vi 编辑器的“增强版”,而现在,他希望通过一个名为 Vim9 的实验性分支对 Vim 本身进行改进。

Bram Moolenaar 表示,Vim9 是 Vim 的一个实验性分支,旨在探索使 Vim 脚本更好且更快执行的方式。这也是除“弹出窗口(Popup Windows)”和“文本属性(Text Properties)”之外,开发者呼声最大的功能需求。

为了能更快执行 Vim 脚本,Bram 思考了很多并得出如下结论:当前调用和执行函数的方式(带有用于参数和局部变量的字典)永远不会很快。

如果能够使速度快两倍,那么 Vim 的性能将会有明显的改进。毕竟调用和执行每一行函数的开销十分高。

Bram 认为只有通过一种与旧方法类似但属性不一样的新方法来定义函数才能使速度变快:

  • 参数只能通过名称(name)使用,而不能通过 a: dictionary 或 a:000 列表的形式使用

  • 局部变量在 l: dictionary 中不可用

  • 解决一些影响速度的问题,例如异常处理细节

对于上面的思路,Bram 提供了概念验证代码。到目前为止,对于一个简单的运行循环的 Vim 脚本,Vim 需要五秒钟的时间,Vim9 则可以在 0.07 秒内运行它,与 Lua 脚本的时间相同,并且比 Python 更快。

  let sum = 0for i in range(1, 2999999)let sum += iendfor

在更相关的代码片段中,Vim9 可以在 0.19 秒内运行脚本,而 Vim 的时间是 0.85 秒。

 let totallen = 0for i in range(1, 100000)call setline(i, '    ' .. getline(i))let totallen += len(getline(i))endfor

关于 Vim9 的具体实现思路和细节请查看其 GitHub 仓库,这些工作经过验证有效后会被合并到 Vim 中。

  • MyBatis 中的九种设计模式

  • 星巴克在GitHub中泄漏API密钥

  • 高效程序员的七个习惯

  • HttpClient 连接池设置不当引发的一次雪崩

  • 为什么程序员要了解业务?

号外!

第一次参与CSDN的博客之星竞选

如果我的公众号和博客曾帮助到您

那我就厚着脸皮恳请得到您的支持

点击“阅读原文”投出您宝贵的五票

每日均可支持5票哦!

把Vi改造成Vim的作者,现在又让Vim快了70倍相关推荐

  1. vi 查看最顶部_5分钟带你进入 Vim 大门,让你喜欢 Vim

    原标题:5分钟带你进入 Vim 大门,让你喜欢 Vim 来自:Linux迷 链接: https://www.linuxmi.com/vim-zhinan.html 打算在Linux上使用Vim文本编辑 ...

  2. 解决:bash: vim: command not found、docker 容器不识别 vi / vim 、docker 容器中安装 vim

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 在 Docker 容器中编辑文件,报错如下: bash: vim: command not f ...

  3. linux中vim如何查找字符串,[ubuntu] 在vim中查找指定字符串和指定文件

    推荐文章 更新源的方法 提前保存一下原来源 sudo cp sources.list sources.list.bak 换源命令: sudo gedit /etc/apt/sources.list 或 ...

  4. linux怎么退出vim编辑模式_Linux中的vim编辑器使用

    Vim 介绍 Vim 是全屏幕纯文本编辑器,是vi编辑器的升级版. vim 不仅仅兼容vi所有的命令,而且高亮显示,vi只能运行在 UNIX 和 Linux 中,而 vim 可以跨平台运行在Windo ...

  5. linux 神的编辑器,编辑器之神-vim的使用,编辑器神-vim

    编辑器之神-vim的使用,编辑器神-vim vim即vi的升级版:在linux中,vi是vim的软链接,我们敲vi和vim出来的都是vim: 纯手打,如有错误,敬请指出. vi的三种模式及简单使用 v ...

  6. ubuntu vim php配置文件在哪,ubuntu vim的配置文件在哪

    当我们使用Vim时, 你需要知道一系列的配置文件. 这些配置文件的位置依赖于Vim的安装位置和你所使用的操作系统. 通常, 有三个配置文件, 你是必须知道在哪里能找到的.vimrc 这是Vim最主要的 ...

  7. Linux下安装VIM编辑器,以及简单的VIM指令操作

    根据你的Linux版本,输入对应的如下命令,如果是centos系统,故而输入 yum -y install vim* ubuntu 系统输入命令:sudo apt-get install vim-gt ...

  8. Vim配置文件(.vimrc),Vim配置教程

    Vim 启动时,会根据配置文件(.vimrc)来设置 Vim,因此我们可以通过此文件来定制适合自己的 Vim. Vim 配置文件分为系统配置文件和用户配置文件: 系统配置文件位于 Vim 的安装目录( ...

  9. 5.1 vim介绍 5.2-5.3 vim颜色显示和移动光标、vim一般模式下移动光标 5.4 vim 一般模式下复制剪切粘贴...

    2019独角兽企业重金招聘Python工程师标准>>> 5.1 vim介绍 vim 是 vi 的升级版 vim 是带有颜色显示的 mini安装的系统,一般都不带有vim yum in ...

最新文章

  1. Google Brain 团队的研究方法
  2. MYSQL日期 字符串 时间戳互转
  3. 三菱plc选型手册_模拟量是什么?PLC和模拟量是如何转换的?
  4. [蓝桥杯2019初赛]等差数列-数列
  5. jdk,Eclipse,SWTDesigner安装【原创】
  6. 如何修改或新增visual studio 的模板
  7. 记录一次Centos磁盘空间占满的解决办法(转)
  8. android webview 无法加载插件,webView 测试问题,无法检测到 webView 控件
  9. 软件测试项目案例哪里找?【银行/教育/商城/金融/等等....】
  10. 系统性能调优技术实战
  11. 抖音小程序Tiktok开发教程之 基础组件 04 icon 图标组件
  12. 赵小楼《天道》《遥远的救世主》深度解析(137) 职业的责任担当,活的认真
  13. 用计算机处理表格信息,用计算机处理数据
  14. 手机上怎么把Word转换为PDF
  15. 交互设计师必备的9种能力
  16. 【数据可视化】bar函数绘制简单柱状图
  17. oracle中的Insert into
  18. linux越狱amd卡代码,为Linux内核贡献27.5万行代码中:AMD意外泄漏下一代APU信息
  19. 自然语言处理--词向量
  20. TVM User Tutorial -- Quick Start Tutorial for Compiling Deep Learning Models

热门文章

  1. linux shell dig nslookup 指定dns服务器 查询域名解析
  2. golang 文件服务器 实现
  3. linux 错误日志 __ratelimit: XXX callbacks suppressed 原因
  4. golang 函数指针相等比较
  5. linux 查看 全部网卡 虚拟网卡 物理网卡
  6. linux grub2 等待时间修改
  7. linux systemd 服务管理脚本简介
  8. linux windows c system 函数简介
  9. goland 报错 Main file has non-main package or doesn’t contain main function
  10. 区块链 重放攻击 简介