[Vim] Unixでroot権限のファイルを見るつもりで開いたのにがっつり編集しちゃった時

Software Design8月号のVimの細道にためになる記事がありました。
vimでroot権限のファイルとか開いて編集したのに気づいたらユーザー権限だった!ってことよくあります。

自分のVimにはSudoWriteを入れているので、そんな時には下記のようにすれば保存できます。

1
: SudoWrite %

SudoWriteコマンドが使えれば良いのですが、そんなものが無い場合他の場所に保存して後から置き換える必要があります。 (もしくは泣く泣く破棄してやり直すか...)

そんな時には、Vimのコマンドラインで下記のようにすれば保存できるそうです。

1
:w !sudo tee %

確かに試したら保存する事ができました。

権限を昇格してバッファの内容を現在のファイルに上書きするようです。
なので、実行後にファイルが変更されているので、読み直すかどうか聞かれます。

ちょっとした事ですが、頭の片隅に入れておくと助かるかもしれません。
(でも必要な時に思い出せないんだよな)

0 件のコメント :

コメントを投稿