安装 nvim-tree.lua,init.vim 还是 init.lua?

3

我对neovim完全是新手。我已经通过snap在Ubuntu上安装了neovim,并想要现在安装nvim-tree

文档让我感到困惑。

这是我的文件.config/nvim/init.vim

call plug#begin(has('nvim') ? stdpath('data') . '/plugged' : '~/.vim/plugged')
Plug 'nvim-tree/nvim-tree.lua'
call plug#end()

现在在neovim中调用:PlugInstall似乎会安装一些东西。

但是在文档的“设置”部分中,建议将以下内容添加到init.lua中:

vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
vim.opt.termguicolors = true
require("nvim-tree").setup()

由于 init.viminit.lua 是互斥的,我不知道该怎么办。

如果我删除 init.vim 并创建文件 init.lua,就会出现此错误:

E5113: Error while calling lua chunk: /home/laurent/.config/nvim/init.lua:4: module 'nvim-tree' not foun
d:
        no field package.preload['nvim-tree']
        no file './nvim-tree.lua'
        no file '/build/nvim/parts/nvim/build/.deps/usr/share/luajit-2.1.0-beta3/nvim-tree.lua'
        no file '/usr/local/share/lua/5.1/nvim-tree.lua'
        no file '/usr/local/share/lua/5.1/nvim-tree/init.lua'
        no file '/build/nvim/parts/nvim/build/.deps/usr/share/lua/5.1/nvim-tree.lua'
        no file '/build/nvim/parts/nvim/build/.deps/usr/share/lua/5.1/nvim-tree/init.lua'
        no file './nvim-tree.so'
        no file '/usr/local/lib/lua/5.1/nvim-tree.so'
        no file '/build/nvim/parts/nvim/build/.deps/usr/lib/lua/5.1/nvim-tree.so'
        no file '/usr/local/lib/lua/5.1/loadall.so'
stack traceback:
        [C]: in function 'require'
        /home/laurent/.config/nvim/init.lua:4: in main chunk

问题:

  • 我必须坚持使用 init.vim 还是 init.lua (或者这只是一个没有后果的选择?)
  • 如何安装/使用插件nvim-tree?
2个回答

3

回答自己。原来这个方法是可行的:

~/.config/nvim/init.vim 中:

call plug#begin(has('nvim') ? stdpath('data') . '/plugged' : '~/.vim/plugged')
Plug 'nvim-tree/nvim-tree.lua'
call plug#end()

lua << EOF
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
vim.opt.termguicolors = true
require("nvim-tree").setup()
EOF

然后在neovim中输入::PlugInstall

但我远非确定这是一个好的解决方案。


根据文档,它也可以使用 packer 安装。然后你只需要 init.lua 文件。 - pynexj
我有类似的问题。我的问题是:你放弃了init.vim吗?因为我在那里有更多的配置,如果可能的话,我宁愿不转到Lua。 - VictorHMartin
1
@VictorHMartin 我继续使用 init.vim 这样的方式。当我需要添加 Lua 代码时,我将其放在 lua << EOF ... EOF 中,它能正常工作。举个例子,最近我添加了大约30行的 Lua 代码来配置 indent-blankline,效果非常完美。 - Laurent Claessens
@LaurentClaessens 我在我的机器上遇到了同样的问题,我的机器是 ubuntu 22.04,当我将文件命名为 init.lua 时,出现了问题,但是当我改成 init.vim 时,一切正常。因为 nvim-tree 需要 .lua 文件,所以我完全放弃了它,转而使用了 preservim/nerdtree - Abdalla Abdalmunim

1
我遇到了同样的问题,并找到了以下更清晰的解决方案:
  • 将我的init.lua文件重命名为其他名称(我使用了myinit.lua
  • 在我的init.vim文件末尾添加source ~/.config/nvim/myinit.lua(或者你也可以使用luafile代替source
这样,我可以将所有的lua代码都保存在一个单独的文件中,而不必使用那个丑陋的lua << EOF ... EOF语法,但从功能上来说是等效的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接