保存在 Vim 中编辑的只读文件
有时,我们可能会打开一个文件,我们无权使用 sudo
在 Vim 中写入。
使用此命令保存在 Vim 中编辑的只读文件。
:w !sudo tee > /dev/null %
你可以在 .vimrc
中映射到:w!!
:
cmap w!! w !sudo tee > /dev/null %
你将看到一个提示,如图所示。
。
按 O
,文件将被保存。它在 vi / vim 中保持打开以进行更多编辑或阅读,你可以通过键入:q!
来正常退出,因为文件仍以只读方式打开。
命令说明
:w ............................ isn't modifying your file in this case,
............................ but sends the current buffer contents to
............................ a substituted shell command
!sudo ...................... call the shell 'sudo' command
tee .................. the output of the vi/vim write command is redirected
using the 'tee' command
> /dev/null ...... throws away the standard output, since we don't need
to pass it to other commands
% .... expands to the path of the current file
资料来源: