Windows下NeoVim无法自动加载init.lua配置的问题求助
解决Windows下Neovim配置不自动加载的问题
核心问题
- 你用了类Unix风格的路径
~/.config/nvim,Windows原生Neovim不会自动识别这个路径作为默认配置目录,所以启动时不会加载这里的init.lua。 - 之前手动加的
vim.cmd("source ~/.config/nvim/init.lua")不仅路径解析有问题,还因为尝试加载自身触发了无限递归,直接导致报错。
解决方案
方案1:移到默认路径(最省心)
- 打开Neovim,输入
:echo stdpath('config'),会弹出你的Neovim默认配置目录(一般是C:\Users\<你的用户名>\AppData\Local\nvim)。 - 把你的
init.lua和相关配置文件(比如lua文件夹)全部移到这个目录里。 - 重启Neovim,配置会自动加载,再也不用手动敲
:source。
方案2:跨平台加载自定义路径(适合和WSL共享配置的场景)
如果非要把配置留在~/.config/nvim,就在默认配置目录的init.lua里加这段代码(别在原配置里写,会递归报错):
-- 把类Unix路径转成Windows能识别的路径 local custom_config = vim.fn.expand('~/.config/nvim/init.lua') -- 先检查文件存在,避免报错 if vim.loop.fs_stat(custom_config) then -- 加载自定义配置 dofile(custom_config) end
这样启动Neovim时会自动加载指定路径的配置,还不会出问题。
关键提醒
绝对不要在配置文件里写加载自身的代码,百分百会触发无限递归报错。优先用Vim内置的stdpath()或expand()处理路径,跨平台都能用。
内容的提问来源于stack exchange,提问作者adam5459
相关产品推荐
相关产品推荐

