我是 neovim(或 vim)设置的新手,我试图要求 \'.lua\' 文件但失败了。
\n这是我的目录结构。
\n~/.config/nvim\n \xe2\x94\x9c init.vim\n \xe2\x94\x9c /lua\n \xe2\x94\x9c basic.lua\nRun Code Online (Sandbox Code Playgroud)\n这些是我的代码。
\n〜/.config/nvim/init.vim
\nlua require(\'basic\')\nRun Code Online (Sandbox Code Playgroud)\n〜/.config/nvim/lua/basic.lua
\n~/.config/nvim\n \xe2\x94\x9c init.vim\n \xe2\x94\x9c /lua\n \xe2\x94\x9c basic.lua\nRun Code Online (Sandbox Code Playgroud)\n和错误日志(我的系统是M2 MacOS)
\nE5108: Error executing lua [string ":lua"]:1: module \'basic\' not found:\n no field package.preload[\'basic\']\n no file \'./basic.lua\'\n no file \'/opt/homebrew/share/luajit-2.1.0-beta3/basic.lua\'\n no file \'/usr/local/share/lua/5.1/basic.lua\'\n no file \'/usr/local/share/lua/5.1/basic/init.lua\'\n no file \'/opt/homebrew/share/lua/5.1/basic.lua\'\n no file \'/opt/homebrew/share/lua/5.1/basic/init.lua\'\n no file \'./basic.so\'\n no file \'/usr/local/lib/lua/5.1/basic.so\'\n no file \'/opt/homebrew/lib/lua/5.1/basic.so\'\n no file \'/usr/local/lib/lua/5.1/loadall.so\'\nstack traceback:\n [C]: in function \'require\'\n [string ":lua"]:1: in main chunk\nRun Code Online (Sandbox Code Playgroud)\n我发现我可以要求 likerequire(\'lua.basic\')运行正常。\n所以我假设 \'~/.config/nvim\' 包含在runtimepath.
但是我如何检查我的luaruntimepath并修改它呢?
lch*_*lus 10
您可以通过 Neovim API 使用nvim_list_runtime_paths()以下函数获取当前的运行时路径:
:lua print(vim.inspect(vim.api.nvim_list_runtime_paths()))
小智 5
我遇到了同样的问题,我认为以下内容解决了这个问题:我删除了init.vim并现在使用init.lua具有以下内容的 :
vim.api.nvim_command('set runtimepath^=~/.vim')
vim.api.nvim_command('let &packpath = &runtimepath')
vim.api.nvim_command('source ~/.vim/vimrc')
Run Code Online (Sandbox Code Playgroud)
突然,require按预期工作了!