有时候未使用 root 用户在一些较为重要的目录下使用 Vim 编辑文件时,往往会因为权限不足而无法保存,而退出去 sudo
后重新编辑又比较浪费时间。这个时候需要在 Vim 中执行下面这个命令,就可以在不退出 Vim 的前提下 sudo
保存文件。
1 | :w !sudo tee % |
:w 在 Vim 中是保存文件,这是毫无疑问的。
!后面跟一个命令,表示让 Vim 执行一个外部命令。
tee 是一个把 stdin 保存到文件的小工具,具体用法是:
1 | tee {filename} |
就能将 stdin 流保存到指定的文件中。
% 是 Vim 当中一个只读寄存器的名字,总保存着当前编辑文件的文件路径。