進入正題.
vim 一直是 console 愛用者的編輯器之一 (還有 emacs), 但當他碰上 sudo 的時候, 由於 sudo 會將 euid, egid, 和大量環境變數改為 superuser 或是指定的其他使用者,而讓自己辛辛苦苦做出來的 .vimrc 失效。在 Google 上兜了兩圈後發現幾種解法,自己試用了一下,留個紀錄也給大家做參考。
方法一:
在 Brablc.com blog 中找到的,利用 bash 的 Alias 加上 ${SUDO_USER} 的 .vimrc 路徑來使用。
if [ -n "${SUDO_USER}" -a -d "/home/${SUDO_USER}/.vim" ]; then
alias vim="/usr/bin/vim --cmd \"set runtimepath+=/home/${SUDO_USER}/.vim\" -u /home/${SUDO_USER}/.vimrc"
fi
但這個做法缺點是沒有處理到全部的環境變數,已知會和 neocomplcache.vim 插件產生衝突顯示下列訊息:
"sudo vim" and $HOME is not same to /root are detected.Please use sudo.vim plugin instead of sudo comm
and or set always_set_home in sudoers.