lazy-nvim
简单来说,**Lazy (lazy.nvim)** 是 Neovim 的 **插件管理器**。
#status / growing
#type / concept
[!info] 相关文章 mason astro-nvim-usage-guide
lazy-nvim
如果把 Neovim 比作您的智能手机:
- Neovim 是操作系统(Android/iOS)。
- Lazy 就是 应用商店(App Store / Google Play)。
- 插件 就是您安装的 App(比如文件管理器、状态栏美化、代码自动补全的界面等)。
1. Lazy 的核心作用
它的全名是 lazy.nvim,是目前 Neovim 社区最流行、速度最快的插件管理器。它的主要工作是:
-
下载插件: 从 GitHub 把插件代码拉取到您的电脑上。
-
更新插件: 帮您把插件更新到最新版本。
-
清理插件: 删除您不再使用的插件。
-
性能优化 (重点): 正如它的名字 “Lazy”(懒惰)一样,它非常擅长**“懒加载”**。
- 传统方式: 打开编辑器时,一次性加载所有 50 个插件,启动很慢。
- Lazy 方式: 只有当您打开
.py文件时,才加载 Python 相关的插件;只有当您按下搜索快捷键时,才加载搜索插件。这让 AstroNvim 启动速度飞快。
2. Lazy 和 Mason 的区别(重要!)
这是新手最容易搞混的两个概念,请看下表对比:
| 特性 | Lazy (lazy.nvim) | Mason (mason.nvim) |
|---|---|---|
| 身份 | 插件管理器 | 外部工具管理器 |
| 管理对象 | Neovim 插件 (Lua 代码) | 二进制工具 (LSP, Debugger, Linter) |
| 例子 | 文件树(Neo-tree), 主题(Gruvbox), 状态栏 | Pyright, Prettier, Black, Gopls |
| 比喻 | 手机上的 App | 手机系统底层的 驱动程序/服务 |
| 关系 | Lazy 负责管理 Mason 这个插件本身 | Mason 负责下载具体的工具给插件用 |
举个例子:
- Lazy 负责安装并加载 “代码提示插件” (nvim-cmp) 的界面。
- Mason 负责下载 “Python 语言服务器” (pyright) 这个程序。
- 两者配合,您才能在写 Python 时看到代码提示。
3. 您看到的命令解释
您在文档中看到的命令,就是在指挥这个“应用商店”干活:
- :Lazy check: 只是去看看 GitHub 上有没有新版本(相当于 App Store 的“检查更新”红点)。
- :Lazy update: 真正开始下载代码,升级所有插件。
- :Lazy clean: 如果您在配置文件里删除了某个插件,运行这个命令会把它的残留文件彻底从硬盘删除。
- :Lazy sync: 最常用的命令。它等于“安装新插件” + “清理旧插件” + “更新现有插件”,一步到位。
总结
- Mason 帮您装 LSP/编译器(后端工具)。
- Lazy 帮您装 Neovim 的功能扩展(前端功能)。
- AstroNvim 只是把这两者完美地集成在了一起。
Related notes
- 相关概念: Mason