这是一个经常遇到的情况,比如我们经常需要连接到服务器上用vim修改配置文件,大多数配置文件的修改都是需要sudo权限的,但是读取的时候不需要。因此很多时候我们用当前系统账号修改了半天文件,等到最后:wq的时候才发现,原来没有写权限。以前都是退出后再用sudo vim重新编辑一遍,但是这个方法太麻烦了,有没有其它方法能在切换用户的时候保留当前已经编辑的内容呢?
sudo
:wq
sudo vim
学习是最好的投资!
:w !sudo tee %
参考:http://vim.wikia.com/wiki/Su-write
在vim中执行下面这个,可以在不切换用户的情况下保存文件内容。。
:%!sudo bash -c "cat > '%'"
p.s. 如果文件名中没有空格之类的特殊符号,后一个 % 两边的引号可以省略。
保存到别的文件,然后退出来,把文件覆盖了
参考:http://vim.wikia.com/wiki/Su-write
在vim中执行下面这个,可以在不切换用户的情况下保存文件内容。。
p.s. 如果文件名中没有空格之类的特殊符号,后一个 % 两边的引号可以省略。
保存到别的文件,然后退出来,把文件覆盖了