我知道我可以在以 root:source /path/to/some/.vimrc用户.vimrc身份运行时加载我的用户,但是我怎样才能使用整个.vim/目录呢?是否有/home/user/.vim/可以设置为别名的启动选项?
如果我知道要查找的内容,我会在精美的手册中的何处找到这些信息。一个简单的:help .vim或:help .vimrc没有找到有关使用整个目录的信息.vim/(-U仅用于.vim文件)。
谢谢。
小智 14
似乎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
Run Code Online (Sandbox Code Playgroud)
VIMRUNTIME通常指向 vim 的基本支持文件的安装位置,例如/usr/share/vim/vim73,因此如果它被重定向到 /home/user/.vim,vim 将丢失许多基本功能,除非您的 vim 刚刚安装到 /home/usr/.vim。
根据:help -uand :help vimrc, -u vimrcoption 可以指定.vimrc文件,但会跳过大多数其他初始化文件,如系统 vimrc,例如。/etc/vimrc. 如果指定的 vimrc 文件几乎可以完成所有工作,那么缺点(如果称为 this)是微不足道的。
根据: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'
Run Code Online (Sandbox Code Playgroud)
附:或者,两个简单的符号链接也可能适合您。
mv /root/.vimrc{,.bak}
mv /root/.vim{,.bak}
ln -s /home/user/.vimrc /root/
ln -s /home/user/.vim /root/
Run Code Online (Sandbox Code Playgroud)
使用环境变量VIMINIT指向 right.vimrc并VIMRUNTIME指向 right.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'
Run Code Online (Sandbox Code Playgroud)
一如既往:如果输入太长,请创建一个 shell 函数或 shell 别名。
要详细了解如何vim启动以及幕后发生的事情,请阅读:help initialization。
| 归档时间: |
|
| 查看次数: |
6067 次 |
| 最近记录: |