儲存在 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
資料來源: