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