You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 10:50:59