web-dev-qa-db-ja.com

viにログインし、変更を加え、最初にSudoを忘れた-今は何

私はviエディターを使ってUbuntuLinuxコンピューターの構成ファイルに長い変更を加えました。残念ながら、最初にSudoを忘れたので、今はエディターにいますが、権限がないために変更を保存できません。その端末でユーザーをさかのぼってSudoすることはできますか、それとも取るべき最善の行動は何でしょうか?

11
simon

この場合、ファイルを:w /tmp/tmpfileで書き込みます。次に、外に出て、/tmp/tmpfileをSudo権限を持つ古いファイルに移動します。

11
Dom

から [〜#〜] so [〜#〜]

:w !Sudo tee %

私は実際にこの方法を使ってもっと頻繁にそれをしていることに気づきました:

:%!Sudo tee %

:%!が何をするのか知っているので、もう少し直感的だと思いますが、:w !については内臓的に理解していません。また、w!の間の非常に重要なスペースを見逃しがちです。

39
wfaulk