mdu*_*ule 14 lua config neovim
有没有一种干净的方法可以重新加载 neovim init.lua 配置及其所有模块(使用该require()功能)而无需重新启动 neovim?
我读过另一篇文章,该文章:luafile $MYVIMRC应该可以实现这一点,但不幸的是它不会重新加载这些缓存的文件。我希望设置一个像我以前的init.vim配置中那样的键盘映射。大致如下:
local opts = { noremap = true, silent = true }
vim.api.nvim_set_keymap("n", "<leader><CR>", ":luafile $MYVIMRC<CR>", opts)
Run Code Online (Sandbox Code Playgroud)
我使用的是 nvim v0.8.0。
小智 16
尝试运行此命令:
:luafile %
Run Code Online (Sandbox Code Playgroud)
如果在这个 reddit 线程上找到Creativenull的答案,似乎效果很好。我最终创建了一个名为的小模块:reload.lua
function _G.ReloadConfig()
for name,_ in pairs(package.loaded) do
if name:match('^user') and not name:match('nvim-tree') then
package.loaded[name] = nil
end
end
dofile(vim.env.MYVIMRC)
vim.notify("Nvim configuration reloaded!", vim.log.levels.INFO)
end
Run Code Online (Sandbox Code Playgroud)
导入到init.lua:
require 'user.reload'
Run Code Online (Sandbox Code Playgroud)
我为此添加了一个键盘映射:
vim.api.nvim_set_keymap("n", "<leader><CR>", "<cmd>lua ReloadConfig()<CR>", { noremap = true, silent = false })
Run Code Online (Sandbox Code Playgroud)
注意 1:在上面的示例中,您的 lua 文件需要包含在用户文件夹中:~/.config/nvim/lua/user/. 那也是reload.lua住的地方。
注2:我认为可以使用not name:match('exclude-me')正则表达式语法来排除有问题的模块。
| 归档时间: |
|
| 查看次数: |
18062 次 |
| 最近记录: |