Linux VI編輯 退出

2021-07-27 09:57:34 字數 1524 閱讀 8642

1、退出:

用esc鍵先切換到命令狀態

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

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

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

:q 正常退出,只有當檔案未被修改或者修改已經被儲存的情況下方能成功退出,否則將提示有修改尚未儲存而無法退出。

zz 先儲存後退出,同「wq」。

zq 強制退出,同「q!」。

擴充套件知識:

":x"和":wq"的真正區別,如下:

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

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

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

2、進入編輯

在 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 退出

最新linux vi 退出 游標將位於檔案example1.c中的第3行上。使用vi可以同時編輯多個檔案,只要在進入vi的命令中寫入所要操作的檔案即可,還可以使用萬用字元。例5 鍵入命令 vi cat 就可以編輯所有字尾為cat的檔案了。當然,您還可以使用shell中內建的模式匹配來裝載檔案,這樣會...

linux vi儲存退出命令 (如何退出vi)

有很多方法 退出vi 當編輯完檔案,準備退出vi返回到shell時,可以使用以下幾種方法之一。在命令模式中,連按兩次大寫字母z,若當前編輯的檔案曾被修改過,則vi儲存該檔案後退出,返回到shell 若當前編輯的檔案沒被修改過,則vi直接退出,返回到shell。在末行模式下,輸入命令 w vi儲存當前...

linux vi儲存退出命令 (如何退出vi)

有很多方法 退出vi 當編輯完檔案,準備退出vi返回到shell時,可以使用以下幾種方法之一。在命令模式中,連按兩次大寫字母z,若當前編輯的檔案曾被修改過,則vi儲存該檔案後退出,返回到shell 若當前編輯的檔案沒被修改過,則vi直接退出,返回到shell。在末行模式下,輸入命令 w vi儲存當前...