使用lazy.nvim懒加载本地Test插件后提示命令未找到
修复
Command Test not found after loading test 提示问题 问题根源
你通过lazy.nvim的cmd = "Test"配置,将:Test命令设为插件的懒加载触发条件,但你的插件代码并未注册Test这个Neovim Ex命令。lazy.nvim在加载插件后会尝试执行触发它的:Test命令,自然会提示找不到该命令。
解决方案
1. 给插件注册:Test Ex命令
修改你的插件模块代码(需放在~/.config/nvim/lua/plugins-my/test.nvim/lua/test.lua路径下),添加命令注册逻辑,同时修复原代码的异步问题:
local M = {} function M.test() -- vim.ui.input是异步函数,回调外无法获取返回值,需在回调内处理结果 vim.ui.input({ prompt = "Enter value: " }, function(str) if str then print("你输入的内容是:" .. str) end end) end -- 注册Test Ex命令,与lazy.nvim的cmd配置对应 vim.api.nvim_create_user_command("Test", function() require("test").test() end, { desc = "执行Test插件的测试功能" }) return M
2. 补全插件目录结构
根据你提供的目录树,test.nvim/lua目录为空,需要在其中创建test.lua文件(即上述代码的存放位置),确保require("test")能正确加载模块。最终test.nvim的结构应为:
test.nvim ├── lua │ └── test.lua # 你的模块代码 └── plugin
3. 保持Lazy配置不变
你的现有Lazy配置无需修改,cmd = "Test"会正确触发懒加载,插件加载后注册的:Test命令会立即生效。
效果验证
执行:Test命令后,lazy.nvim会自动加载插件,同时触发注册的命令,弹出输入框,不会再出现找不到命令的提示。
内容的提问来源于stack exchange,提问作者Mimosinnet
相关产品推荐
相关产品推荐

