美文网首页
打开vim没有sudo又想保存时...

打开vim没有sudo又想保存时...

作者: prcraoyi | 来源:发表于2018-04-19 11:33 被阅读0次

使用这个命令:

:w !sudo tee %`

这题目读起来纠结,其实是很常见的,常常忘记了 sudo 就直接用 vim 编辑 /etc 内的文件,(不过也不一定,vim 发现保存的文件无法保存时候会提示)等编辑好了,保存时候才发现没权限。曲线方法是先保存个临时文件,退出后再 sudo cp 回去。不过实际上在 vim 里面可以直接完成这个过程的,命令就是如此。

查阅 vim 的文档(输入 :help :w),会提到命令 :w!{cmd},让 vim 执行一个外部命令 {cmd},然后把当前缓冲区的内容从 stdin 传入。

tee 是一个把 stdin 保存到文件的小工具。而 %,是 vim 当中一个只读寄存器的名字,总保存着当前编辑文件的文件路径。

所以执行这个命令,就相当于从 vim 外部修改了当前编辑的文件,[END]。

相关文章

网友评论

      本文标题:打开vim没有sudo又想保存时...

      本文链接:https://www.haomeiwen.com/subject/hixwkftx.html