原文是这样解释这个命令的:
在vim中保存正在编辑的文件而不需要必要的权限。
(Save a file you edited in vim without the needed permissions)
下面我们就分析下这条命令是怎样做到保存文件而不需要必要的权限的
:w !sudo tee %
man vim就会发现
百分号(“%”)代表当前文件名
根据man vim的提示:
:[range]w[rite] !{cmd}
Execute {cmd} with [range] lines as standard input
(note the space in front of the ‘!’).
{cmd} is
executed like with “:!{cmd}”, any ‘!’ is replaced with
the previous command
“:w !sudo tee %”这条命令的含义是把当前编辑的文件的内容当做标准输入输入到命令sudo tee 文件名里去
也就是sudo保存为当前文件名