vim sudo保存

二 03 十一月 2015 | tags: vim

问题

使用vim修改文件的时候,经常会遇到文件修改好了,缺发现文件需要root权限才能修改。之前遇到这种问题时先保存成一个临时文件,再用sudo mv覆盖老的文件。

解决方法

用下面命令替换上面两步:

:w !sudo tee %

解释

  1. :w 把当前缓存的内容传给shell命令
  2. % 当前文件名
  3. tee 把标准输入的内容同时输出到标准输出和文件

高级用法

在.vimrc中加入

cmap w!! w !sudo tee > /dev/null %

以后就可以直接用 :w!! 来替代上面的命令了。>/dev/null是忽略标准输出。

参考

How does the vim “write with sudo” trick work?

Comments !

个人链接