用vim修改系統(tǒng)文件的時候經(jīng)常會忘記sudo英支,以至于后來不得不退出然后重寫一次,非常困擾啊哮伟。Google到一個在vim里面以root權(quán)限保存的方法干花,非常有趣,記下來免得忘記楞黄。
:w !sudo tee > /dev/null %
Vim的w
表示將當(dāng)前文件內(nèi)容輸出到后面的對象中池凄;
tee
能夠從stdin讀然后分別寫出到stdout和目標(biāo)文件。
%
表示當(dāng)前文件名鬼廓。例如寫%s
的時候表示在當(dāng)前文件里都進行匹配修赞。
所以整句命令的意思就是在root模式下用tee讀取當(dāng)前文件緩存的內(nèi)容導(dǎo)入到當(dāng)前的文件名里然后把stdout pipe到垃圾桶里。一個更方便的方法是在.vimrc
里設(shè)置一下:
cmap w!! w !sudo tee > /dev/null %