探索Linux的強(qiáng)大文本編輯器: 關(guān)于vi編輯器看這篇文章就夠了
如果你不習(xí)慣vi編輯器,那么它會讓你感到困惑,因?yàn)樗枰衩胤柌拍芡顺?。以下是如何在Linux、macOS或任何其他類似Unix的系統(tǒng)上退出vi或vim。
如何立即退出Vim或Vi
如果你在vi或vim中,需要退出(無論是否保存更改),方法如下:
1、首先,按Esc鍵幾次。這將確保vi處于插入模式之外,并處于命令模式。
2、第二,輸入q!,然后按Enter鍵。此操作會告訴vi在不保存任何更改的情況下退出。(如果確實(shí)要保存更改,請輸入wq)
如果你想學(xué)習(xí)Linux命令行,你需要知道更多。繼續(xù)閱讀,我們將向你展示vi是如何工作的,以及為什么退出的指令如此不同尋常。vi是一個重要而強(qiáng)大的工具,學(xué)習(xí)曲線是值得的。
vi,無處不在的編輯器
因?yàn)関i無處不在,你很有可能會遇到它。你甚至可能會意外地發(fā)現(xiàn)自己在vi里面。也許有人讓你幫他們看一下他們的Linux電腦。你發(fā)出一個類似crontab -e的命令,vi就會彈出。令人驚訝的是,有人將crontab的默認(rèn)編輯器配置為vi。
也許你正在管理一個系統(tǒng),其中vi是唯一的編輯器,或者是唯一一個可以通過遠(yuǎn)程SSH會話工作的編輯器,并且你需要編輯用戶的.bashrc文件。
啟動vi并打開文件的命令是直接的。鍵入vi、一個空格,然后鍵入文件名。按Enter鍵。啟動的程序可能是vi,也可能是vim(改進(jìn)的vi),這取決于你的Linux發(fā)行版,例如,Ubuntu使用vim。本文中的所有說明同樣適用于vim。
vi .bashrc

vi和其他編輯器之間最明顯的區(qū)別是,當(dāng)vi啟動時(shí),你不能直接開始鍵入文本。這是因?yàn)関i是一個模態(tài)編輯器。編輯在插入模式中執(zhí)行,發(fā)出命令在命令模式中執(zhí)行。
如果你不熟悉插入模式和命令模式的概念,可能會感到困惑。在命令模式下可以發(fā)出的許多命令都會影響你鍵入的文件。如果你處于命令模式,但錯誤地嘗試在文件中鍵入文本,則不會有好的結(jié)果。你發(fā)出的某些擊鍵將被識別為命令。這些命令可能會刪除或拆分行、移動光標(biāo)或刪除文本。
而且,無論你鍵入什么,都無法找到退出或退出編輯器的方法。與此同時(shí),你的文件變得一團(tuán)糟,看似隨機(jī)的嗶嗶聲讓你抓狂。

命令模式和插入模式
你需要將vi切換到適當(dāng)?shù)哪J絹硗瓿赡阆胍瓿傻娜蝿?wù)。
命令模式是vi啟動時(shí)的默認(rèn)模式。除非你更清楚,否則你會開始嘗試打字。如果你碰巧按下了“i”鍵,或者其他10個調(diào)用插入模式的鍵中的任何一個(a, A, c, C, I, o, O, R, s 和 S),你會突然看到你在鍵入什么,因?yàn)槟阋呀?jīng)處于插入模式。
當(dāng)你知道怎么做的時(shí)候,這會非常容易。記住這兩個按鍵:“Esc”鍵將進(jìn)入命令模式,“i”鍵將進(jìn)入插入模式。
你需要處于命令模式,并輸入正確的命令才能離開編輯器。
在Vi中進(jìn)入命令模式
要進(jìn)入命令模式,請按Esc鍵,你不會看到屏幕有什么變化。多敲幾次Esc鍵。如果按下Esc鍵時(shí)聽到嘟嘟聲,則表示你處于命令模式。嘟嘟聲告訴你“停止按Esc鍵,你已經(jīng)處于命令模式了。”
鍵入冒號、字母“q”和感嘆號,不帶空格。這三個字符應(yīng)該出現(xiàn)在終端的最左邊。如果沒有,請按Esc鍵直到聽到嘟嘟聲,然后重試。當(dāng)你可以看到它們時(shí),請按Enter鍵:
:q!

在這個命令中,q是quit的縮寫。感嘆號增加了強(qiáng)調(diào),所以這就像你在vi上大喊“退出!”,這可能會讓你感覺好一點(diǎn)。
感嘆號還指示vi不要保存你對文件所做的任何更改。如果你在vi中犯了錯誤,不知道自己在做什么,那么你可能不想保存你造成的混亂。
回到命令行后,你可能需要再次檢查以確保文件沒有被更改。可以使用以下命令執(zhí)行此操作:
cat .bashrc | less

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

如果確定,請保存更改
如果你對文件所做的更改感到滿意,可以退出并使用:wq (write and quit)命令保存更改。在繼續(xù)操作之前,請確保你完全滿足將屏幕編輯寫入文件的要求。
鍵入冒號、字母w(write)和字母q(quit)。當(dāng)你可以在終端的左下角看到它們時(shí),請按Enter鍵:
:wq

vi是值得學(xué)習(xí)的
vi的大部分功能來自于它的許多按鍵組合,每個組合都執(zhí)行一個共同的編輯任務(wù)。這很好,但除非你記住了它們,練習(xí)了它們,它們成為你肌肉記憶的一部分,否則你無法從中受益。
在那之前,如果你發(fā)現(xiàn)自己在vi中查看一個重要的文件,只需輸入:q!,然后優(yōu)雅地離開。你的重要檔案會感謝你的。
相關(guān)文章

超詳細(xì)的Vim編輯器vim命令大全 強(qiáng)烈建議收藏!
Vim是一款常用的文本編輯器,具有強(qiáng)大的功能和高度的可定制性,在本文中,我們將詳細(xì)介紹Vim的常用命令,詳細(xì)請看下文介紹2024-02-21
VisualStudioCode最新版本1.71有哪些變化? 推出合并編輯器改進(jìn)等
VisualStudioCode最新版本1.71有哪些變化?這個版本帶來了一些改進(jìn),可以合并編輯器,新增了編解碼器,還有很多快捷操作,下面我們就來看看vscode1.71新變化匯總2022-09-02
vim編輯器文本怎么復(fù)制到行首或行尾?vim編輯器中復(fù)制的文本,想要復(fù)制到首行或者行尾,該怎么實(shí)現(xiàn)呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下2019-11-19
vim三種模式怎么使用?vim中有三種基本模式,可以對文本進(jìn)行操作,這三種模式有什么區(qū)別嗎?下面我們就來看看vim編輯器三種模式介紹,需要的朋友可以參考下2019-11-16
Vim文本編輯器怎么實(shí)現(xiàn)全局替換?Vim文本編輯器中的代碼想要實(shí)現(xiàn)全局替換,該怎么替換呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下2019-08-26






