在 sudo 模式下如何让 neovim 加载我的 init.vim 文件?

在 sudo 模式下如何让 neovim 加载我的 init.vim 文件?

我在使用 Python 进行 Raspberry Pi 编码时遇到 Neovim 问题。

我已经通过 sudo apt-get install Neovim 安装了它,并且它仅使用nvim命令行上的命令即可工作。由于某种原因,我可以使用 创建一个文件nvim filename.py,但它将以只读文件结束。

如果我以这样的sudo nvim方式运行 Neovim,我可以写入文件,但我的init.vim文件不会被加载。

我在这里创建了我的init.vim/home/pi/.config/nvim/init.vim

它是否必须放置在其他地方,或者我可以建立某种链接到它吗?

我也尝试过使用 授予filename.py写入权限 sudo chmod a+w filename.py,但这导致我在尝试通过 保存时出现错误代码“E509” :wq。不过它会节省:wq!

答案1

您应该使用sudoeditorsudo -e代替sudo nvim.您可以通过设置SUDO_EDITORVISUAL、 或EDITOR环境变量来选择编辑器。

当使用sudoedit或 时sudo -e,给定文件的副本在用户调用命令时被编辑,这意味着与编辑器关联的初始化文件(~/.config/nvim/init.vim在 Neovim 的情况下)将从该用户的帐户读取,而不是从 root 用户的帐户读取。

答案2

对于那些没有sudoedit命令的人。我们可以使用 sudo 创建一个别名:)

export SUDO_EDITOR="nvim"
alias "sudoedit"='function _sudoedit(){sudo -e "$1";};_sudoedit'

现在做类似sudoedit foowill run 的事情sudo -e foo,并使用nvim所有插件和配置作为编辑器。

答案3

要执行您想做的操作,您应该将 init.vim 或 .vimrc 文件复制到/root/.config/nvim.

您还应该删除插件部分,因为它在 root 中会导致问题。

答案4

我遇到了同样的问题,当我使用 sudo 时,我丢失了 neovim 配置,这对我有用:

sudo -Es nvim README.md

相关内容