Vim 強(qiáng)制保存只讀類(lèi)型文件的方法
2017-02-02 08:50:21
11479
你是否會(huì)和我一樣經(jīng)常碰到這樣的情景:在VIM中編?了一個(gè)系統(tǒng)配置文件,當(dāng)需要保存時(shí)才發(fā)現(xiàn)當(dāng)前的用戶(hù)對(duì)該文件沒(méi)有寫(xiě)入的權(quán)限。這個(gè)時(shí)候就需要強(qiáng)制保存只讀類(lèi)型文件的方法了,這篇文章就介紹了Vim強(qiáng)制保存只讀類(lèi)型文件的方法,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
發(fā)現(xiàn)問(wèn)題:
在使用vim時(shí),當(dāng)我們以普通用戶(hù)去打開(kāi)一個(gè)只有root用戶(hù)才有權(quán)限操作的文件時(shí),我們編輯完成之后,正要保存,卻發(fā)現(xiàn),這個(gè)文件我們沒(méi)有權(quán)限修改。
每次遇到這樣的問(wèn)題,我都很頭疼,好不容易把文件編輯完了,卻無(wú)法保存,就只能放棄,然后退出,再以root權(quán)限打開(kāi),重新編輯。
我總是相信,所有的問(wèn)題都有解決的方法。通過(guò)查閱資料,終于解決了這個(gè)問(wèn)題。
解決方案:
底行命令模式執(zhí)行: :w !sudo tee %
w: 表示保存文件
!: 表示執(zhí)行外部命令
tee: linux命令,這個(gè)有點(diǎn)復(fù)雜,可以查看linux命令幫助
%: 在執(zhí)行外部命令時(shí),%會(huì)擴(kuò)展成當(dāng)前文件名;這個(gè)%區(qū)別于替換時(shí)的%,替換時(shí)%的意義是代表整個(gè)文件,而不是文件名
上述方式非常完美的解決了不能保存只讀文件的問(wèn)題,但畢竟命令還是有些長(zhǎng),為了避免每次輸入一長(zhǎng)串的命令,可以將它映射為一個(gè)簡(jiǎn)單的命令加到 .vimrc 中:
" Allow saving of files as sudo when I forgot to start vim using sudo.
cmap w!! w !sudo tee > /dev/null %
這樣,簡(jiǎn)單的運(yùn)行:w!!即可。命令后半部分> /dev/null作用為顯式的丟掉標(biāo)準(zhǔn)輸出的內(nèi)容。
會(huì)員登錄
賬號(hào)登錄還沒(méi)有賬號(hào)?立即注冊(cè)