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 提权, 解决授权问题。
版权归原作者 hjjdebug 所有, 如有侵权,请联系我们删除。