我可以用vim -u filename
用filename
的,而不是我的默认.vimrc
。即使以超级用户身份运行,在切换用户上下文(su
)以使用我的 方法时,我仍在使用此方法.vimrc
。
我怎样才能达到同样也为它默认是文件夹~/.vim
,这样我可以指出Vim的命令行到其他文件夹?
我想要实现的目标
好的,假设用户joe
(HOME=/home/joe
)和用户root
(HOME=/root
)。用户joe
有一个别名集vim
,看起来像这样(但最初是使用$HOME
变量设置的,以使其具有动态性):
alias vim='vim -p -N -n -i NONE -u "/home/joe/.vimrc"'
然后,用户joe
按照进行操作sudo su -
(但添加了魔法),从而导致加载了.bashrc
和其他物品。现在,用户具有与上述设置完全相同的别名。/home/joe
root
root
vim
问题在于,它.vimrc
在各种系统和各种方案中使用。通常会称呼Joe的帐户joe
,但有时会类似local.joe
或其他名称,从而导致的值不同$HOME
。因此,很难对~/.vim
文件夹的绝对路径进行编码似乎不是一个好主意。但是,在上述情况下,用户root
没有文件夹/root/.vim
,但是默认情况下,该文件夹应通过已加载的.vimrc
(/home/joe/.vimrc
)存在。
我想要实现的-最好是在命令行上-是让Vim /home/joe/.vim
在启动时从下面使用插件等root
(假设alias
如图所示设置-其他情况可以忽略)。如果通过VimScript有一些动态方法,请提供指针。$HOME
我认为,但是使用诸如这样的变量会导致捕获22。
ln
。像'mv〜/ .vim〜/ .vim-whatever && ln -s〜/ .vim-whatever〜/ .vim`,然后对.vimrc
。用bash别名将所有内容包装起来,以便您可以轻松地切换一种方式或其他方式