如何在vi中获得root权限?

Lan*_*nes 24 root sudo vi

可能的重复:
从 Vim 内部成为 root

它可能发生在任何人身上。管理员类型:

vi /etc/resolv.conf
Run Code Online (Sandbox Code Playgroud)

作为普通用户。他编辑了/etc/resolv.conf文件,但是当他想点击时,:x他突然注意到他正在以只读模式编辑文件,因为他是用普通用户打开的,而不是 root。

是否有任何的vi命令来获得root权限,这样管理员就不必打:q!sudo su -vi /etc/resolv.conf,再编辑呢?

enz*_*tib 51

CommandLineFu Explained 的 Top 10 One-Liners页面中,建议使用这个技巧(#3):

:w !sudo tee %
Run Code Online (Sandbox Code Playgroud)

这将当前缓冲区写入.stdin之后的命令!。该%符号将替换为当前文件名。

  • 如果 sudo 要求您输入密码,会发生什么?这会由 vi / vim 管理吗? (2认同)