I am trying to use :wq to save a text file I have edited in Vim, but when I enter :wq I get the error

E45: 'readonly' option is set (add ! to override)`  

When I add ! to :wq like :wq!, I get this:


"/etc/dhcp/dhcpd.conf" E212: Can't open file for writing

The file I want to edit is dhcpd on the /etc/dhcpd path.

How can I do this?

  • Prefer :x or ZZ to exit and save. It will write only on change. – Hauleth May 25 '14 at 11:08

You need to open the file using superuser permissions as follows:

sudo vi /etc/dhcp/dhcpd.conf

edit the file by pressing i and then save and exit by pressing Esc and then either :wq or :x or just :w to save.

Thanks to Riking for suggesting sudoedit: you can use sudoedit /path/to/file/filename for editing files owned by root rather than using sudo <editor> /pat/to/file/filename. This is useful for enterprise-level machines or production machines since sudoedit logs to /var/log/auth.log.

If you want to change the default editor for sudoedit, do the following:

sudo update-alternatives --config editor

and then press Return and choose the editor of your choice and again press Return.

See also: A discussion on redit on why sudoedit may be advantegeous

|improve this answer|||||
  • 3
    I prefer sudoedit for these situations - it creates a temporary copy, runs the editor, and copies the result. If you previously chose nano for that command, run EDITOR=vi sudoedit /etc/file. – Riking May 25 '14 at 8:18
  • 1
    @Riking: Thanks for sudoedit, didn't even know it existed. However, came across this while googling sudoedit. I'll suggest it, but leave it to the user if they find it necessary to use. – jobin May 25 '14 at 8:43
  • sudoedit also picks up on the EDITOR variable, it's easier to set that than configure alternatives – muru Jun 21 '16 at 7:24

/etc consists of all configurations files so to edit the files under /etc you need the superuser permissions but sometime we forget to use sudo. but at that time we can also use

:w !sudo tee %

then enter your administrator password


to exit successfully

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.