Ubuntu 26.04 Vim 修改完文件保存提示没有权限?一招搞定

在 Ubuntu 26.04 上用 Vim 编辑一些系统配置文件时,经常会遇到这种情况:

编辑一切正常,最后执行 :wq 保存退出时,突然报错:

E212: Can't open file for writing

或者直接提示:没有权限

这并不是 Vim 出了问题,而是典型的 Linux 文件权限问题


为什么会没有权限?

Ubuntu 出于系统安全考虑:

  • 普通用户只能修改自己目录下的文件
  • /etc/usr、系统配置文件等都属于 root 权限
  • 直接用 vim 文件名 是以普通用户身份运行,自然无法写入

如何定制化自己的VIM可以参考《ubuntu26.04 怎么设置让vim更加顺手

正确解决方法(推荐)

不要强行改文件权限,直接用 sudo 提权 运行 Vim 即可:

sudo vim 你要编辑的文件

例如修改 apt 源:

sudo vim /etc/apt/sources.list

编辑完成后,正常执行:

:wq

就能顺利保存退出。

已经编辑了一半,不想重新打开怎么办?

如果你已经用普通用户 Vim 改了很多内容,不想放弃修改,可以在 Vim 内执行:

:w !sudo tee %

解释:

  • :w 写入
  • !sudo 调用系统 sudo 命令
  • tee 将内容写入文件
  • % 代表当前文件

执行后会提示输入密码,输入完成即可保存。

之后可以用 :q! 强制退出,或直接 :q

不推荐的做法

  • 不要随意 chmod 777 文件名,会带来安全风险
  • 不要长期使用 root 账号操作,容易误删系统文件

总结

在 Ubuntu 26.04 上编辑系统文件,记住一句话:

不确定权限时,直接用 sudo vim,一步解决无权限保存问题。

以后再遇到 Vim 提示 Can't open file for writing,就不用再慌啦。

本文首发于 58Linux技术博客,专注Ubuntu桌面使用、Linux服务器运维与网站搭建实战。

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress