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

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

出现背景:

在编写配置文件时,常常忘记切换到root用户,导致文件编辑完毕,敲入:wq 退出保存时,

出现 E212:无法打开并写入文件的错误提示。这是由于在该目录下当前用户没有写权限导致。

方法有3, 选一个你最适合的。

第一种:放弃现在的编辑,重新用sudo vim 的方法. 这并不是我的喜爱。

第二种: 把文件先保存为一个临时文件,再退出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 提权, 解决授权问题。