Add sudo after opening a file in vim
I often type 'vim /path/to/file' without thinking if I need sudo or not. But you can add sudo powar afterwards with:
:w !sudo tee %
You'll have to enter your password of course and then press enter a couple of times to confirm the process. That will write your changes to the file with sudo. If you try to quit out vim will warn you don't have permissions. You can just ignore that with :q!
Remember, with great power comes great responsibility :)
Written by Steffan Harries
Related protips
5 Responses
Yeah, I visit http://www.commandlinefu.com/commands/browse/sort-by-votes every time I need this command. Somehow it's too difficult to remember.
@ilzoff You're right, vim commands are often difficult to remember at the best of times. Practice makes perfect though and I'm well-practiced in forgetting to type 'sudo' :)
Train yourself with this in your local vimrc:
command! Sudo echo "w !sudo tee % >/dev/null"
Then :Sudo will remind you what the command is every time and drill it in to your brain; of course, if you're only using this on a single machine or you have your vimrc in a source control repo that's easy to install:
command! Sudo w !sudo tee % >/dev/null
tpope's vim-eunuch plugin has a :SudoWrite command:
https://github.com/tpope/vim-eunuch/blob/master/doc/eunuch.txt
Add this to the .vimrc:
cmap w!! w !sudo tee > /dev/null %
Now typing w!! will save it with sudo. No need to remember the whole thing.