Neovim:十多万 Star 的编辑器,到底在改什么
文章目录Neovim十多万 Star 的编辑器到底在改什么改了些什么跟 Vim 的关系安装和使用谁在用一句话总结Neovim十多万 Star 的编辑器到底在改什么Vim 这个编辑器历史悠久功能强大但代码库维护起来是出了名的难。Neovim 的出发点很直接把 Vim 的代码重新整理一遍让它更容易被维护和扩展。这件事从 2014 年开始做到现在已经拿了超过 10 万 Star。改了些什么Neovim 对 Vim 做的改动核心就几件事。第一是把代码拆开了。原来 Vim 的代码耦合度很高改一个地方容易牵动其他地方。Neovim 把 API 层、事件循环、Lua 子系统、终端模拟器这些模块分离开不同模块可以由不同的人独立维护。第二是加了 RPC 接口。编辑器的核心功能可以通过 API 调用这意味着外部程序可以用任何语言来控制 Neovim。C、Python、Go、Rust、JavaScript主流语言都有对应的客户端库。想写一个自定义的 UI可以。想把编辑器嵌入到另一个应用里也可以。第三是内置了 Lua。Vim 的脚本语言 Vimscript 一直被人诟病Neovim 保留了对它的支持同时加入了 Lua 作为首选的配置和插件开发语言。Lua 的执行速度比 Vimscript 快语法也更清晰现在 Neovim 社区的主流插件基本都用 Lua 写了。跟 Vim 的关系Neovim 不是重新写一个编辑器而是在 Vim 的基础上改。大部分 Vim 的插件在 Neovim 上都能直接用包括 Ruby 和 Python 插件。你的 .vimrc 配置文件也可以基本照搬过来。迁移成本不高这是很多人愿意试试的原因之一。安装和使用各平台的包管理器基本都有 Neovim。macOS 用 HomebrewUbuntu 用 aptArch Linux 用 pacmanWindows 可以用 scoop 或者直接下载 release 页面的压缩包。想从源码编译的话项目用 CMake 构建依赖装好之后 make 就行。makeCMAKE_BUILD_TYPERelWithDebInfosudomakeinstall谁在用Neovim 的用户群体主要是程序员尤其是那些已经习惯了 Vim 键位但想要更多扩展性的人。内置终端模拟器让你不用离开编辑器就能跑命令异步任务控制让插件不会卡住主界面。现在 Neovim 社区的插件生态已经相当活跃。LSP 客户端、模糊搜索、文件树、Git 集成这些常用功能都有高质量的插件大部分用 Lua 写的配置起来比以前简洁很多。一句话总结如果你用 Vim 觉得还行但又想要更好的扩展能力Neovim 值得花半天时间试试。如果你从来没用过 VimNeovim 的 Lua 配置体系比原生 Vim 的 Vimscript 友好一些入门门槛相对低一点。的 Lua 配置体系比原生 Vim 的 Vimscript 友好一些入门门槛相对低一点。