首页  >  问答  >  正文

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

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

PHPzPHPz2712 天前756

全部回复(3)我来回复

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 16:45:06

    :w !sudo tee %

    参考:http://vim.wikia.com/wiki/Su-write

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 16:45:06

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

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

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

    回复
    0
  • 黄舟

    黄舟2017-05-16 16:45:06

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

    回复
    0
  • 取消回复