Neovim 0.12.6:用 Lua 配置的内置语言服务器编辑器

摘要

基于终端的文本编辑器,编辑模型与 Vim 兼容,配置可以用 Lua 编写,内置语言服务器协议客户端与语法解析能力,当前版本 0.12.6,采用 Apache 许可发布。

软件名称
Neovim
版本
0.12.6
收费
免费
开源
开源
操作系统
WindowsmacOSLinux
更新时间
2026-10-13 11:59

在终端里写代码的人,通常不缺耐心,缺的是一个不用来回切窗口的地方。

从 Vim 出发的一次重构

终端编辑器的好处很直接:不依赖图形界面、对机器性能要求低,通过远程连接也能照常工作。老牌编辑器积累的操作习惯,很多人在用了十几年之后已经形成条件反射,换工具的迁移成本高得离谱。这也解释了为什么这一类软件的生命周期特别长,也特别难被取代。

Neovim 的位置就在这个缝隙里。官方对它的定义是一句很短的概括——可高度扩展、基于 Vim 的文本编辑器。它把原来一次性写死的部分拆成了几个组件:编辑器内核、界面与扩展机制各自独立,彼此通过接口通信。这个拆法是后续很多变化的来源。

对使用者最直接的一点是兼容性。官方在功能页明确说明,它与 Vim 的编辑模型以及脚本语言的第一版完全兼容。这意味着操作方式、按键习惯与既有脚本都能继续用,已有配置也可以逐步迁移,不必一次性重写;官方文档里还专门给从 Vim 换过来的使用者准备了入口说明。

配置、解析与扩展方式

配置文件改用 Lua 之后,配置本身可以写成带条件与循环的代码,而不只是一长串赋值语句。插件同样可以用 Lua 编写。官方的说法是配置保存在一个固定的 Lua 文件里,脚本与插件共享同一套语言,省掉了过去在两种语法之间来回搬的麻烦。

编辑体验上有两处改动值得单独提。一是语法解析改用 Tree-sitter,按语法结构理解代码,而不是按行做模式匹配,因此括号配对、按函数或按类选取这类操作能做得更准,语法高亮也更贴合真实结构。二是内置了语言服务器协议的客户端,接入各语言自己的分析服务之后,编辑器就能给出跳转定义、查看引用与重命名这类跨文件操作,而不必为每种语言单独实现一遍。

扩展机制里比较特别的是远程调用接口。官方说明它支持用任意语言编写扩展,图形界面程序、集成开发环境乃至浏览器都可以把编辑器内核嵌进去当组件用。内置终端则是另一处实用改动:跑构建、看日志与改代码处在同一个窗口里,少了一层窗口切换的成本。

版本与获取

官方发布页为 Linux、macOS 与 Windows 都提供构建产物,版本号一致,换平台时配置文件通常可以直接带过去。当前最新版本为 v0.12.6。同一个次版本系列里的小版本更新以修问题为主,跨次版本升级前看一遍改动说明比较稳妥。

项目采用 Apache-2.0 许可证发布,允许运行、修改并再分发程序,条款里也包含专利授权部分。对把编辑器接进企业开发流程的组织来说,这一点常被拿来和纯宽松许可作对比。社区还维护了一批开箱即用的配置方案,装上就能获得相对完整的编辑环境,适合不想从零攒配置的人先跑起来。

项目

官方信息

当前版本

v0.12.6

形态

终端文本编辑器

平台

Linux、macOS、Windows

配置语言

Lua

主要能力

语言服务器客户端、Tree-sitter 解析、远程调用扩展、内置终端

授权

Apache-2.0

兼容旧的编辑习惯,同时把配置和扩展换到更好写的语言上,是这次重构最实际的部分。

使用建议:从 Vim 迁移时先把旧配置整个保留,让编辑器照常启动,再逐项替换成新写法,一次改一项比较好定位问题;语言服务器按自己常用的语言逐个接入,装得太多启动会明显变慢;插件保持精简,出问题时逐个停用以确认来源,比一次装一堆再排查要省事。

Neovim下载地址
支持的操作系统: Windows macOS Linux