這是一個經常遇到的情況,例如我們經常需要連接到伺服器上用vim修改設定文件,大多數設定檔的修改都是需要sudo權限的,但是讀取的時候不需要。因此很多時候我們用目前系統帳號修改了半天文件,等到最後:wq的時候才發現,原來沒有寫權限。以前都是退出後再用sudo vim重新編輯一遍,但是這個方法太麻煩了,有沒有其它方法能在切換用戶的時候保留當前已經編輯的內容呢?
sudo
:wq
sudo vim
学习是最好的投资!
:w !sudo tee %
參考:http://vim.wikia.com/wiki/Su-write
在vim中執行下面這個,可以在不切換用戶的情況下保存文件內容。 。
:%!sudo bash -c "cat > '%'"
p.s. 如果檔案名稱中沒有空格之類的特殊符號,後一個 % 兩邊的引號可以省略。
保存到別的文件,然後退出來,把文件覆蓋了
參考:http://vim.wikia.com/wiki/Su-write
在vim中執行下面這個,可以在不切換用戶的情況下保存文件內容。 。
p.s. 如果檔案名稱中沒有空格之類的特殊符號,後一個 % 兩邊的引號可以省略。
保存到別的文件,然後退出來,把文件覆蓋了