Permissions
以我的使用者身份以 root 權限啟動 Vim
我有我的自定義 Vim 文件
~/.vim
和~/.vimrc
. 但是,有時我必須編輯一些文件/etc
等。如果我這樣啟動 Vim:
$ sudo vim /etc/rc.conf
我失去了我的配置,因為 Vim 使用它的預設配置。那麼:如何以 root 權限執行 Vim 來編輯文件而不會失去我的使用者設置(位於我的主目錄中)?
我努力了:
$ su username -c "vim /usr/lib/python2.7/setuptools/dist.py"
但是 Bash 給了我
Permission denied
。但是,上述命令適用於例如:/etc/acpi/handler.sh
. 這是為什麼?注意:使用者名不是root。
而不是
sudo vim /etc/rc.conf
使用sudoedit /etc/rc.conf
orsudo -e /etc/rc.conf
。您可能需要將 EDITOR 環境變數設置為 vim。這將以普通使用者身份執行 vim 本身,使用您的正常配置,在您退出時複製回來的文件副本上。
你可以
-u
用來告訴 vim 載入哪個 rc 文件。例如
sudo vim -u ~user/.vimrc /etc/rc.conf
如果每次需要輸入時都輸入它很乏味,請創建一個別名:
alias sudovim='sudo vim -u ~user/.vimrc'
請注意,
vim -u
如果外掛或呼叫的 rc 文件載入相對於 $ HOME - $ HOME 現在是 root 的主目錄,而不是使用者的。這可以通過根目錄中的符號連結或硬編碼絕對路徑來解決。