vi 編輯器一般被簡稱爲vi, vi 編輯器是Linux和Unix上最基本的文本編輯器,工做在字符模式下。它能夠執行輸出、刪除、查找、替換、塊操做等衆多文本操做,並且用戶能夠根據本身的須要對其進行定製,因爲不須要圖形界面,vi是效率很高的文本編輯器。儘管在Linux上也有不少圖形界面的編輯器可用,但vi在系統和服務器管理中的功能是那些圖形編輯器所沒法比擬的。vim
建立或修改文本文件
維護 Linux系統中的各類配置文件服務器
Vi:類Unix系統中默認的文本編輯器
vim:ⅵ 編輯器的加強版本,習慣上也稱爲vi編輯器
在ⅵ編輯界面中可使用三種不一樣的工做模式,分別爲命令模式、輸入模式和末行模式,在不一樣的模式中可以對文件進行的操做也不相同。ide
● 命令模式:啓動ⅵ編輯器後默認進入命令模式。在該模式中主要完成如光標移動、字符串 查找,以及刪除、複製、粘貼文件內容等相關操做
● 輸入模式:該模式中主要的操做就是錄入文件內容,能夠對文本文件正文進行修改或者添 加新的內容。處於輸入模式時,ⅵ編輯器的最後一行會出現「- INSERT-」的狀態提示息。
● 末行模式:該模式中能夠設置ⅵ編輯環境、保存文件、退岀編輯器,以及對文件內容進行 查找、替換等操做。處於末行模式時,ⅵ編輯器的最後一行會出現冒號「:」提示符。學習
命令模式、輸入模式和末行模式是ⅵ編輯環境的三種狀態,經過不一樣的按鍵操做能夠在不一樣的模式間進行切換。例如,從命令模式按冒號「」鍵能夠進入末行模式,而若是按a、ⅰ、o等鍵能夠進入輸入模式,在輸入模式、末行模式都可按Esc鍵返回至命令模式。code
舒適提示: 在學習ⅵ編輯器的基本操做時,建議複製一個內容較多的系統配置文件進行練習,而不要直接去修改系統文件,以避免發生失誤形成系統故障。例如,如下操做把系統配置文件/ etc/inittab複製爲當前目錄下的 vitest.file文件,而後用ⅵ編輯器打開vitest.file文件進行編輯。
[root(@host~ ]# cp /etc/inittab /vitestfile #作備份
[root@host~ ] # vi vitest fileblog
注意事項:文檔
在ⅵ編輯器的命令模式中,能夠輸入特定的按鍵(稱之爲ⅵ操做命令,注意區別於Linuⅸ系統命令)進行操做。主要包括模式切換、光標移動、複製、刪除、粘貼、文件內容查找及保存和退出等操做,這裏只介紹最基本、最經常使用的按鍵命令。字符串
在命令模式中,使用a、i、o等按鍵能夠快速切換至輸入模式,同時肯定插入點的方式和位置,以便錄入文件內容。須要返回命令模式時,按Esc鍵便可。
常見的幾個模式切換鍵及其做用以下:it
● a:在當前光標位置以後插入內容。
● A:在光標所在行的末尾(行尾)插入內容。
● i:在當前光標位置以前插入內容。
● l:在光標所在行的開頭(行首)插入內容。
● o:在光標所在行的後面插入一個新行。
● O:在光標所在行的前面插入一個新行。
光標方向的移動: 直接使用鍵盤中的四個方向鍵↑、↓、←、→完成相應的光標移動
● 使用 PageDown鍵或CmH+F組合鍵向下翻動一整頁內容
● 使用 PageUp鍵或CtH+B組合鍵向上翻動一整頁內容。
● 其中 PageDown鍵和Pge鍵一樣適用於ⅵi的輸入模式
● 按Home鍵或^鍵、數字0鍵將光標快速跳轉到本行的行首。
● 按End鍵或$鍵將光標快速跳轉到本行的行尾。
● 在上述按鍵操做中, PageDown、 PageUp、Home、End鍵及方向鍵一樣也可在ⅵ的輸 入 模式中使用
● 使用按鍵命令1G或者g可跳轉到文件內容的第1行。
● 使用按鍵命令G可跳轉到文件的最後一行。
● 使用按鍵命令#G可跳轉到文件中的第#行(其中「#」號用具體數字替換)。
爲了便於查看行間跳轉效果,這裏能夠先學習一下如何在ⅵ編輯器中顯示行號。只要切換到末行模式並執行「setm」命令便可顯示行號,執行「 set nonu」命令能夠取消顯示行號。
:set nu
顯示行號後的ⅵ編輯器界面顯示格式以下所示(每行開頭的數字即行號)
1 inittab is no longer used when using systemd
2 #
3 # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM
……//省略部份內容
● 使用x鍵或Del按鍵刪除光標處的單個字符。
● 使用按鍵命令dd刪除當前光標所在行,使用#d的形式還能夠刪除從光標處開始的#行內容 (其 中「#」號用具體數字替換)
● 使用按鍵命令d^刪除當前光標以前到行首的全部字符。
● 使用按鍵命令心d$s刪除當前光標處到行尾的全部字符。
● 使用按鍵命令y複製當前行整行的內容到剪貼板,使用#yy的形式還能夠複製從光標處開始的 #行內容(其中「#」號用具體數字替換)。複製的內容須要粘貼後才能使用。在ⅵ編輯器中,前一次被刪除或複製的內容將會保存到剪切板緩衝器中,按p鍵
便可將緩衝區中的內容粘貼到光標位置處以後,按P鍵則會粘貼到光標位置處以前在命令模式中,按/鍵後能夠輸入指定的字符串,從當前光標處開始向後進行查找
(若是按「?」鍵則向前查找)。完成查找後能夠按n、N鍵在不一樣的查找結果中進行選擇。例如,輸入「/ initdefault」,按 Enter鍵後將查找出文件中的「 f initdefault」字符串並高亮顯示,光標自動移動至第一個查找結果處,按n鍵能夠移動到下一個查找結果。
在對文件內容進行編輯時,有時候會須要對一些失誤的編輯操做進行撤銷,這時可使用按鍵命令u、U鍵。其中,u鍵命令用於取消最近一次的操做,並恢復操做結果,能夠屢次重複按u鍵恢復已進行的多步操做:U鍵命令用於取消對當前行所作的全部編輯。
當須要保存當前的文件內容並退出ⅵ編輯器時,能夠按ZZ命令。
在命令模式中按冒號「:」鍵能夠切換到末行模式,ⅵ編輯器的最後一行中將顯示「:」提示符,用戶能夠在該提示符後輸入特定的末行命令,完成如保存文件、退出編輯器、打開新文件、讀取其餘文件內容及字符串替換等豐富的功能操做。
● 保存文件。對文件內容進行修改並確認之後,須要執行「:w」命令進行保存
:w
若須要另存爲其餘文件,則須要指定新的文件名,必要時還能夠指定文件路徑。
例如,執行「 w/root/newfile」操做將把當前編輯的文件另存到/roo目錄下,文件名爲 newfile
:w/root/newfile
退出編輯器。須要退出ⅵ編輯器時,能夠執行「q」命令。若文件內容已經
修改卻沒有保存,僅使用「:q」命令將沒法成功退出,這時須要使用!」
命令強行退出(不保存即退出)
:q!
● 保存並退出。既要保存文件又要退出ⅵ編輯器可使用一條末行命令「兩」
或「:x」實現,其效果與命令模式中的ZZ命令相同
:wq
或者
:x
● 打開新的文件進行編輯。在當前ⅵ編輯器中,執行「:e新的文件」形式的末行命令能夠編輯(Edit)新文件。例如,執行「:e~ /installlog」操做將直接打開當前用戶宿主目錄中的 install log文件進行編輯
:e~ /install.log
● 在當前文件中讀入其餘文件內容。執行「x其餘文件」形式的末行命令能夠讀入(Read)其餘文件中的內容,並將其複製到當前光標所在位置。例如,執行「r/ etc/filesystems」操做將把系統文件/ etc/filesystems中的內容複製到當前文件中
:r /etc/filesystems
在ⅵ編輯器的末行模式中,可以將文件中特定的字符串替換成新的內容,當須要大批量修改同一內容時,使用替換功能將大大提升編輯效率。使用替換功能時的末行命令格式以下所示:
:[替換範圍]sub/舊的內容/新的內容[/g]
在上述替換格式中,主要關鍵字爲sub( Substitute,替換),也能夠簡寫爲s。替換範圍是可選部分,默認時只對當前行內的內容進行替換,通常能夠表示爲如下兩種形式。
● %:在整個文件內容中進行查找並替換。
● n,m:在指定行數範圍之內的文件內容中進行查找並替換。
● 最末尾的「g」部分也是可選內容,表示對替換範圍內每一行的全部匹配結果都進行替換,省 略「g」時將只替換每行中的第一個匹配結果。
例如,若要將文檔中第5~15行的「initdefault」字符串替換爲「 DEFAULT」,能夠執行如下操做:
:5,15 sub /initdefault/DEFAULT/g
當須要對整個文檔範圍進行査找替換操做時,須要使用「%」符號表示所有。例如,如下操做將把當前文件中全部的「 initdefault'」字符串替換爲「 bootdefault」。
:% sub /initdefault/bootdefault/g
若是要對每一個替換動做提示用戶進行確認,能夠在替換命令末尾加入「c」命令,以下所示:
:%o sub /initdefault/bootdefault/c
● ⅵ、vim是一個全屏幕的文件編輯器, 包括命令模式、輸入模式、末行模式、三種使用狀 態● !vim 命令能夠直接返回上一次編輯處● 使用dd+p鍵能夠實現剪切、粘貼功能● 使用dw可刪除整個單詞● 編輯系統配置文件時,記得先備份!● 建議使用vim編輯器,裏面有顏色區分,通常編輯錯誤會顯示紅色● 要想熟練使用vi文本編輯器,平時多用,多操做才能記住這些命令