Vim 9.0 发布

MicroPython、microbit、makecode等
最新动态
回复
头像
shaoziyang
帖子: 2906
注册时间: 2019年 10月 21日 13:48

Vim 9.0 发布

#1

帖子 shaoziyang »

Vim 9.0 发布
经过多年的逐步改进,Vim 现在迈出了一大步,主要 发布。 除了许多小的补充之外,聚光灯是一个新的化身 Vim 脚本语言:Vim9 脚本。

之前的版本是 2019 年 12 月的 8.2 版。 源代码在 GitHub 上总是可用的,很多已经在以后拾取 补丁版本(有超过 5000 个!)。 因此变化有 已经被很多用户试用过。 最重要的是已经修复了错误, 安全问题已得到解决,并添加了许多测试。 代码 覆盖面显着增加。 这个版本比 任何以前。

为什么选择 Vim9 脚本
一种新的脚本语言,需要什么? Vim 脚本一直在增长 随着时间的推移,同时保持向后兼容性。 这意味着错误的选择 过去通常无法更改,并且与 Vi 的兼容性受到限制 可能的解决方案。 执行很慢,每次都解析每一行 被执行。

Vim9 脚本的主要目标是大幅提高性能。 这是 通过将命令编译成可以有效地执行的指令来完成 执行。 预计执行速度将提高 10 到 100 倍。

第二个目标是避免 Vim 特定的结构并更接近于 常用的编程语言,如 JavaScript、TypeScript 和 Java。

性能改进只能通过不 100% 倒退来实现 兼容的。 例如,通过创建使函数参数可用 "a:" 字典涉及相当多的开销。 在 Vim9 函数中,这个 字典不可用。 其他差异更微妙,例如如何 错误得到处理。

对于那些拥有大量遗留脚本的人:不用担心! 他们将 像以前一样继续工作。 没有计划放弃对旧脚本的支持。 没有像 Python 2 被弃用那样的戏剧性事件。

有趣的功能
为了从加速中获利,必须使用 def 。 必须指定参数和返回类型。 这不仅是为了使 执行速度更快,它还有助于在函数运行时及早发现错误 编译成字节码。 变量用 var ,也有 一种类型,无论是显式的还是从分配的值中推断出来的。

续行不需要使用反斜杠,这种机制是 在遗留脚本中使用,这有点奇怪,需要保留它 向后兼容。

函数调用不需要 调用 ,赋值不用 let 和表达式在没有 eval 。 这使得一个 Vim9 脚本看起来更像大多数编程语言。
图片

完整公告
 
 
 

回复

  • 随机主题
    回复总数
    阅读次数
    最新文章