如何退出 Vi 或 Vim 編輯器
已發表: 2022-01-29 如果您不習慣vi
編輯器,您會感到困惑。 如果您偶然發現此應用程序,則需要秘密握手才能逃脫。 這是在 Linux、macOS 或任何其他類 Unix 系統上退出 vi 或 vim 的方法。
快速回答
如果您在vi
或vim
中並且需要退出(無論是否保存更改),方法如下:
- 首先,按 Esc 鍵幾次。 這將確保
vi
退出插入模式並處於命令模式。 - 其次,輸入
: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
切換到您想要完成的適當模式。
命令模式是vi
啟動時的默認模式。 除非你知道得更好,否則你會開始嘗試打字。 如果你碰巧按下了“i”鍵,或者其他 10 個調用插入模式的鍵(a、A、c、C、I、o、O、R、s 和 S)中的任何一個,你會突然看到什麼你在打字。 您現在處於插入模式。
在您按下箭頭鍵之一之前,這可能感覺像是進步。 如果您這樣做,A、B、C 或 D 將作為唯一的字母出現在另一個空白的新行上。 在文件的頂部。
沒關係,我們支持你。 當您知道如何操作時,這非常容易。 記住這兩個鍵擊:Esc 帶您進入命令模式,“i”帶您進入插入模式。
您需要處於命令模式,並輸入正確的命令才能離開編輯器。
從指揮模式到安全
要進入命令模式,請按 Esc 鍵。 什麼都不會發生。 多打幾次。 如果您在按下 Escape 鍵時聽到嗶嗶聲,則說明您處於命令模式。 嗶聲告訴您“停止按 Esc,您已經處於命令模式。” 如果您在按下 Esc 時聽到嗶聲,我們很好。
鍵入冒號、字母“q”和感嘆號,不帶任何空格。 這三個字符應出現在終端底行的最左側。 如果沒有,請按 Esc 直到聽到嗶聲,然後重試。 當您可以看到它們時按 Enter 鍵:
:問!
在此命令中, q
是quit
的縮寫。 感嘆號增加了重點,所以就像你在大喊“退出!” 在vi
。 這可能會讓你感覺好一點。
感嘆號還指示vi
不保存您對文件所做的任何更改。 如果您在vi
中犯了錯誤並且不知道自己在做什麼,那麼您可能不想挽救您造成的破壞。
返回命令行後,您可能需要仔細檢查以確保文件未被更改。 您可以使用以下命令執行此操作:
貓.bashrc | 較少的
當您退出vi
時,如果您看到一條消息說“自上次更改以來沒有寫入”,這意味著您錯過了命令中的感嘆號。 為了防止您退出並丟失您可能希望保留的任何更改, vi
讓您有機會保存它們。 只需重新發出:q!
帶有感嘆號的命令退出vi
並放棄任何更改。
如果您確定,請保存您的更改
如果您對您對文件所做的更改感到滿意,您可以使用:wq
(寫入和退出)命令退出並保存更改。 在繼續之前,請確保您完全滿意您希望將屏幕編輯寫入文件。
鍵入冒號、字母 w(寫)和字母 q(退出)。 當您可以在終端的左下方看到它們時,按 Enter 鍵:
:wq
學習曲線是值得的
使用vi
有點像使用鋼琴。 你不能只是坐下來使用它; 你必須進行一些練習。 當你面臨編輯某些東西的壓力時,坐下來冷處理並嘗試在飛行中學習並不是這樣做的方法。 這就像第一次坐在鋼琴前一樣有意義,就像您的就職音樂會拉開帷幕一樣。
vi
的大部分功能來自於它的許多擊鍵組合,每個組合都執行一個常見的編輯任務。 這很好,但是在你記住它們、練習它們並且它們是你肌肉記憶的一部分之前,你無法從它們中受益。
在那之前,如果你發現自己在vi
中查看一個重要文件,只需:q!
並優雅地退出。 您的重要文件將感謝您。