一、Neovim的安装
什么是Neovim
实际上就是基于vim的重构版,它在vim的基础之上加入了更多特性,如:支持使用Lua语言编写配置和插件、内置lsp客户端、暴露了更多API等。
为什么使用Neovim
与 VS Code 等现代集成开发环境(IDE)相比,Neovim 代表的是一种不同的哲学。它不追求“开箱即用”的完备性,而致力于提供一个高效、可深度定制、以键盘为中心的核心,让你能亲手搭建完全属于自己的编辑环境。
使用Neovim编写代码过程是可以完全摆脱鼠标的,双手完全不脱离键盘更有助于我们专注于编程,高效沉浸的编程更容易进入心流状态
核心优势:为什么值得投入
| 维度 | Neovim 的优势 | 具体说明 |
|---|---|---|
| 🚀 极致的效率与流畅度 | 零延迟的响应 | 基于终端的纯文本界面,启动和操作几乎无延迟。对于快速编辑、远程服务器工作,这是巨大优势。 |
| 手不离键盘 | 模态编辑是其灵魂。在普通模式下,所有操作(移动、删除、复制、查找)都通过快捷键完成,省去了在键盘和鼠标间频繁切换的损耗,形成行云流水般的编辑体验。 | |
| 可组合的强大命令 | 动词(d删除)+名词(w单词)的结构,像造句一样组合命令(如d2w删除两个单词),能以极少的击键完成复杂操作。 | |
| 🧩 无限的个性化与掌控 | 你的编辑器,你做主 | 从快捷键、界面外观到每一个功能插件,全部由你的配置文件定义。你可以将其打造成专为你工作流优化的“终极工具”。 |
| 配置即代码 | 配置文件(通常是 init.lua)是纯文本文件,可以用 Git 管理、备份、同步和分享。你的整个开发环境可以轻松地在不同机器间完美复现。 | |
| 活跃的现代生态 | 相对于传统 Vim,Neovim 内置了更现代的 Lua 运行时和 LSP 客户端,其插件生态(如 telescope, lazy.nvim)充满活力,且配置更直观。 | |
| 💼 普适与轻量的工作环境 | 无处不在,一致体验 | 从本地到任何远程 Linux/Unix 服务器,Neovim 几乎总是可用。学会它,你就拥有了在任何环境下都能高效编辑的“超能力”。 |
| 资源占用极低 | 非常节省内存和CPU,即使同时打开数十个文件或大型项目,也能保持流畅。对性能受限的机器或需要长时间运行的环境非常友好。 | |
| 🧠 长期的心智投资 | 一次学习,终身受用 | Vim 的键位和操作逻辑是跨编辑器的“元技能”。在 VS Code、IntelliJ IDEA 甚至浏览器中,你都可以使用 Vim 模拟插件,延续高效的操作习惯。 |
| 理解工具本身 | 通过配置过程,你会更深入理解编辑器的运作方式(如LSP、语法树),这本身就是一种有价值的编程学习。 |
需要面对的挑战:清晰的成本认知
| 维度 | 需要面对的挑战 | 说明与应对心态 |
|---|---|---|
| ⏳ 显著的学习曲线 | 初期陡峭 | 需要记忆核心快捷键和模式概念,初期效率可能低于使用传统编辑器。这是必须支付的“入门学费”。 |
| 配置需要时间 | 从一个裸编辑器到功能完备的 IDE,需要花费数小时甚至数天进行配置和调试。这是一个持续的“边用边改”过程。 | |
| 🔧 并非真正的“开箱即用” | 功能需要组装 | 文件树、调试、代码补全等 IDE 的标配功能,在 Neovim 中都需要自行寻找和配置插件。默认状态是“简陋”的。 |
| 需要自己解决问题 | 插件冲突、配置错误需要自己排查,对问题解决能力和搜索(查阅文档、GitHub issue)能力有一定要求。 | |
| 👁️ 图形界面与鼠标交互 | 纯键盘导向 | 虽然可以配合鼠标,但设计哲学是键盘优先。重度依赖鼠标操作(如精细拖拽、复杂图形化调试)并非其强项。 |
| 视觉丰富度 | 界面是基于字符的,缺乏 VS Code 那样高度图形化的插件 UI(如复杂的设置面板)。信息密度高,但美观度见仁见智。 |
适合学习 Neovim 的人:
- 追求极致编辑效率和流畅键盘流的开发者。
- 享受折腾工具、打造个性化工作台的乐趣。
- 经常需要在终端或远程服务器环境下工作。
- 相信对工具的投资是长期回报,愿意为未来效率付出当下学习成本。
可能不太适合现阶段学习的人:
- 希望立刻开始一个项目,对工具定制毫无兴趣。
- 极度依赖图形化、鼠标操作的复杂调试或数据库工具链。
- 无法接受初期(可能持续1-2周)的效率下降和挫败感。
一句话概括:Neovim 不是一个“产品”,而是一个可塑性极强的“编辑器内核”。你投入时间学习和配置,换来的是一个与你思维和工作流完美契合的、可以伴随整个职业生涯的高效伙伴。它的价值不在于“拥有”,而在于“创造”。
准备
本文不会像网上大多数教程一样直接放一段配置代码让你粘贴到自己的neovim配置中,却不告诉你为什么这样做; 本文的目标是让你看完整个系列后,能够按照自己的想法在一定程度上去自定义neovim, 至少是真的入门了。
如果看完以上介绍你还是坚持想学习neovim, 那么请和我一起逐步探索neovim, 但在此之前你还需要做以下这些准备:
「必须」 一台电脑(操作系统是: macOS 或 Windows 或 Linux任选其一。ps.我个人使用的是macOS)
「必须」 网络环境; neovim安装插件和lsp的过程需要访问外网,所以首先需要让你的电脑可以正常访问外网(这里不便展开说明, 相信你已经具备此条件或有能力自己解决)
「必须」会使用git版本管理工具, 且最好有github或gitee等远程代码仓库账号, 方便日后维护和更新配置
「推荐」 请善于查阅官方文档, 最好的教程永远是官方文档, 在之后的章节中我将会介绍插件的安装,每个插件都是需要我们详细阅读对应的使用文档才能知道插件是如何使用的,以助于满足我们自己的需求, 所以不妨从现在开始养成查阅文档的习惯, 这有助于锻炼我们解决问题的能力。
「推荐」学习lua的基础语法 (本文将只会使用lua来配置neovim, 不使用VimScript, 并且也推荐大家使用lua来配置neovim)
「推荐」善用AI工具帮助理解配置和lua代码,也可以在一定程度上完成自己无法搞定的配置。
安装Neovim
最权威的安装指南始终在官网, 建议你直接查阅 Neovim 官网,以查看最新的版本和安装说明。
各平台安装命令(示例)
- macOS (使用Homebrew)
brew install neovim- Linux (部分发行版)
# Ubuntu/Debian
sudo apt install neovim
# Fedora
sudo dnf install neovim
# Arch Linux
sudo pacman -S neovim- Windows(使用Winget或Scoop)
# Winget (Windows 11 通常自带)
winget install Neovim.Neovim
# 或者使用 Scoop
scoop install neovim验证安装
安装完成后,在终端输入以下命令来验证是否成功
nvim --version如果成功,会在终端打印处版本号等信息:
❯ nvim --version
NVIM v0.11.5
Build type: Release
LuaJIT 2.1.1765228720
Run "nvim -V1 -v" for more info截止目前 (2025.12.30) 的版本号为:0.11.5
官方原定计划于2025年圣诞节更新正式版至0.12.0 , 但已经跳票了; 在 0.12 这个版本最令人期待的变化是原生支持了插件管理器(vim.pack) , 目前在预览版中已经可以使用,但评价褒贬不一,我个人认为不如Lazy.nvim
社区中的配置框架
我们已经知道了 neovim 不能像vscode一样做到安装即用,但仍然有非常多的开发者有着开箱即用的需求; 尤其是对一些新手而言,通常他们都很喜欢vim的编辑模式,却不知该如何配置,或者知道如何配置,也非常清楚自己的需求是什么,但是懒得再去折腾,这时候最好的方式是能够有一套非常傻瓜的配置方式, 能够快速集成到自己的neovim中, 达到与vscode一致甚至更舒服体验, 社区中的配置框架就是为了满足这些人的需求。
以下列出一部分目前还在维护的社区中的配置框架:
LazyVim
优点
高度模块化与灵活:以“配置即插件”为核心,鼓励你将所有配置(包括键位、选项)都视为可插拔的模块,定制自由度极高。
性能出色:基于 lazy.nvim 插件管理器实现,所有插件都支持懒加载,启动和运行速度很快。
开箱即用与深度定制结合:为新手提供了功能完整的预设,同时为高手提供了清晰的覆盖和扩展接口。
文档清晰:拥有详细的官方文档和活跃的社区,方便学习和排查问题。
缺点
学习曲线:其高度模块化的设计哲学,对于从零开始理解并自定义配置的新手来说,可能比预想的要复杂。
预设插件较多:默认配置集成插件较多,可能会包含一些你不需要的功能。
AstroNvim
优点
强调美观与完整性:非常注重用户界面(UI)的美观度和视觉体验,提供精心设计的状态栏、主题等,追求开箱即用的精致感。
开箱即用体验佳:默认集成了大量现代化插件(如文件树、LSP、调试器等),几乎无需额外配置就能获得全面的IDE功能。
社区支持强大:拥有活跃的社区和专门维护的插件集合(astrocommunity),方便用户一键添加对各种语言和工具的支持。
平衡了功能与轻量:有用户反馈,它在提供丰富功能的同时,比一些框架感觉更轻量、配置结构更清晰。
缺点
定制路径明确:虽然可以深度定制,但其自身结构完整,更鼓励用户在它提供的框架和 astrocommunity 内进行扩展,而非彻底改造。
美学风格固定:其UI设计有较强风格,如果你不喜欢这套设计,调整的工作量可能较大。
NvChad
优点
极致追求速度与轻量:这是其最突出的特点,通过极致的懒加载和优化,实现了极快的启动速度(号称在0.02秒到0.07秒之间)。
现代美观的UI:默认提供了非常漂亮且信息丰富的图形界面(如图标、主题),在保持终端风格的同时拥有现代感。
主题选择丰富:内置了超过56种颜色主题,并支持实时切换,满足个性化需求。
配置相对简洁:核心配置追求轻量,避免过度集成,让用户可以根据需要自行添加插件。
缺点
功能完整性:为了速度和轻量,默认集成的插件可能不如AstroNvim或LazyVim全面,需要更多手动配置来达到“全功能IDE”的程度。
文档与社区:其文档和社区规模可能略小于另外两者,遇到深度问题时可能需要更多自己探索。
这些配置也非常适合作为你使用neovim的一个开始, 一旦你开始产生大量自定义需求的时候,那么再去使用这些集成配置就变得不是那么的合适了.
