vim中怎样在保留当前已经编辑内容的情况下切换到其它用户继续编辑

这是一个经常遇到的情况,比如我们经常需要连接到服务器上用修改配置文件,大多数配置文件的修改都是需要sudo权限的,但是读取的时候不需要。因此很多时候我们用当前系统账号修改了半天文件,等到最后:wq的时候才发现,原来没有写权限。以前都是退出后再用sudo vim重新编辑一遍,但是这个方法太麻烦了,有没有其它方法能在切换用户的时候保留当前已经编辑的内容呢?

阅读 15.4k
3 个回答

在vim中执行下面这个,可以在不切换用户的情况下保存文件内容。。

:%!sudo bash -c "cat > '%'"

p.s. 如果文件名中没有空格之类的特殊符号,后一个 % 两边的引号可以省略。

保存到别的文件,然后退出来,把文件覆盖了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏