:w !sudo tee %
我们经常会在非root用户下打开一些文件,进行修改后:w保存时提示没权限,面对这种情况,我们往往采取以下两种措施:
- 如果修改不多,那么:q!然后sudo打开重新编辑
- 如果修改较多,只好先复制到其他地方,sudo打开再粘贴进去
这两种方法虽然都能解决问题,但都不是好的方法。
那么,有没有更好的方法呢?答案就是:w ! sudo tee %
这条命令看似复杂,我们对其进行拆分理解,则很容易记住:
:w ! sudo tee % 命令拆解:
命令 | 功能 |
---|---|
:w ! | 执行外部命令 |
sudo | |
tee | 将标准输入内容写到目标文件 |
% | vim的一个寄存器,存放vim当前打开的文件名 |