我知道以 root 身份运行时可以:source /path/to/some/.vimrc
加载我的用户.vimrc
,但我怎样才能使用整个目录?是否有一个可以设置为别名的.vim/
启动选项?/home/user/.vim/
如果我知道要查找什么,我可以在手册的哪里找到这些信息。简单:help .vim
或:help .vimrc
没有找到有关使用整个.vim/
目录的信息(-U
仅适用于.vim
文件)。
谢谢。
答案1
使用环境变量VIMINIT
指向.vimrc
右边VIMRUNTIME
指向正确的.vim
目录。您可以通过以下方式进行操作env
:
$> env VIMINIT=/home/user/.vimrc VIMRUNTIME=/home/user/.vim/ vim
$> VIMINIT='let $MYVIMRC = expand('\''~user'\'') . '\''/.vimrc'\''|source $MYVIMRC' vim -c 'set runtimepath=~user/.vim,/var/lib/vim/addons,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,/var/lib/vim/addons/after,~user/.vim/after'
与往常一样:如果输入太长,请创建一个 shell 函数或一个 shell 别名。
要了解有关如何vim
启动以及幕后发生的事情的更多信息,请阅读:help initialization
。
答案2
看来和VIMINIT
并VIMRUNTIME
没有像akira说的那样被使用。
VIMINIT
用作 Ex 命令,因此VIMINIT=/home/user/.vimrc
会尝试搜索并给出如下错误:
search hit BOTTOM, continuing at TOP
Error detected while processing VIMINIT:
E486: Pattern not found: home
VIMRUNTIME
通常指向 vim 的基本支持文件所安装的位置,例如/usr/share/vim/vim73
,因此如果将其重定向到 /home/user/.vim,vim 将失去许多基本功能,除非你的 vim 只是安装到 /home/usr/.vim。
根据:help -u
和:help vimrc
,-u vimrc
选项可以指定.vimrc
文件,但会跳过大多数其他初始化文件,例如系统 vimrc,例如。/etc/vimrc
如果指定的 vimrc 文件完成了几乎所有的工作,那么这个缺点(如果调用这个的话)是微不足道的。
根据:help runtimepath
,路径runtimepath
将搜索支持文件,因此我们可以在启动时使用选项在获取 vimrc 文件之前添加/home/user/.vim
和附加/home/user/.vim/after
内容。runtimepath
--cmd
总而言之,我们可以设置这个别名来使用~/.vimrc 和 ~/vim:
alias vim='vim --cmd "set runtimepath^=/home/user/.vim" \
--cmd "set runtimepath+=/home/user/.vim/after" \
-u /home/user/.vimrc'
ps. 另外,两个简单的符号链接也可能适合您。
mv /root/.vimrc{,.bak}
mv /root/.vim{,.bak}
ln -s /home/user/.vimrc /root/
ln -s /home/user/.vim /root/
答案3
这可能是迄今为止最好的解决方案。
export MYVIMRC="/xxx/.vimrc"
export VIMINIT=":set runtimepath+=/xxx/.vim|:source $MYVIMRC"
xxx
自定义路径在哪里。