在不退出vim的情況下使用sudo完成寫入

2021-10-24 02:22:32 字數 655 閱讀 4229

有時候我們操作linux,編輯一些系統檔案時是需要sudo操作

的,但是經常忘記使用`sudo `,直接就是vim 開啟某個檔案,當進行改動時出現以下情況,就要退出,重新用sudo vim 開啟檔案操作。

我們如何在不退出的情況下完成編寫呢?

輸入:w ! sudo tee %,然後出現下面的顯示內容,按o回車就可以了。

最後強制退出:q!

最後用cat 輸入內容檢查下,就會發現剛剛的內容已經寫入了。

:w ! sudo tee %的意思是

:w! 讓vim 可以執行外部shell命令,且把當前緩衝區的內容從stdin傳入。

tee 是乙個把stdin儲存到檔案裡的小工具

% 會vim 裡的特殊字元,儲存著當前檔案的路徑

整個意思就是把當前是檔案緩衝區的內容(也就是你修改的內容)做為stdin傳給tee讓它寫入到當前檔案裡。

復合索引在什麼情況下使用

1 復合索引使用的目的是什麼?能形成索引覆蓋,提高where語句的查詢效率 2 乙個復合索引是否可以代替多個單一索引?復合索引的使用原則是第乙個條件應該是復合索引的第一列,依次類推,否則復合索引不會被使用 所以,正常情況下復合索引不能替代多個單一索引 3 在進行哪些型別的查詢時,使用復合索引會比較有...

C 在什麼情況下使用Using

第一種情況 using 命名空間,using指令 引用使用的外掛程式以及各種需要引用的檔案 第二種情況 using語句 用來簡化資源釋放的,在一定的範圍內有效。除了這個範圍時,自動呼叫idisposable介面的類才可以使用 例項 using sqlconnection conn new sqlco...

synchronized在多執行緒情況下的使用

不同業務場景,有時會碰到大量資料的情況,在請求完資料後會通過model對映到對應的陣列或者字典中,從而對陣列進行操作,而多個執行緒同時對同一陣列進行取捨時內容就會出錯,為了避免這種情況可以使用 synchronized關鍵字來宣告來建立乙個互斥鎖,保證此時沒有其它執行緒對鎖定物件進行修改 synch...