使用lazy.nvim时init()意外触发config()的问题咨询
Lazy.nvim 懒加载行为:init函数中的
require()会触发config执行 实验环境
- 插件管理器:lazy.nvim
- 本地插件路径:
/root/projects/blah - 插件文件结构:
lua/bar/init.lua:代码为vim.cmd("set number")lua/foo/init.lua:代码为vim.cmd("set background=light")
- 插件配置(位于
nvim/init.lua):{ "blah", dir = "/root/projects/blah", lazy = true, init = function() -- 默认注释该行 -- require('bar') end, config = function() require('foo') end }
实验现象与结论
场景1:init函数中注释
require('bar')
启动Neovim后,背景为深色且无行号,符合lazy=true的预期(插件未被加载,config函数未执行)。场景2:取消init函数中
require('bar')的注释
启动后行号正常显示(bar模块生效),同时背景变为浅色(foo模块生效),说明config函数被触发执行。场景3:将init函数中的
require('bar')替换为vim.g.blah = 10
启动后背景保持深色,config函数未触发,符合lazy=true的预期。
内容的提问来源于stack exchange,提问作者StevieD
相关产品推荐
相关产品推荐

