Vim 強制保存只讀類型文件的方法
2017-02-02 08:50:21
13792
你是否會和我一樣經(jīng)常碰到這樣的情景:在VIM中編?了一個系統(tǒng)配置文件,當需要保存時才發(fā)現(xiàn)當前的用戶對該文件沒有寫入的權限。這個時候就需要強制保存只讀類型文件的方法了,這篇文章就介紹了Vim強制保存只讀類型文件的方法,需要的朋友可以參考借鑒,下面來一起看看吧。
發(fā)現(xiàn)問題:
在使用vim時,當我們以普通用戶去打開一個只有root用戶才有權限操作的文件時,我們編輯完成之后,正要保存,卻發(fā)現(xiàn),這個文件我們沒有權限修改。
每次遇到這樣的問題,我都很頭疼,好不容易把文件編輯完了,卻無法保存,就只能放棄,然后退出,再以root權限打開,重新編輯。
我總是相信,所有的問題都有解決的方法。通過查閱資料,終于解決了這個問題。
解決方案:
底行命令模式執(zhí)行: :w !sudo tee %
w: 表示保存文件
?。?表示執(zhí)行外部命令
tee: linux命令,這個有點復雜,可以查看linux命令幫助
%: 在執(zhí)行外部命令時,%會擴展成當前文件名;這個%區(qū)別于替換時的%,替換時%的意義是代表整個文件,而不是文件名
上述方式非常完美的解決了不能保存只讀文件的問題,但畢竟命令還是有些長,為了避免每次輸入一長串的命令,可以將它映射為一個簡單的命令加到 .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作用為顯式的丟掉標準輸出的內(nèi)容。