问题
使用vim修改文件的时候,经常会遇到文件修改好了,缺发现文件需要root权限才能修改。之前遇到这种问题时先保存成一个临时文件,再用sudo mv覆盖老的文件。
解决方法
用下面命令替换上面两步:
:w !sudo tee %
解释
- :w 把当前缓存的内容传给shell命令
- % 当前文件名
- tee 把标准输入的内容同时输出到标准输出和文件
高级用法
在.vimrc中加入
cmap w!! w !sudo tee > /dev/null %
以后就可以直接用 :w!! 来替代上面的命令了。>/dev/null是忽略标准输出。
Comments !