The command to save a file in Vim is :w . To save the file without exiting the editor, switch back to normal mode by pressing Esc , type :w and hit Enter . There is also an update command :up , which writes the buffer to the file only if there are unsaved changes.
Vim has a builtin help system. Running :h E212
inside Vim prints the following:
For some reason the file you are writing to cannot be created or overwritten. The reason could be that you do not have permission to write in the directory or the file name is not valid.
You might want to edit the file as a superuser with sudo vim FILE
. Or if you don't want to leave your existing vim session (and now have proper sudo rights), you can run:
:w !sudo tee % > /dev/null
Which will save the file.
Instead of losing all your changes and re-opening with sudo. See this demo of how to save those changes:
One time Setup demo to create a root owned read only file for a lower user:
sudo touch temp.txt
sudo chown root:root temp.txt
sudo chmod 775 temp.txt
whoami
el
First open the file as normal user:
vi temp.txt
Then make some changes to the file, it warns you its read only. Use this command.
:w !chmod 777 %
Then write the file:
:wq!
The permissions are expanded, and the file is saved. You need the exclamation point because you are editing a root file as a lesser user.
Explanation of what that command does:
The :w means write the file. The bang means start interpreting as shell. chmod means change permissions, 777 means full permissions everywhere. The percent means the current file name.
It applies the change. And it ask if you want to re-load. Press "O" for "Ok". Don't reload or you'll lose your changes.
For me there was was quite a simple solution. I was trying to edit/create a file in a folder that didn't exist. As I was already in the folder I was trying to edit/create a file in.
i.e. pwd folder/file
and was typing
sudo vim folder/file
and rather obviously it was looking for the folder in the folder and failing to save.
Or perhaps you are on a readonly mounted fs
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With