打開vim沒有sudo又想保存時(shí)...

使用這個(gè)命令:

:w !sudo tee %`

這題目讀起來(lái)糾結(jié),其實(shí)是很常見的,常常忘記了 sudo 就直接用 vim 編輯 /etc 內(nèi)的文件,(不過(guò)也不一定,vim 發(fā)現(xiàn)保存的文件無(wú)法保存時(shí)候會(huì)提示)等編輯好了,保存時(shí)候才發(fā)現(xiàn)沒權(quán)限。曲線方法是先保存?zhèn)€臨時(shí)文件,退出后再 sudo cp 回去。不過(guò)實(shí)際上在 vim 里面可以直接完成這個(gè)過(guò)程的,命令就是如此。

查閱 vim 的文檔(輸入 :help :w),會(huì)提到命令 :w!{cmd},讓 vim 執(zhí)行一個(gè)外部命令 {cmd},然后把當(dāng)前緩沖區(qū)的內(nèi)容從 stdin 傳入。

tee 是一個(gè)把 stdin 保存到文件的小工具。而 %,是 vim 當(dāng)中一個(gè)只讀寄存器的名字,總保存著當(dāng)前編輯文件的文件路徑。

所以執(zhí)行這個(gè)命令,就相當(dāng)于從 vim 外部修改了當(dāng)前編輯的文件,[END]。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容