有时当我编辑需要 root 权限的文件时(例如 /etc 下的文件),但我忘记将 vim 作为 sudo 运行。
编辑完成后,输入:wq
保存离开,我发现我不能,即使使用!wq
,因为文件是只读的。
如果我离开并重新编辑文件,我的所有工作都将丢失,但如果没有,我将无法保存我的编辑。那么,如何在不离开 vim 的情况下获得 root 权限来写呢?
要强制保存,请使用以下命令
:w !sudo tee %
它会提示您输入密码。
提到的技巧tee
很好;如果你经常需要这个,我会推荐SudoEdit 插件,它提供了一个:SudoWrite
命令(甚至是一个sudo:
协议处理程序)。