当前位置: 首页 > news >正文

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 用 Homebrew,Ubuntu 用 apt,Arch Linux 用 pacman,Windows 可以用 scoop 或者直接下载 release 页面的压缩包。

想从源码编译的话,项目用 CMake 构建,依赖装好之后 make 就行。

makeCMAKE_BUILD_TYPE=RelWithDebInfosudomakeinstall

谁在用

Neovim 的用户群体主要是程序员,尤其是那些已经习惯了 Vim 键位但想要更多扩展性的人。内置终端模拟器让你不用离开编辑器就能跑命令,异步任务控制让插件不会卡住主界面。

现在 Neovim 社区的插件生态已经相当活跃。LSP 客户端、模糊搜索、文件树、Git 集成这些常用功能都有高质量的插件,大部分用 Lua 写的,配置起来比以前简洁很多。

一句话总结

如果你用 Vim 觉得还行但又想要更好的扩展能力,Neovim 值得花半天时间试试。如果你从来没用过 Vim,Neovim 的 Lua 配置体系比原生 Vim 的 Vimscript 友好一些,入门门槛相对低一点。

的 Lua 配置体系比原生 Vim 的 Vimscript 友好一些,入门门槛相对低一点。

http://www.jsqmd.com/news/1075555/

相关文章:

  • 信创财务系统适配难?实测AI智能体,国产软硬件全栈落地避坑指南
  • 轻量级大模型边缘部署:Open Assistant工程实践指南
  • NXP Layerscape安全启动机制深度解析:从SRK表到错误码排错
  • 锋芒尽显|搭载AMD 6600H暴雨BJB200笔记本正式发布
  • IT AI建站:从丰田生产线到数字创作的新范式
  • 微信聊天记录永久保存方案:用WeChatMsg打造个人数字记忆库
  • 为什么同样卖秋冬服装,有人爆单有人库存积压?
  • 【Netty源码解读和权威指南】第49篇:Netty实战——开发高性能im即时通讯系统
  • (文末附skill资源)基于QClaw创建一个输入视频链接提取视频音频为文本的skill
  • 华硕笔记本性能调优神器:G-Helper全面解析与实用指南
  • DBeaver如何转储数据库(导出)
  • JMeter 2.6多线程压力测试实战指南:从脚本设计到结果分析
  • 一款Python语言Django框架DDD脚手架,适合快速搭建项目
  • 株洲零界传媒:专注GEO优化的AI品牌服务商
  • 上海AI智能体培训机构推荐:如何选择适合自己的AI学习平台
  • 构建能理解if/else条件逻辑的聊天机器人
  • 团队级AI协同操作系统:五层架构实现Claude Code规模化落地
  • 服装商城系统-python+Django
  • Cockpit:一个灵活的开源无头内容管理系统
  • Java 创建线程:继承 Thread 子类 vs 实现 Runnable 接口
  • Video2X技术架构深度解析:如何构建高性能视频超分辨率处理框架
  • Windows 11终极瘦身指南:3步免费清理系统臃肿
  • 2026美食视频背景音乐精选榜单:从国内首选到国际平台的差异化风格指南
  • LangFlow终极指南:三步构建智能AI应用的完整教程
  • 【共创季稿事节】鸿蒙原生 ArkTS 布局实战:Tabs + animateTo 实现页面切换过渡动画
  • 海量项目模版库实战应用与价值落地
  • MCP协议:AI工具调用的标准化插座与工程化落地指南
  • 国内如何稳定使用Gemini?七层协议适配与上下文保真实战指南
  • Windows 11终极优化指南:3步轻松移除系统臃肿,恢复电脑流畅体验
  • Windows 11系统优化:3步免费打造高效纯净系统体验