vim中 E212:无法打开并写入文件的解决办法

出现背景:
在编写配置文件时,常常忘记切换到root用户,导致文件编辑完毕,敲入:wq 退出保存时,
出现 E212:无法打开并写入文件的错误提示。这是由于在该目录下当前用户没有写权限导致。

方法有3, 选一个你最适合的。
第一种:放弃现在的编辑,重新用sudo vim <filename> 的方法. 这并不是我的喜爱。
第二种: 把文件先保存为一个临时文件,再退出vim把临时文件改为你编辑的文件。
        例如: :file /tmp/file.txt
        :wq
        然后用sudo mv 命令将文件移动。
第三种: 直接在vim中使用sudo命令提权, 并用tee命令书写文件
方法:
        :w !sudo tee %

其中:
(:)冒号表示我们处于vim的命令模式;
(:w) 执行vim 的写命令
(!)感叹号表示我们正在运行shell命令;
sudo和tee都是shell命令;sudo 用来提权, tee 用来读取控制台输入,并向文件写入
%表示当前编辑的文件名

合起来的意思是:vim 执行w命令, 将文件写到了管道中,tee 从管道中读取输入,并向文件中写。 当然了,用sudo 为 tee 提权, 解决授权问题。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐