当我变成root用户时,目录不可用

时间:2018-06-05 14:17:26

标签: git vim terminal

我克隆了

中的scrooloose/nerdtree插件

./vim/bundle目录 使用命令

sudo git clone git@github.com:scrooloose/nerdtree.git ~/.vim/bundle/nerdtree

并设置我的vimrc文件,一切都很好但是当我使用命令sudo su变成root用户时 nerdtree目录现在不可用。

我该怎么办才能使用?问题不仅在于nerdtree,还在于我克隆的每个插件。

修改

我找到了一个解决方案但不是我需要的解决方案。 我使用

克隆了两次

- sudo git clone git@github.com:scrooloose/nerdtree.git ~/.vim/bundle/nerdtree

和另一次使用

- sudo su

- git clone git@github.com:scrooloose/nerdtree.git ~/.vim/bundle/nerdtree

这解决了我的问题。

3 个答案:

答案 0 :(得分:0)

请注意您将vim包克隆到:~/.vim/bundle/的位置。看起来您正试图通过编辑/etc/vim/vimrc来强制vim对所有用户都一样。在这种情况下,您的捆绑包也需要位于该目录中。即,尝试克隆到/etc/vim/bundle/nerdtree而不是~/.vim/bundle/nerdtree。您所遵循的说明假设您只是为您的用户而不是系统上的每个用户更改vim。

答案 1 :(得分:0)

任何命令sudo command ~/path都适用于您的用户$HOME,而不是root用户。例如:

$ echo ~
/home/phd
$ sudo echo ~
[sudo] password for phd: 
/home/phd

这是因为~在运行sudo之前由用户的shell解释。

要克服使用绝对路径:sudo command /root/path

sudo git clone git@github.com:scrooloose/nerdtree.git /root/.vim/bundle/nerdtree

答案 2 :(得分:0)

root的.vim目录和任何用户都不同......

root位于

/root/.vim

对于喜欢" ramesh"的用户位于

/home/ramesh/.vim

所以克隆到一个并不反映到其他人。