当你忘记以sudo命令使用vim编辑一个只读文件时,可以执行以下vim命令强制覆写该文件:
:w !sudo tee % > /dev/null
命令太长,可在vimrc文件中做命令映射(映射为sudow):
cnoremap sudow w !sudo tee % >/dev/null
:w ! 会将修改后的文件内容写入stdin,然后sudo tee %会使用这些内容覆写当前文件。%表示当前文件的文件名(不包含basedir路径)。
:w !
sudo tee %
%
How to save read-only files in vim