2011-10-04 144 views
2

可能重复:
How does the vim “write with sudo” trick work?命令解释

很多时候,我发现自己在我结束了,对此我无权vi编辑器编辑文件的情况。因此,我们必须复制其他文件中的内容,并通过更改权限将其复制回原始文件。但是我通过搜索网络发现了一个解决方案,我们可以发出命令:w!sudo tee%并且不需要来回复制。任何人都可以解释这是如何工作的!

+0

@Darhazer对不起,我应该已经搜索过这个话题! – niting112

回答

6

让我们来看看...

:w !{cmd} 

执行{cmd},饲养当前缓冲区到它的标准输入。

这里,{cmd}sudo tee %。执行tee {filename}root,其中{filename}是您正在编辑的文件的名称。该命令将其标准输入(即vim缓冲区的内容)写入文件,如root

巧妙的把戏,顺便说一句。

3

你的文件写入命令的STDIN:

sudo tee % 

须藤升级您的权限和T STDIN写入到文件(%替换为当前的文件名由VIM执行命令前)