13

Possible Duplicate:
vim re-edit as root

I could have sworn I saw this question asked. But after looking though every search result for "vi" I'm stumped/lazy.

I've opened a file, made an edit and now I realize it's read only and I've opened it as non-root me.

1

4 Answers 4

34

I think you want something like this:

:w !sudo tee "%"

I first saw it on commandlinefu. The quotes are only necessary if the file path contains spaces.

0
2

i do this occasionally, and if the changes i've made are trivial, i just exit and edit it again as root.

otherwise i save the file to /tmp, and mv/cp it as root to where it really belongs later. and use chown/chgrp/chmod to fix the ownership/perms.

1
  • 1
    Rather than cp/mv and chown etc., you could 'sudo cat tmpfile > realfile && rm -f tmpfile', to keep the ownership and perms of the original but give it new contents.
    – mlp
    Jul 12, 2009 at 7:58
1

consider adding this line to your vimrc:

" Remaps :SW to sudo save the current file and tell vim to reload it
command SW execute 'w !sudo tee % >/dev/null' | e! %
0

Try this http://blog.sriunplugged.com/2009/12/how-to-save-file-in-vi-not-opened-with-sudo/ . This is what you want i guess

Not the answer you're looking for? Browse other questions tagged .