首页 > tips > 学习vim命令:“:w !sudo tee %”

学习vim命令:“:w !sudo tee %”

2010年8月16日 发表评论 阅读评论

原文来自于commandlinefu

原文是这样解释这个命令的:

在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保存为当前文件名
这个功能其实可能debian和ubuntu的用户更需要一些
因为我们都是直接root
所以一般不会有权限不足的问题
哈哈
分类: tips 标签: