https://www.vim.org/vim-9.2-released.php
Vim 9.2为Vim9脚本语言带来了显著增强,改进了差异模式,新增了全面的补全功能,并包含了针对特定平台的优化,例如实验性的Wayland支持。
Vim 9.2 新特性概览
1、全面补全功能:在插入模式补全中增加了对模糊匹配的支持,并支持直接从寄存器补全单词(CTRL-X CTRL-R)。新的'completeopt'标志,如nosort和nearest,让用户可以更精细地控制匹配项的显示方式和排序。
2、现代化平台支持:增加了对Wayland界面和剪贴板的完整支持。在Linux及类Unix系统中,Vim现在遵循XDG基础目录规范,将用户配置文件存放在$HOME/.config/vim目录下。
3、用户界面增强:新增了垂直标签面板,作为水平标签栏的替代方案。MS-Windows图形界面现在支持菜单栏和标题栏的原生深色模式,并改进了全屏显示功能,提供了更高质量的工具栏图标。
4、交互式学习:全新的内置交互式辅导插件(通过 :Tutor 启动)提供了超越传统vimtutor的现代化学习体验。
Vim9 脚本语言的演进
Vim9脚本语言得到了显著增强,包括原生支持枚举(Enums)、泛型函数(Generic functions)和元组(Tuple)数据类型。内置函数现已集成作为对象方法使用,并且类现在支持受保护的_new()方法和通过:defcompile实现完整方法编译。
Vim9 脚本生态与AI集成
Vim9脚本的现代化特性现已成熟,并被先进的AI开发工具所利用。贡献者Yegappan Lakshmanan近期通过两个使用GitHub Copilot生成的项目,展示了这些新特性的效能:
差异模式改进
Vim 9.2对差异模式中变更的可视化和对齐方式进行了显著改进:
1、行匹配算法:为'diffopt'设置引入了"linematch"算法。该算法能在缓冲区之间基于相似行对齐变更,极大地提高了差异高亮的准确性。
2、差异锚点:新增的'diffanchors'选项允许你指定锚点(逗号分隔的地址),用以分割并对缓冲区各部分进行独立的差异比较,确保在复杂文件中实现更好的对齐。
3、行内高亮:改进了对行内变更的高亮显示。这可以通过'diffopt'的"inline"子选项进行配置。请注意,"inline:simple"已被添加到默认的'diffopt'值中。
