lazy.nvim快速起步
GitHub: folke/lazy.nvim 是neovim的流程插件管理器,可以快速将neovim转变成全功能的IDE,方便我们进行开发。
安装
按照 Neovim基础配置 在 ~/.config/nvim/init.lua
配置添加一段 bootstrap:
init.lua
中添加 lazy.nvim
插件管理器bootstrap-- lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
require("lazy").setup()
备注
最后一行 require("lazy").setup()
当前是空的内容,后续在这部分 setup()
添加需要安装的插件以及操作指令
然后重新进入 nvim
,并运行检查:
:checkhealth lazy
───────────────────────────────────────────────────
lazy: require("lazy.health").check()
lazy.nvim
- OK Git installed
- OK no existing packages found by other package managers
- OK packer_compiled.lua not found
Homebrew 安装异常排查
在 Homebrew 中安装的 nvi
使用上述安装方法,在 checkhealth lazy
输出信息中有报错:
──────────────────────────────────────────────────────────────────────────────
lazy: require("lazy.health").check()
lazy.nvim
- {lazy.nvim} version 11.13.1
- OK {git} version 2.39.3 (Apple Git-146)
- OK no existing packages found by other package managers
- OK packer_compiled.lua not found
luarocks
- checking hererocks installation
- OK no plugins require luarocks, so you can ignore any warnings below
- OK {python3} Python 3.12.4
- ERROR {/Users/huatai/.local/share/nvim/lazy-rocks/hererocks/bin/luarocks} not installed
- WARNING {/Users/huatai/.local/share/nvim/lazy-rocks/hererocks/bin/lua} version 5.1 not installed
- WARNING Lazy won't be able to install plugins that require luarocks.
Here's what you can do:
- fix your luarocks installation
- disable hererocks with opts.rocks.hererocks = false
- disable luarocks support completely with opts.rocks.enabled = false
方法一: 通过安装 Gighub: vhyrro/luarocks.nvim 解决
上述报错参考 Gighub: vhyrro/luarocks.nvim ,使用 luarocks.nvim
来方便安装 luarocks 包:
先安装
luajit
:
修改
~/.config/nvim/init.lua
代码如下:
init.lua
中添加 luarocks.nvim
配置来安装 luarocks
软件包,避免 lazy.nvim
因缺少 luarocks
报错-- lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
require("lazy").setup({
-- 首先安装luarocks
"vhyrro/luarocks.nvim",
priority = 1000, -- Very high priority is required, luarocks.nvim should run as the first plugin in your config.
config = true,
})
此时当调用 lazy.nvim
就会自动变易一个本地 luarocks
安装。 如果没有自动完成,则可以手工执行 :Lazy build luarocks.nvim
(注意,这里必须是 Lazy
,第一个字母大写,否则会报错没有这个指令)
方法二: 直接安装 LuaRocks
备注
LuaRocks 是Lua模块的包管理器
我后来发现一个非常简单的解决方法,就是在系统中直接安装 LuaRocks
就完全解决了( 之前在 Gentoo Linux 上实践 neovim 使用的 USE Flags是 lua_single_target_luajit
Build for LuaJIT only,似乎没有启用 LuaRocks
):
安装
LuaRocks
是会自动依赖安装Lua 5.4:
备注
luarocks Installing 提供了不同平台安装 LuaRocks 的方法,其中 macOS 平台推荐使用 Homebrew 方式安装
上述 luarocks
安装完成后,再次执行 :checkhealth lazy
就会看到 luarocks
报错消失:
luarocks
之后报错消失──────────────────────────────────────────────────────────────────────────────
lazy: require("lazy.health").check()
lazy.nvim
- {lazy.nvim} version 11.13.1
- OK {git} version 2.39.3 (Apple Git-146)
- OK no existing packages found by other package managers
- OK packer_compiled.lua not found
luarocks
- checking luarocks installation
- OK no plugins require luarocks, so you can ignore any warnings below
- OK {luarocks} /usr/local/bin/luarocks 3.11.1
- WARNING lua version 5.1 needed, but found Lua 5.4.7 Copyright (C) 1994-2024 Lua.org, PUC-Rio
- WARNING {lua5.1} or {lua} or {lua-5.1} version 5.1 not installed
插件
在完成上述 lzay.nvim
初始化之后,安装一个主题插件,一方面验证 lazy.nvim
工作是否正常(我实际上也是为了增加感性认识),另一方面,本案例中安装的theme插件确实美观好用:
修订上文的初始化
~/.config/nvim/init.lua
,修订require("lazy").setup()
内容,添加需要安装的插件catppuccin.nvim
,并且通过最后一行指令应用这个theme:
init.lua
中添加 catppuccin.nvim
插件theme-- lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
require("lazy").setup(
{ "catppuccin/nvim", name = "catppuccin", priority = 1000 }
)
vim.cmd.colorscheme "catppuccin"
完成配置修订后重新进入 nvim
,就会看到自动安装过程,并且nvim的编辑风格转换
备注
不知为何,在 macOS Terminal 中使用 catppuccin
theme时候,会出现灰绿色背景,但是在 tmux多会话终端管理 中使用这个theme则非常完美... Why?