
我知道我可以在以 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'
附:或者,兩個簡單的符號連結也可能適合您。
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
自訂路徑在哪裡。