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

如何修复Nvim报错'E5113: Error while calling lua chunk'?

问题解决步骤

1. 修复Telescope内置函数拼写错误

启动错误的核心是你在telescope.lua中使用了不存在的builtin.old_files,正确的函数名是builtin.oldfiles(无下划线)。修改后的telescope.lua内容如下:

local builtin = require('telescope.builtin')

vim.keymap.set('n', '<c-p>', builtin.find_files, {})
vim.keymap.set('n', '<Space><Space>', builtin.oldfiles, {})  -- 修正此处的函数名
vim.keymap.set('n', '<Space>fg', builtin.live_grep, {})
vim.keymap.set('n', '<Space>fh', builtin.help_tags, {})

2. 适配Lazy.nvim懒加载机制(可选但推荐)

当前直接在plugin_config中加载Telescope配置,可能出现插件未加载完成就执行配置的问题。更规范的做法是将Telescope配置放在插件的config字段中,让Lazy.nvim在插件加载后自动执行:

修改~/.config/nvim/lua/core/plugins.lua中的Telescope插件定义:

{
  'nvim-telescope/telescope.nvim', tag = '0.1.8',
  dependencies = { {'nvim-lua/plenary.nvim'} },
  config = function()
    local builtin = require('telescope.builtin')
    vim.keymap.set('n', '<c-p>', builtin.find_files, {})
    vim.keymap.set('n', '<Space><Space>', builtin.oldfiles, {})
    vim.keymap.set('n', '<Space>fg', builtin.live_grep, {})
    vim.keymap.set('n', '<Space>fh', builtin.help_tags, {})
  end
},

修改后可以删除~/.config/nvim/lua/core/plugin_config/telescope.lua,并从plugin_config/init.lua中移除require("core.plugin_config.telescope")这一行。

3. 关于Treesitter的提示说明

启动时出现的[nvim-treesitter] [0/7] Downloading tree-sitter-markdown_inline...不是错误,是Treesitter自动下载你指定语法解析器的正常提示,等待下载完成后即可正常使用,无需额外处理。

完成以上修改后,重新启动Neovim,错误即可消失。

内容的提问来源于stack exchange,提问作者eiken

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 11:33:15