关于linux:我可以在不离开vim的情况下获得root权限吗?

Can I gain root permission without leaving vim?

有时,当我编辑一个需要根权限的文件时(例如/etc下的文件),但我忘记了以sudo形式运行vim。

编辑完成后,输入:wq保存并离开,我发现即使使用!wq也无法保存,因为文件是只读的。

如果我离开并重新编辑文件,我的所有工作将丢失,但如果不是,我无法保存我的编辑。那么,我怎样才能在不离开vim的情况下获得写操作的根权限呢?


要强制保存,请使用以下命令

1
:w !sudo tee %

它会提示您输入密码。


上面提到的tee的技巧很好;如果您经常需要,我建议使用sudoedit插件,它提供:SudoWrite命令(甚至是sudo:协议处理程序)。