unite.vim を使っていて Vim を普通に sudo して使おうとすると以下の様な警告が出る:
$ sudo vim # エラーになる
unite.vim disabled:
"sudo vim" is detected and $HOME is set to your user's home.
You may want to use the sudo.vim plugin,
the "-H" option with "sudo" or set always_set_home in /etc/sudoers instead.
$ sudo -H vim # エラーにならないが見に行く .vimrc が /root/.vimrc になってしまう
unite.vim は無効化された: "sudo vim" が検出され、$HOME が貴方のホームディレクトリに設定されている。 「sudo.vim」プラグインを使うか、「-H」オプションを sudo と共に使うか、/etc/sudoers に always_set_home を設定するのが良い。
このように警告を出している理由も tweet されていたので参考に貼っておく。
ただ、これに従い sudo -H とすると .vimrc が root のものになってしまうので良くない。しかも -H 付けるのとか忘れそうだ。 ということで sudo.vim というプラグインを導入してみる。これを使うと自分の .vimrc を使いつつ root 権限で読み書きできる。
NeoBundle を使用して導入
NeoBundle 導入済とする。例によって .vimrc に以下を書けば O.K. NeoBundle すばらしい。
NeoBundle 'sudo.vim'
使い方
$ vi sudo:xxx.txt # sudo vi xxx.txt の代わりにこう書く
:w sudo:% " vi xxx.txt で開いた後に xxx.txt が root 権限必要な場合に root で上書き保存:w sudo:yyy.txt " root で別名保存:e sudo:% " 開いた後に root で開き直す場合