探索Linux的強(qiáng)大文本編輯器: 關(guān)于vi編輯器看這篇文章就夠了

如果你不習(xí)慣vi編輯器,那么它會(huì)讓你感到困惑,因?yàn)樗枰衩胤?hào)才能退出。以下是如何在Linux、macOS或任何其他類似Unix的系統(tǒng)上退出vi或vim。
如何立即退出Vim或Vi
如果你在vi或vim中,需要退出(無論是否保存更改),方法如下:
1、首先,按Esc鍵幾次。這將確保vi處于插入模式之外,并處于命令模式。
2、第二,輸入q!,然后按Enter鍵。此操作會(huì)告訴vi在不保存任何更改的情況下退出。(如果確實(shí)要保存更改,請(qǐng)輸入wq)
如果你想學(xué)習(xí)Linux命令行,你需要知道更多。繼續(xù)閱讀,我們將向你展示vi是如何工作的,以及為什么退出的指令如此不同尋常。vi是一個(gè)重要而強(qiáng)大的工具,學(xué)習(xí)曲線是值得的。
vi,無處不在的編輯器
因?yàn)関i無處不在,你很有可能會(huì)遇到它。你甚至可能會(huì)意外地發(fā)現(xiàn)自己在vi里面。也許有人讓你幫他們看一下他們的Linux電腦。你發(fā)出一個(gè)類似crontab -e的命令,vi就會(huì)彈出。令人驚訝的是,有人將crontab的默認(rèn)編輯器配置為vi。
也許你正在管理一個(gè)系統(tǒng),其中vi是唯一的編輯器,或者是唯一一個(gè)可以通過遠(yuǎn)程SSH會(huì)話工作的編輯器,并且你需要編輯用戶的.bashrc文件。
啟動(dòng)vi并打開文件的命令是直接的。鍵入vi、一個(gè)空格,然后鍵入文件名。按Enter鍵。啟動(dòng)的程序可能是vi,也可能是vim(改進(jìn)的vi),這取決于你的Linux發(fā)行版,例如,Ubuntu使用vim。本文中的所有說明同樣適用于vim。
vi .bashrc
vi和其他編輯器之間最明顯的區(qū)別是,當(dāng)vi啟動(dòng)時(shí),你不能直接開始鍵入文本。這是因?yàn)関i是一個(gè)模態(tài)編輯器。編輯在插入模式中執(zhí)行,發(fā)出命令在命令模式中執(zhí)行。
如果你不熟悉插入模式和命令模式的概念,可能會(huì)感到困惑。在命令模式下可以發(fā)出的許多命令都會(huì)影響你鍵入的文件。如果你處于命令模式,但錯(cuò)誤地嘗試在文件中鍵入文本,則不會(huì)有好的結(jié)果。你發(fā)出的某些擊鍵將被識(shí)別為命令。這些命令可能會(huì)刪除或拆分行、移動(dòng)光標(biāo)或刪除文本。
而且,無論你鍵入什么,都無法找到退出或退出編輯器的方法。與此同時(shí),你的文件變得一團(tuán)糟,看似隨機(jī)的嗶嗶聲讓你抓狂。
命令模式和插入模式
你需要將vi切換到適當(dāng)?shù)哪J絹硗瓿赡阆胍瓿傻娜蝿?wù)。
命令模式是vi啟動(dòng)時(shí)的默認(rèn)模式。除非你更清楚,否則你會(huì)開始嘗試打字。如果你碰巧按下了“i”鍵,或者其他10個(gè)調(diào)用插入模式的鍵中的任何一個(gè)(a, A, c, C, I, o, O, R, s 和 S),你會(huì)突然看到你在鍵入什么,因?yàn)槟阋呀?jīng)處于插入模式。
當(dāng)你知道怎么做的時(shí)候,這會(huì)非常容易。記住這兩個(gè)按鍵:“Esc”鍵將進(jìn)入命令模式,“i”鍵將進(jìn)入插入模式。
你需要處于命令模式,并輸入正確的命令才能離開編輯器。
在Vi中進(jìn)入命令模式
要進(jìn)入命令模式,請(qǐng)按Esc鍵,你不會(huì)看到屏幕有什么變化。多敲幾次Esc鍵。如果按下Esc鍵時(shí)聽到嘟嘟聲,則表示你處于命令模式。嘟嘟聲告訴你“停止按Esc鍵,你已經(jīng)處于命令模式了。”
鍵入冒號(hào)、字母“q”和感嘆號(hào),不帶空格。這三個(gè)字符應(yīng)該出現(xiàn)在終端的最左邊。如果沒有,請(qǐng)按Esc鍵直到聽到嘟嘟聲,然后重試。當(dāng)你可以看到它們時(shí),請(qǐng)按Enter鍵:
:q!
在這個(gè)命令中,q是quit的縮寫。感嘆號(hào)增加了強(qiáng)調(diào),所以這就像你在vi上大喊“退出!”,這可能會(huì)讓你感覺好一點(diǎn)。
感嘆號(hào)還指示vi不要保存你對(duì)文件所做的任何更改。如果你在vi中犯了錯(cuò)誤,不知道自己在做什么,那么你可能不想保存你造成的混亂。
回到命令行后,你可能需要再次檢查以確保文件沒有被更改??梢允褂靡韵旅顖?zhí)行此操作:
cat .bashrc | less
當(dāng)你退出vi時(shí),如果你看到一條消息說“No write since last change”,則表示你錯(cuò)過了命令中的感嘆號(hào)。為了防止你退出并丟失任何你可能希望保留的更改,vi給了你保存它們的機(jī)會(huì)。只需重新輸入:q!,使用感嘆號(hào)命令退出vi并放棄任何更改。
如果確定,請(qǐng)保存更改
如果你對(duì)文件所做的更改感到滿意,可以退出并使用:wq (write and quit)命令保存更改。在繼續(xù)操作之前,請(qǐng)確保你完全滿足將屏幕編輯寫入文件的要求。
鍵入冒號(hào)、字母w(write)和字母q(quit)。當(dāng)你可以在終端的左下角看到它們時(shí),請(qǐng)按Enter鍵:
:wq
vi是值得學(xué)習(xí)的
vi的大部分功能來自于它的許多按鍵組合,每個(gè)組合都執(zhí)行一個(gè)共同的編輯任務(wù)。這很好,但除非你記住了它們,練習(xí)了它們,它們成為你肌肉記憶的一部分,否則你無法從中受益。
在那之前,如果你發(fā)現(xiàn)自己在vi中查看一個(gè)重要的文件,只需輸入:q!,然后優(yōu)雅地離開。你的重要檔案會(huì)感謝你的。
相關(guān)文章
超詳細(xì)的Vim編輯器vim命令大全 強(qiáng)烈建議收藏!
Vim是一款常用的文本編輯器,具有強(qiáng)大的功能和高度的可定制性,在本文中,我們將詳細(xì)介紹Vim的常用命令,詳細(xì)請(qǐng)看下文介紹2024-02-21VisualStudioCode最新版本1.71有哪些變化? 推出合并編輯器改進(jìn)等
VisualStudioCode最新版本1.71有哪些變化?這個(gè)版本帶來了一些改進(jìn),可以合并編輯器,新增了編解碼器,還有很多快捷操作,下面我們就來看看vscode1.71新變化匯總2022-09-02- vim編輯器文本怎么復(fù)制到行首或行尾?vim編輯器中復(fù)制的文本,想要復(fù)制到首行或者行尾,該怎么實(shí)現(xiàn)呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下2019-11-19
- vim三種模式怎么使用?vim中有三種基本模式,可以對(duì)文本進(jìn)行操作,這三種模式有什么區(qū)別嗎?下面我們就來看看vim編輯器三種模式介紹,需要的朋友可以參考下2019-11-16
- Vim文本編輯器怎么實(shí)現(xiàn)全局替換?Vim文本編輯器中的代碼想要實(shí)現(xiàn)全局替換,該怎么替換呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下2019-08-26