Linux的VI編輯器

2021-09-05 23:16:06 字數 1539 閱讀 9349

linux如何退出vi編輯器

:q     退出   

:q!    強行退出(不存檔)   

:wq   強制性寫入檔案並退出。即使檔案沒有被修改也強制寫入,並更新檔案的修改時間。

:x     寫入檔案並退出。僅當檔案被修改時才寫入,並更新檔案修改時間,否則不會更新檔案修改時間。

用esc鍵只能切換到命令狀態

擴充套件知識:

今天我才知道":x"和":wq"的真正區別,如下:

:wq   強制性寫入檔案並退出。即使檔案沒有被修改也強制寫入,並更新檔案的修改時間。

:x      寫入檔案並退出。僅當檔案被修改時才寫入,並更新檔案修改時間,否則不會更新檔案修改時間。

這兩者一般情況下沒什麼不一樣,但是在程式設計方面,對編輯原始檔可能會產生重要影響。因為檔案即使沒有修改,":wq"強制更新檔案的修改時間,這樣會讓make編譯整個專案時以為檔案被修改過了,然後就得重新編譯鏈結生成可執行檔案。這可能會產生讓人誤解的後果,當然也產生了不必要的系統資源花銷。

更加詳細內容:

在 linux 底下最常使用的文書編輯器為 vi ,請問如何進入編輯模式? 

在一般模式底下輸入: i, i, a, a 為在本行當中輸入新字元;(出現 –insert- ) 

在一般模式當中輸入: o, o 為在乙個新的一行輸入新字元; 

在一般模式當中輸入: r, r 為取代字元!(左下角出現 –replace-) 

如何由編輯模式跳回一般模式? 

[esc] 

若上下左右鍵無法使用時,請問如何在一般模式移動游標? 

h, j, k, l 

若 [pagedown] [ pageup] 在一般模式無法使用時,如何往前或往後翻一頁? 

[ctrl] + [f] 

[ctrl] + [b] 

如何到本檔案的最後一行、第一行;本行的第乙個字元、最後乙個字元? 

g, 1g, 0, $ 

如何刪除一行、n行;如何刪除乙個字元? 

dd, ndd, x 或 x (dg 及 d1g 分別表示刪除到頁首及頁尾) 

如何複製一行、n行並加以貼上? 

yy, nyy, p 或 p 

如何搜尋 string 這個字串? 

?string (往前搜尋) 

/string (往後搜尋) 

如何取代 word1 成為 word2,而若需要使用者確認機制,又該如何? 

:1,$s/word1/word2/g 或 

:1,$s/word1/word2/gc (需要使用者確認) 

如何讀取乙個檔案 filename 進來目前這個檔案? 

:r filename 

如何另存新檔成為 newfilename? 

:w newfilename 

如何存檔、離開、存檔後離開、強制存檔後離開? 

:w; :q: :wq; :wq! 

如何設定與取消行號? 

:set nu 

:set nonu  

linux的vi編輯器

1.vi的啟動 輸入vi命令後,便進入全螢幕編輯環境,此時的狀態為命令模式。1 vi 進入vi的乙個臨時緩衝區,游標定位在該緩衝區第1行第1列的位置上。2 vi file1 如果file1檔案不存在,將建立此檔案 如該檔案存在,則將其拷貝到乙個臨時緩衝區。游標定位在該緩衝區第1行第1列的位置上。3 ...

Linux的VI編輯器

linux如何退出vi編輯器 q 退出 q 強行退出 不存檔 wq 強制性寫入檔案並退出。即使檔案沒有被修改也強制寫入,並更新檔案的修改時間。x 寫入檔案並退出。僅當檔案被修改時才寫入,並更新檔案修改時間,否則不會更新檔案修改時間。用esc鍵只能切換到命令狀態 擴充套件知識 今天我才知道 x 和 w...

Linux的VI編輯器

linux如何退出vi編輯器 q 退出 q 強行退出 不存檔 wq 強制性寫入檔案並退出。即使檔案沒有被修改也強制寫入,並更新檔案的修改時間。x 寫入檔案並退出。僅當檔案被修改時才寫入,並更新檔案修改時間,否則不會更新檔案修改時間。用esc鍵只能切換到命令狀態 擴充套件知識 今天我才知道 x 和 w...