vim - .vimrc 配置文件在使用 'sudo' 编辑时不加载

标签 vim vi

我对 .vimrc 文件有疑问,问题是它有时会被加载,有时不会。

  1 set number
  2 syntax on
  3 set autoindent
  4 map <F2> :!g++ % -Wall -time -O<CR>
  5 echo "it works!"

我添加了 echo 以检查它是否已加载,以及当我输入例如vim .vimrc ,它被加载并在终端中向我显示“它有效”,但是当我输入例如sudo vim test.cpp它没有被加载,消息没有显示。我正在使用debian。

最佳答案

当您使用 sudo , Vim 在不同的用户下启动 (root)。由于这个用户有一个不同的主目录,另一个 ~/.vimrc已加载(或者没有,如果该用户没有加载)。您可以通过多种方式解决问题:

  • 您可以直接指定您的.vimrc的位置: sudo vim -u $HOME/.vimrc (不过,这对插件没有帮助)。
  • 您可以使用 sudo -e <file>sudoedit .
  • 您可以符号链接(symbolic link)您的 .vimrc (和 .vim 插件目录)对于根:sudo ln -s $HOME/.vimrc .vimrc; sudo ln -s $HOME/.vim .vim
  • 您可以将root的整个主目录更改为与您的相同(不推荐,因为安全性和访问权限!)
  • 关于vim - .vimrc 配置文件在使用 'sudo' 编辑时不加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26077949/

    相关文章:

    Vim - 如何使您自己的映射可重复?第2部分

    vim - 让 Vim 将所有空格显示为一个字符

    python - 如何在 python 脚本的终端之间切换脚本的执行 Action ?

    vim - 重新打开(Mac)Vim,并在关闭时打开文件

    Vim - 在不改变列宽的情况下增加数字

    linux - 在 linux vi 模式下每行后都需要特殊字符

    vi - 如何将vi中的代码复制到剪贴板

    python - 如何在 Vim 中使用 Python?

    c - 在 Vim 中重构 C/C++(例如像 Eclipse 中的方法提取)

    regex - 如何在Vim中使用正则表达式组查找替换