你们中许多人可能已经看到了允许您在需要root权限的文件上写命令的命令,即使您忘记使用sudo打开vim时也是如此:
:w !sudo tee %
问题是我不明白这里到底发生了什么。
我已经想通了: w为此
*:w_c* *:write_c*
:[range]w[rite] [++opt] !{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 |:!|.
因此它将所有行作为标准输入传递。
该!sudo tee零件tee具有管理员权限。
为了使所有人都理解,%应该输出文件名(作为的参数tee),但是我找不到关于此行为的帮助参考。
tl; dr有人可以帮我剖析此命令吗?
VIM 须藤
交互式爱情
烙印99