Neovim 发布 0.6.0 版本,新一代 Vim

来源: OSCHINA
编辑: 罗奇奇
2021-12-02

Neovim 是专注于可扩展性和可用性的新一代 Vim,Neovim 0.6.0 版本已发布,此版本带来以下内容:

对比 0.5.0 版本的重大变化

  • 不再提供 32 位 Windows 版本。
  • build deps:在 WIN32 上使用 libuv 1.42.0 上游 ( #15889 ) ( f6c0a37 ),关闭 #15889
    • 删除对 Windows 7 的支持
    • 在 Windows 8 和 8.1 的 TUI 中删除对鼠标和备用缓冲区的支持
  • lsp/diagnostic:突出显示 LSP 诊断的组和标志重命名(例如 LspDiagnosticsDefaultWarningDiagnosticWarn)(a5bbb93
  • 诊断:使 DiagnosticChanged 成为一流的 autocmd ( #16098 ) ( 150a592 ),关闭 #16098
    • au User LspDiagnosticsChanged 不支持自动命令。请改用新的一流 DiagnosticChanged 事件。
  • luaregister_keystroke_callback => on_key# 15460)(69fe427
    • 注意:此重大更改已包含在 0.5.1 中

特性

  • :source, nvim_exec:推迟脚本项创建,直到 s:var 访问 ( da9b0ab )
  • :source, nvim_exec:支持脚本本地变量 ( d4ed51e )
  • lua:将trimempty 可选参数添加到 vim.split ( 5fa26e2 )
  • lua:添加 vim.str_utf_{start,end}  #16129 
  • lua:添加 vim.str_utf_pos 函数 ( d752cbc )
  • lsp:来自所有客户端的聚合代码操作  #15121
  • api:为 xdiff 添加 lua C 绑定  #14536
  • api:评估状态行字符串  #16020
  • api:命名标记设置、获取、删除  #15346 
  • api: nvim_get_chan_info: 为作业包含“argv”  #15537 
  • api: win_viewport 也发送 line_count  #15613
  • api:支持 lua 中的终端输入回调(9e41e82
  • ci:添加向后移植 PR 操作  #14766
  • decorations:在 virt_text 中允许多个堆叠的高光  ( 1495d36 )
  • decorations:支持虚拟线(392c658
  • decorations:将 vim.lsp.diagnostic 移至 vim.diagostic 并支持其他来源(a5bbb93
  • decorations:向 open_float 添加“前缀”选项(#16321
  • decorations:添加选项以包含诊断源(d43151e
  • decorations:允许“前缀”选项返回突出显示(cc48837
  • decorations:允许自定义诊断消息(#15742
  • decorations:匹配(),tolist(),fromlist()(#15704)
  • decorations:更新 goto_next/prev 上的跳转列表 ( #15942
  • decorations:支持severity_sort(32c0631
  • lsp:向 open_floating_preview 添加“焦点”选项(#16465
  • lsp:为客户端代码操作命令添加注册表 ( 6c03601 )
  • lsp:向 codelens 添加客户端命令支持 ( #15820 )
  • lsp:添加 codeAction/resolve 支持 ( #15818
  • lsp:添加 exit_timeout 标志(#16070
  • lsp:添加 formatexpr ( #16186 )
  • lsp:添加 lsp 健康检查 ( e268026 )

......

变化

  • defaults: 自动创建备份目录 (4600193)
  • defaults: inccommand = nosplit #15395
  • defaults: set undo points in and (#15400)
  • defaults: 限制 CmdwinEnter的语法开销 #15401 
  • defaults: 将 CTRL-L 映射到搜索亮点,更新差异 #15385 
  • defaults: 将 Y 映射到 y$ #13268
  • defaults: 从 viewoptions 中删除 'options' #15397
  • defaults: 默认值设为隐藏 (f6c72b7)
  • defaults: 设置 nojoinspaces (d417e67)
  • defaults:switchbuf = uselast  #15394
  • runtime: 将包作为"/pack/*/start/*"模式添加到 &rtp ( 9df7e02 )
  • startup: 用 --clean 加载内置插件 #15893
  • terminal: 在终端模式下设置 cursorlineopt=number ( #15493
  • window: 跳过不可聚焦的浮动:windo(#15378

性能改进

  • api:在转换小对象时避免虚假分配(705e8f1
  • highlight:使用哈希表时突出显示组名称(bb4b4d7
  • lua:优化 vim.deep_equal #15236 
  • lua:不要在 lua require'mod' 中使用正则表达式
  • lsp:提高 json 反序列化性能 ( # 15854
  • map:将双指针间接减少为单指针间接(9e651a9
  • treesitter:避免在热循环中查找高亮显示名称的字符串2460f0a

0.6.0 是一个大版本更新,除了上述新功能和特性以外还包含大量 Bug 修复,详细信息可在官方公告查看。

 

 

展开阅读全文
4 收藏
分享
加载中
精彩评论
找了个 windows 下的 client ,https://github.com/RMichelsen/Nvy ,只有 100 多K,可以把 bin 目录下 qt 、 gl 、 d3d 等相关文件都删掉。
2021-12-02 08:49
1
举报
国产emeditor了解一下。vim这种上古的面向黑白框,字符干活的工具,真心无爱
2021-12-02 08:38
1
举报
最新评论 (8)
越來越多軟件不支持Win7了
2021-12-03 10:45
0
回复
举报
看更新列表,好像还没有解决m1支持问题
2021-12-02 23:47
0
回复
举报
建议用vscode的装个neovim插件上手尝试。
2021-12-02 10:08
0
回复
举报
找了个 windows 下的 client ,https://github.com/RMichelsen/Nvy ,只有 100 多K,可以把 bin 目录下 qt 、 gl 、 d3d 等相关文件都删掉。
2021-12-02 08:49
1
回复
举报
国产emeditor了解一下。vim这种上古的面向黑白框,字符干活的工具,真心无爱
2021-12-02 08:38
1
回复
举报
笑死,你用过 neovim 吗?就在这里bb?
2021-12-10 15:08
0
回复
举报
有了 LSP 和 DAP 的支持,vscode 能干什么 neovim 就能干什么,和 neovim 比起来,你才是活在上个世纪不思进取的人吧?
2021-12-10 15:09
0
回复
举报
啥都好,就是官方 windows 客户端有点大,opengl32sw.dll 有 15.2 MB 大,QT5 相关文件 20 多 MB 。
如果有其他轻量级的官方 gui 就更好了。
2021-12-02 08:13
0
回复
举报
更多评论
8 评论
4 收藏
分享
返回顶部
顶部