这是vim编辑器报的错误,相信很多人都遇到过。在使用vi编辑一个需要sudo权限的文件后,保存的时候出现这样的错误。这个时候很多人做的事情可能就是不保存退出(敲命令:q!),然后再以sudo vi打开文件重新编辑一次。如果恰巧修改了很多文件的内容,这时候无法保存是件多么扫兴的事情!不过方法总是有的,请看下文:
解决方法有两个:
一. 如果有root权限,使用":wq!"指令退出即可
二. 使用":w !sudo tee %"指令也可,该命令主要作用是:即使没有权限也能稳妥地保存正在编辑的文件。
指令含义如下:
1.“w”的含义简单来说就是把 文件 的内容传入stdin缓冲区中。
2.而tee则是可以将数据重定向到文件上,简单来说就是把stdin缓冲区的内容重定向到文件上
3.“%”则表示当前正在编辑文件的路径