關於vi編輯器的知識,看這篇文章就夠了

2024年2月6日 27点热度 0人点赞

如果你不習慣vi編輯器,那麼它會讓你感到困惑,因為它需要神秘符號才能退出。以下是如何在Linux、macOS或任何其他類似Unix的系統上退出vi或vim。

如何立即退出Vim或Vi

如果你在vi或vim中,需要退出(無論是否保存更改),方法如下:

1、首先,按Esc鍵幾次。這將確保vi處於插入模式之外,並處於命令模式。

2、第二,輸入q!,然後按Enter鍵。此操作會告訴vi在不保存任何更改的情況下退出。(如果確實要保存更改,請輸入wq)

如果你想學習Linux命令行,你需要知道更多。繼續閱讀,我們將向你展示vi是如何工作的,以及為什麼退出的指令如此不同尋常。vi是一個重要而強大的工具,學習曲線是值得的。

vi,無處不在的編輯器

因為vi無處不在,你很有可能會遇到它。你甚至可能會意外地發現自己在vi裡面。也許有人讓你幫他們看一下他們的Linux電腦。你發出一個類似crontab -e的命令,vi就會彈出。令人驚訝的是,有人將crontab的默認編輯器配置為vi。

也許你正在管理一個系統,其中vi是唯一的編輯器,或者是唯一一個可以通過遠程SSH會話工作的編輯器,並且你需要編輯用戶的.bashrc文件。

啟動vi並打開文件的命令是直接的。鍵入vi、一個空格,然後鍵入文件名。按Enter鍵。啟動的程序可能是vi,也可能是vim(改進的vi),這取決於你的Linux發行版,例如,Ubuntu使用vim。本文中的所有說明同樣適用於vim。

vi .bashrc

vi和其他編輯器之間最明顯的區別是,當vi啟動時,你不能直接開始鍵入文本。這是因為vi是一個模態編輯器。編輯在插入模式中執行,發出命令在命令模式中執行。

如果你不熟悉插入模式和命令模式的概念,可能會感到困惑。在命令模式下可以發出的許多命令都會影響你鍵入的文件。如果你處於命令模式,但錯誤地嘗試在文件中鍵入文本,則不會有好的結果。你發出的某些擊鍵將被識別為命令。這些命令可能會刪除或拆分行、移動光標或刪除文本。

而且,無論你鍵入什麼,都無法找到退出或退出編輯器的方法。與此同時,你的文件變得一團糟,看似隨機的嗶嗶聲讓你抓狂。

命令模式和插入模式

你需要將vi切換到適當的模式來完成你想要完成的任務。

命令模式是vi啟動時的默認模式。除非你更清楚,否則你會開始嘗試打字。如果你碰巧按下了“i”鍵,或者其他10個調用插入模式的鍵中的任何一個(a, A, c, C, I, o, O, R, s 和 S),你會突然看到你在鍵入什麼,因為你已經處於插入模式。

當你知道怎麼做的時候,這會非常容易。記住這兩個按鍵:“Esc”鍵將進入命令模式,“i”鍵將進入插入模式。

你需要處於命令模式,並輸入正確的命令才能離開編輯器。

在Vi中進入命令模式

要進入命令模式,請按Esc鍵,你不會看到屏幕有什麼變化。多敲幾次Esc鍵。如果按下Esc鍵時聽到嘟嘟聲,則表示你處於命令模式。嘟嘟聲告訴你“停止按Esc鍵,你已經處於命令模式了。”

鍵入冒號、字母“q”和感嘆號,不帶空格。這三個字符應該出現在終端的最左邊。如果沒有,請按Esc鍵直到聽到嘟嘟聲,然後重試。當你可以看到它們時,請按Enter鍵:

:q!

在這個命令中,q是quit的縮寫。感嘆號增加了強調,所以這就像你在vi上大喊“退出!”,這可能會讓你感覺好一點。

感嘆號還指示vi不要保存你對文件所做的任何更改。如果你在vi中犯了錯誤,不知道自己在做什麼,那麼你可能不想保存你造成的混亂。

回到命令行後,你可能需要再次檢查以確保文件沒有被更改。可以使用以下命令執行此操作:

cat .bashrc | less

當你退出vi時,如果你看到一條消息說“No write since last change”,則表示你錯過了命令中的感嘆號。為了防止你退出並丟失任何你可能希望保留的更改,vi給了你保存它們的機會。隻需重新輸入:q!,使用感嘆號命令退出vi並放棄任何更改。

如果確定,請保存更改

如果你對文件所做的更改感到滿意,可以退出並使用:wq (write and quit)命令保存更改。在繼續操作之前,請確保你完全滿足將屏幕編輯寫入文件的要求。

鍵入冒號、字母w(write)和字母q(quit)。當你可以在終端的左下角看到它們時,請按Enter鍵:

:wq

vi是值得學習的

vi的大部分功能來自於它的許多按鍵組合,每個組合都執行一個共同的編輯任務。這很好,但除非你記住了它們,練習了它們,它們成為你肌肉記憶的一部分,否則你無法從中受益。

在那之前,如果你發現自己在vi中查看一個重要的文件,隻需輸入:q!,然後優雅地離開。你的重要檔案會感謝你的。