1. 程式人生 > >Vim 許可權不足時 強制儲存只讀型別檔案的方法

Vim 許可權不足時 強制儲存只讀型別檔案的方法

在使用vim時,當我們以普通使用者去開啟一個只有root使用者才有許可權操作的檔案時,我們編輯完成之後,正要儲存,卻發現,這個檔案我們沒有許可權修改。

經過查詢,發現一個命令可以解決這個問題

命令:
:w !sudo tee %

 w: 表示儲存檔案

 !: 表示執行外部命令

 tee: linux命令,這個有點複雜,可以檢視linux命令幫助

 %: 在執行外部命令時,%會擴充套件成當前檔名;這個%區別於替換時的%,替換時%的意義是代表整個檔案,而不是檔名

此命令是把當前檔案(即%)作為stdin傳給sudo tee命令來執行。說起來挺繞口,其實就是:用sudo強制儲存。

這行命令解決了不能儲存只讀檔案的問題,但畢竟命令還是有些長,為了避免每次輸入一長串的命令,可以將它對映為一個簡單的命令加到 .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作用為顯式的丟掉標準輸出的內容。