繁体   English   中英

如何将我在 vim 中打开的文件保存为错误的用户?

[英]How can I save a file I opened in vim as the wrong user?

这一直发生在我身上。 我以普通用户身份登录并开始使用 vim 编辑文件。 编辑完成后,当我尝试保存文件时,我没有足够的权限来保存文件。 我必须关闭文件,以 root 身份登录并再次开始编辑。 以下是vim中给定的错误:

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

或者在简单的 vi 中:

File is read only

有没有不用离开编辑器就可以保存的方法?

试试下面的命令

:w !sudo tee %

解释

  • :w – 写
  • !sudo – 调用 shell sudo 命令
  • tee – write (:w) 命令的输出使用 tee 重定向
  • % – 当前文件名

更多信息

E45: 'readonly' 选项已设置(添加 ! 以覆盖)

按 Esc,然后输入 :qa! 然后按 Enter

只需简单地使用sudo键入您的命令,例如sudo vi filename.txt

然后,点击i ,编辑您想要更改的内容并点击 Esc。 然后:wq

解决了!

实际上“ vim filename ”在尝试保存文件时显示错误

'readonly' 选项已设置(添加 ! 以覆盖)

为了克服这个问题,请以这种方式编写命令

sudo vim 文件名


它将解决问题。 现在您拥有 sudo 特权,您可以轻松使用 :x 或 :wq

我的问题是我以其他用户身份登录,因此可以以只读模式打开文件。 切换到正确的用户是我的解决方案。 另一个选择可能是设置文件的权限,因此也可以从其他帐户进行修改。

:w \/tmp\/xyz :q!

\/tmp 应该始终对每个人都是可写的。然后 mv 或 cp 文件 \/tmp\/xyz 作为原始文件所在位置的正确用户

"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM