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

如何在状态栏中显示已加载的lazy插件总数

如何在状态栏中显示已加载的lazy插件总数

嘿,我懂你想在状态栏里展示Lazy.nvim已加载插件总数的需求,之前尝试用stats函数没成功对吧?别担心,我给你几个靠谱的解决办法:

  • 直接调用Lazy的官方API获取统计数据
    Lazy.nvim本身就提供了require('lazy').stats()函数,它会返回一个包含插件统计信息的表,其中loaded字段就是已加载的插件数量,count字段是总共安装的插件数。如果你用的是Lualine这类状态栏插件,可以这么配置:

    require('lualine').setup({
      sections = {
        lualine_x = {
          -- 自定义状态栏组件
          function()
            local lazy_stats = require('lazy').stats()
            return string.format('插件: %d/%d', lazy_stats.loaded, lazy_stats.count)
          end,
          -- 其他你需要的状态栏元素...
        }
      }
    })
    

    这样就能在状态栏里显示“插件: 已加载数/总数”的格式,直观又清晰。

  • 解决初始化时机问题
    如果你之前调用stats()函数没得到正确结果,大概率是状态栏初始化得太早,Lazy还没完成插件加载。这时候可以监听Lazy的完成事件,等它加载完毕再获取数据:

    -- 先定义一个变量存储已加载数
    local loaded_plugin_num = 0
    
    -- 监听Lazy加载完成的事件
    vim.api.nvim_create_autocmd('User', {
      pattern = 'LazyDone',
      callback = function()
        local lazy_stats = require('lazy').stats()
        loaded_plugin_num = lazy_stats.loaded
      end
    })
    
    -- 然后在状态栏组件里使用这个变量
    require('lualine').setup({
      sections = {
        lualine_x = {
          function()
            local total_num = require('lazy').stats().count
            return string.format('插件: %d/%d', loaded_plugin_num, total_num)
          end,
        }
      }
    })
    

    这个方法能确保你拿到的是Lazy完全加载后的准确数值,不会出现显示0或者错误数据的情况。

另外提醒一下,不用单独去加载stats.lua文件,直接调用require('lazy').stats()就可以了,这是Lazy官方暴露的标准API,比手动引入内部文件靠谱得多。

备注:内容来源于stack exchange,提问作者Michel Lecomte

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 06:54:35