Vim 中的 :wq 不保存

Vim 中的 :wq 不保存

我试图用:wqVim 保存一个我编辑过的文本文件,但是当我输入时:wq出现错误

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

当我添加!like:wq:wq!,我得到了这个:

"/etc/dhcp/dhcpd.conf"

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

我想要编辑的文件dhcpd在路径上/etc/dhcpd

我怎样才能做到这一点?

答案1

您需要使用超级用户权限打开该文件,如下所示:

sudo vi /etc/dhcp/dhcpd.conf

按下编辑文件i,然后按下保存并退出Esc,然后按下:wq:x或仅:w保存。


谢谢里金建议sudoedit:您可以使用sudoedit /path/to/file/filename来编辑 root 拥有的文件,而不是使用sudo <editor> /pat/to/file/filename。这对于企业级机器或生产机器很有用,因为 sudoedit 会记录到/var/log/auth.log

如果要更改 sudoedit 的默认编辑器,请执行以下操作:

sudo update-alternatives --config editor

然后按Return并选择您想要的编辑器并再次按Return


也可以看看:redit 上关于 sudoedit 为什么可能有优势的讨论

答案2

/etc包含所有配置文件,因此要编辑下面的文件,/etc您需要超级用户权限,但有时我们会忘记使用sudo。但那时我们也可以使用

:w !sudo tee %

然后输入你的管理员密码

:q!

成功退出

相关内容