Neovim 0.10 中的新内容是什么

Neovim 0.10 是自 0.5 版本以来最长的发布周期。此版本有大量新功能(以及一些破坏性更改),务必查看完整的发行说明,可在 Nvim 中直接使用:h news查看。新闻文件包含新功能、弃用和破坏性更改的信息,尤其敦促插件作者仔细阅读。

目录

默认值

  • 颜色方案:Nvim 长期需要新的默认颜色方案,0.10 版本带来新的默认颜色方案,由Evgeni Chasnovski贡献,解决了访问性和美学问题,但难以让所有人满意。
  • LSP 和诊断映射:新增默认映射K在 Normal 模式下映射到vim.lsp.buf.hover(),用于查看光标下函数或变量的信息;新增导航诊断的默认映射[d]d<C-W>d等,这些映射可覆盖内置映射,目的是让 LSP 在 Neovim 中更易上手,未来还计划添加更多默认值。

终端 UI 增强

  • 同步输出:许多现代终端模拟器支持同步输出,可减少终端 UI 快速绘制时的闪烁和撕裂,Nvim 0.10 引入新的'termsync'选项启用此功能(默认启用)。
  • 系统剪贴板同步:Nvim 0.10 可使用 OSC 52 序列读写系统剪贴板,自动使用条件为终端模拟器支持、在 SSH 会话中且'clipboard'选项未设置,建议使用传统粘贴键绑定。
  • 超链接:Nvim 0.10 引入使用 OSC 8 序列的实验性超链接支持,在 Markdown 中可点击链接打开网页浏览器,使查看 Markdown 文件更接近渲染输出。
  • 自动真彩色检测:Nvim 0.10 可自动检测终端模拟器是否支持 24 位颜色(真彩色)并启用'termguicolors'选项,在 SSH 连接和终端复用器中也有效。

LSP 内嵌提示:Nvim 0.10 支持 LSP 内嵌提示,通过图片展示了变量声明的类型注释,可使用vim.lsp.inlay_hint.enable()动态启用或禁用。

Tree-sitter 查询编辑器:Nvim 0.10 为 Tree-sitter 检查员添加了查询编辑器,可实时编写查询并在源缓冲区中查看匹配,通过o:EditQueryvim.treesitter.query.edit()打开,使编写新查询更轻松。

其他杂项

  • :terminal命令现在接受修饰符,可在屏幕底部的分割窗口中打开新终端窗口,无参数启动的:terminal缓冲区在 shell 正常退出时自动关闭。
  • gx在 Normal 模式下调用vim.ui.open()打开光标下的内容。
  • 基于 Tree-sitter 的语法高亮在 Lua、Vimdoc 和 Tree-sitter 查询中默认启用,可通过FileType自动命令或ftplugin恢复传统正则表达式语法高亮。
  • Q@在 Visual 模式下对所有选中行执行最后记录或执行的宏。
  • 使用支持 Kitty 键盘协议的终端模拟器可使用<D-<T-前缀创建映射。

路线图

  • 遵循“有趣驱动开发”范式,难以预测未来发布内容,若有想要实现的功能可自行尝试贡献。
  • 正在讨论进一步改善 LSP 和 Tree-sitter 体验,如内置代码片段和自动完成支持,以及实现 Tree-sitter WASM 能力以解决解析器分发问题。

参与贡献

鼓励 Neovim 用户参与,可直接为 Neovim 项目或插件贡献,或参与社区空间如Neovim Matrix 房间,若有使用痛点可提出。

最后一件事:Neovim 项目有商品商店,收益用于项目需求和全职开发工作。

阅读 146
0 条评论