vi 編輯器是一個功能強大的編輯器。學習 vi 要從其基本工作模式開始學起。瞭解這些工作模式對用戶理解 vi 編輯器的行爲是不無裨益的。
對於一些從圖形界面中轉入 vi 的開發者來說,瞭解 vi 的工作模式十分重要。本節將深入討論 vi 編輯器的工作模式。
vi 編輯器有 3 種基本工作模式,分別是命令模式、文本輸入模式和末行模式。下面詳 細介紹這 3 種模式。
1) 命令行模式
該模式是進入 vi 編輯器後的默認模式。任何時候,不管用戶處於何種模式,按下Esc
鍵即可進入命令模式。
在命令模式下,用戶可以輸入 vi 命令,用於管理自己的文檔。此時從鍵盤上輸入的任何字符都被當做編輯命令來解釋。若輸入的字符是合法的 vi 命令,則 vi 在接受用戶命令之後完成相應的動作。
但需注意的是,所輸入的命令並不回顯在屏幕上。若輸入的字符不是 vi 的合法命令,vi 會響鈴報警。
2) 文本輸入模式
在命令模式下輸入插入命令i
、附加命令a
、打開命令o
、修改命令c
、取代命令r
或替換命令s
都可以進入文本輸入模式。
在該模式下,用戶輸入的任何字符都被 vi 當做文件內容保存起來,並將其顯示在屏幕上。在文本輸入過程中,若想回到命令模式下,按下Esc
鍵即可。
3) 末行模式
末行模式也稱 ex 轉義模式。
在命令模式下,用戶按:
鍵即可進入末行模式下,此時 vi 會在顯示窗口的最後一行(通常也是屏幕的最後一行)顯示一個:
作爲末行模式的說明符,等待用戶輸入命令。多數文件管理命令都是在此模式下執行的(如把編輯緩衝區的內容寫到文件中等)。
末行命令執行完後,vi 自動回到命令模式。
vi 工作模式之間的切換
如果要從命令模式轉換到編輯模式,可以輸入命令a
或者i
。
如果需要從文本模式返回,則按下Esc
鍵即可。
在命令模式下輸入:
即可切換到末行模式,然後輸入命令。
vi 編輯器的 3 種模式的轉換如下圖所示。
圖:vi 三種工作模式的切換