文本编辑器 Vim 9.0 发布

经过两年半的开发,文本编辑器 Vim 9.0 发布了。 Vim 代码在其自己的 Copyleft 许可证下分发,与 GPL 兼容,并允许无限制地使用、分发和修改代码。 Vim 许可证的主要特征与更改的恢复有关 - 如果 Vim 维护者认为这些改进值得关注并提交相应的请求,则必须将第三方产品中实现的改进转移到原始项目。 根据发行类型,Vim 被归类为慈善软件,即Vim 的作者没有出售该程序或为项目的需要收集捐款,而是要求如果用户喜欢该程序,则向慈善机构捐赠任意金额。

Vim 9 提供了一种用于开发脚本和插件的新语言 - Vim9 Script,它提供了类似于 JavaScript、TypeScript 和 Java 的语法。 新语法对于初学者来说更容易学习,但不向后兼容旧的脚本语言。 同时,对以前使用的语言的支持以及对现有插件和脚本的兼容性都被完全保留——新旧语言并行支持。 没有计划停止对旧语言的支持。

除了重新设计语法之外,Vim9 Script 现在还支持编译函数,这可以显着提高生产力。 在进行的测试中,将函数编译成字节码可以将脚本执行速度提高10-100倍。 此外,Vim9 Script 不再将函数参数作为关联数组进行处理,这导致了很大的开销。 函数现在使用“def”表达式定义,并且需要显式的参数和返回类型列表。 变量是使用带有显式类型指示的“var”表达式来定义的。

将表达式拆分为多行不再需要使用反斜杠。 错误处理机制已完全重新设计。 运行函数不需要关键字“call”,但赋值需要“let”。 模块的创建已得到简化 - 添加了导出单个函数和变量以在其他文件中使用的功能。 注释由“#”字符而不是双引号分隔。 计划在未来版本中提供类支持。

其他变化包括:

  • 包括一组配色方案。
  • 改进了对拼写检查和输入完成的支持。
  • 添加了新设置:'autoshelldir'、'cdhome'、'cinscopedecls'、'guiligatures'、'mousemoveevent'、'quickfixtextfunc'、'spelloptions'、'thesaurusfunc'、'xtermcodes'。
  • 添加了新命令:argdedupe、balt、def、defcompile、disassemble、echoconsole、enddef、eval、export、final、import、var 和 vim9script。
  • 可以在弹出窗口(popup-terminal)中打开终端并选择终端的配色方案。
  • 添加了与LSP(语言服务器协议)服务器交互的通道模式。
  • 添加了对俳句操作系统的支持。

来源: opennet.ru

添加评论