發現問題:
在使用vim時,當我們以普通用戶去打開一個只有root用戶才有權限操作的文件時,我們編輯完成之后,正要保存,卻發現,這個文件我們沒有權限修改。
每次遇到這樣的問題,我都很頭疼,好不容易把文件編輯完了,卻無法保存,就只能放棄,然后退出,再以root權限打開,重新編輯。
我總是相信,所有的問題都有解決的方法。通過查閱資料,終于解決了這個問題。
解決方案:
底行命令模式執行: :w !sudo tee %
w: 表示保存文件
!: 表示執行外部命令
tee: linux命令,這個有點復雜,可以查看linux命令幫助
%: 在執行外部命令時,%會擴展成當前文件名;這個%區別于替換時的%,替換時%的意義是代表整個文件,而不是文件名
上述方式非常完美的解決了不能保存只讀文件的問題,但畢竟命令還是有些長,為了避免每次輸入一長串的命令,可以將它映射為一個簡單的命令加到 .vimrc 中:
" Allow saving of files as sudo when I forgot to start vim using sudo. cmap w!! w !sudo tee > /dev/null %
這樣,簡單的運行:w!!
即可。命令后半部分> /dev/null
作用為顯式的丟掉標準輸出的內容。
總結
以上就是關于Vim強制保存只讀文件的方法,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
新聞熱點
疑難解答
圖片精選