Help us understand the problem. What is going on with this article?

sudo.vim

More than 5 years have passed since last update.

unite.vim を入れた状態で sudo vim した時の問題

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 で開き直す場合
kojionilk
Android, Java, PHP あたりのプログラマ。Python の思想が好み。開発環境として OS X や Ubuntu を使う。
http://www.kojion.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away