如何退出 Vi 或 Vim 編輯器

已發表: 2022-01-29

Ubuntu Linux 上的 vi 編輯器

如果您不習慣vi編輯器,您會感到困惑。 如果您偶然發現此應用程序,則需要秘密握手才能逃脫。 這是在 Linux、macOS 或任何其他類 Unix 系統上退出 vi 或 vim 的方法。

快速回答

如果您在vivim中並且需要退出(無論是否保存更改),方法如下:

  • 首先,按 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中的.bashrc

vi和其他編輯器之間最明顯的區別是,當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 鍵:

 :問! 

:問! vi中的命令

在此命令中, qquit的縮寫。 感嘆號增加了重點,所以就像你在大喊“退出!” 在vi 。 這可能會讓你感覺好一點。

廣告

感嘆號還指示vi保存您對文件所做的任何更改。 如果您在vi中犯了錯誤並且不知道自己在做什麼,那麼您可能不想挽救您造成的破壞。

返回命令行後,您可能需要仔細檢查以確保文件未被更改。 您可以使用以下命令執行此操作:

 貓.bashrc | 較少的

.bashrc 更少

當您退出vi時,如果您看到一條消息說“自上次更改以來沒有寫入”,這意味著您錯過了命令中的感嘆號。 為了防止您退出並丟失您可能希望保留的任何更改, vi讓您有機會保存它們。 只需重新發出:q! 帶有感嘆號的命令退出vi並放棄任何更改。

自上次更改消息以來沒有寫入

如果您確定,請保存您的更改

如果您對您對文件所做的更改感到滿意,您可以使用:wq (寫入和退出)命令退出並保存更改。 在繼續之前,請確保您完全滿意您希望將屏幕編輯寫入文件。

鍵入冒號、字母 w(寫)和字母 q(退出)。 當您可以在終端的左下方看到它們時,按 Enter 鍵:

 :wq 

vi 中的 :wq 命令

學習曲線是值得的

使用vi有點像使用鋼琴。 你不能只是坐下來使用它; 你必須進行一些練習。 當你面臨編輯某些東西的壓力時,坐下來冷處理並嘗試在飛行中學習並不是這樣做的方法。 這就像第一次坐在鋼琴前一樣有意義,就像您的就職音樂會拉開帷幕一樣。

廣告

vi的大部分功能來自於它的許多擊鍵組合,每個組合都執行一個常見的編輯任務。 這很好,但是在你記住它們、練習它們並且它們是你肌肉記憶的一部分之前,你無法從它們中受益。

在那之前,如果你發現自己在vi中查看一個重要文件,只需:q! 並優雅地退出。 您的重要文件將感謝您。