vim里面以root权限保存

December 8, 2013

用vim修改系统文件的时候经常会忘记sudo,以至于后来不得不退出然后重写一次,非常困扰啊。Google到一个在vim里面以root权限保存的方法,非常有趣,记下来免得忘记。

:w !sudo tee > /dev/null % Vim的w表示将当前文件内容输出到后面的对象中;

tee能够从stdin读然后分别写出到stdout和目标文件。

%表示当前文件名。例如写%s的时候表示在当前文件里都进行匹配。

所以整句命令的意思就是在root模式下用tee读取当前文件缓存的内容导入到当前的文件名里然后把stdout pipe到垃圾桶里。一个更方便的方法是在.vimrc里设置一下:

cmap w!! w !sudo tee > /dev/null %
如果觉得有用,请点star