本章將詳細介紹linux vi命令。文字編輯器是所有電腦系統中最常使用的一種工具。使用者在使用電腦的時候,往往需要建立自己的檔案,無論是一般的文字檔、資料檔案,還是編寫的來源程式檔案,這些工作都離不開linux vi命令。
Linux系統提供了一個完整的編輯器家族系列,如Ed、Ex、Vi和Emacs等,按功能它們可以分為兩大類:行編輯器Ed、Ex)和全螢幕編輯器Vi、Emacs)。行編輯器每次只能對一行進行操作,使用起來很不方便。而全螢幕編輯器可以對整個螢幕進行編輯,使用者編輯的檔案直接顯示在螢幕上,修改的結果可以立即看出來,克服了行編輯的那種不直觀的操作方式,便於使用者學習和使用,具有強大的功能。
linux vi命令是Linux系統的第一個全螢幕互動式編輯程式,它從誕生至今一直得到廣大使用者的青睞,曆經數十年仍然是人們主要使用的文本編輯工具,足見其生命力之強,而強大的生命力是其強大的功能帶來的。
本章中,我們將循序漸進地介紹如何使用linux vi命令來建立、編輯、顯示以及處理檔案。註:文中的大寫字母為[shift]鍵+相應的小寫字母的組合)
linux vi命令簡介
linux vi命令是“Visual interface”的簡稱,它在Linux上的地位就彷彿Edit程式在DOS上一樣。它可以執行輸出、刪除、尋找、替換、塊操作等眾多文本操作,而且使用者可以根據自己的需要對其進行定製,這是其他編輯程式所沒有的。
linux vi命令不是一個排版程式,它不象Word或WPS那樣可以對字型、格式、段落等其他屬性進行編排,它只是一個文本編輯程式。
linux vi命令沒有菜單,只有命令,且命令繁多。Vi有三種基本工作模式:命令列模式、文本輸入模式和末行模式。
命令列模式
任何時候,不管使用者處於何種模式,只要按一下鍵,即可使linux vi命令列模式;我們在shell環境提示符為$)下輸入啟動linux vi命令,進入編輯器時,也是處於該模式下。
在該模式下,使用者可以輸入各種合法的linux vi命令,用於管理自己的文檔。此時從鍵盤上輸入的任何字元都被當做編輯命令來解釋,若輸入的字元是合法的linux vi命令,則linux vi命令在接受使用者命令之後完成相應的動作。但需注意的是,所輸入的命令並不在螢幕上顯示出來。若輸入的字元不是Vi的合法命令,Vi會響鈴警示。
文本輸入模式
在命令模式下輸入插入命令i、附加命令a 、開啟命令o、修改命令c、取代命令r或替換命令s都可以進入文本輸入模式。在該模式下,使用者輸入的任何字元都被Vi當做檔案內容儲存起來,並將其顯示在螢幕上。在文本輸入過程中,若想回到命令模式下,按鍵即可。
末行模式
末行模式也稱ex轉義模式。
linux vi命令和Ex編輯器的功能是相同的,二者主要區別是使用者介面。在Vi中,命令通常是單個鍵,例如i、a、o等;而在Ex中,命令是以按斷行符號鍵結束的本文行。linux vi命令有一個專門的“轉義”命令,可訪問很多面向行的Ex命令。在命令模式下,使用者按“:”鍵即可進入末行模式下,此時linux vi命令會在顯示視窗的最後一行通常也是螢幕的最後一行)顯示一個“:”作為末行模式的提示符,等待使用者輸入命令。多數檔案管理命令都是在此模式下執行的如把編輯緩衝區的內容寫到檔案中等)。末行命令執行完後,linux vi命令自動回到命令模式。例如:
:1,$s / A / a / g
則從檔案第一行至檔案尾將大寫A全部替換成小寫a。
若在末行模式下輸入命令過程中改變了主意,可按鍵,或用退格鍵將輸入的命令全部刪除之後,再按一下退格鍵,即可使linux vi命令回到命令模式下。
如果要從命令模式轉換到編輯模式,可以鍵入命令a或者i;如果需要從文字模式返回,則按Esc鍵即可。在命令模式下輸入“:”即可切換到末行模式,然後輸入命令。