有時當我編輯需要root權限的文件(例如/ etc下的文件)時,但我忘記將vim作爲sudo運行。我可以在不離開vim的情況下獲得root權限嗎?
編輯完成後,鍵入:wq
保存並離開,我發現我不能,即使使用!wq
,因爲該文件是隻讀的。
如果我離開並重新編輯該文件,我的所有工作都將丟失,但如果沒有,我無法保存我的編輯。那麼,如何在不離開vim的情況下獲得root權限寫入呢?
有時當我編輯需要root權限的文件(例如/ etc下的文件)時,但我忘記將vim作爲sudo運行。我可以在不離開vim的情況下獲得root權限嗎?
編輯完成後,鍵入:wq
保存並離開,我發現我不能,即使使用!wq
,因爲該文件是隻讀的。
如果我離開並重新編輯該文件,我的所有工作都將丟失,但如果沒有,我無法保存我的編輯。那麼,如何在不離開vim的情況下獲得root權限寫入呢?
要強制保存使用以下命令
:w !sudo tee %
它會提示你輸入密碼。
當我需要它時,我永遠不會記得這件事:/ –
我強迫自己記住它,因爲我經常使用它 –
@Michael:一種常用的解決方法,用於擺脫記憶的必要性一個複雜的命令是創建一個自定義命令:':command! W w!sudo tee%>/dev/null'。 –
與tee
提到的技巧是不錯的;如果你經常需要這個,我會推薦SudoEdit plugin,它提供了一個:SudoWrite
命令(甚至一個sudo:
協議處理程序)。
我不認爲你可以,只要複製你的任何內容,關閉vim,使用sudo運行並粘貼。編輯:或者像darryn.ten一樣回答。 –
您現在可以將答案標記爲正確:) –
@ darryn.ten沒有「正確的」答案。只是'有幫助'和/或'接受'的答案:) – sehe