vi共分三種模式,分別是「一般模式」、「編輯模式」與「命令列命令模式」。
l 一般模式:vi處理檔案時,一進入該檔案就是一般模式。在這個模式中,可以使用「上下左右」鍵來移動游標,可以使用「刪除字元」或「刪除整行」來處理檔案內容,也可以用「複製、貼上」來處理檔案資料。
l 編輯模式:在一般模式中可以進行刪除、複製、貼上等操作,卻無法進行編輯操作,要等到按下「i、i、o、o、a、a、r、r」等字母後才會進入編輯模式。注意,通常在linux中,按下上述字母時,畫面左下方會出現「insert或replace」的字樣,才可以輸入字元到檔案中。回到一般模式時,則按下esc鍵即可退出編輯模式。
l 命令列命令模式:在一般模式中,輸入「:或/或?」就可以將游標移到最下面的一行,在這個模式中,你可以搜尋資料,而且讀取、存檔、大量刪除字元、離開vi、顯示行號等操作都是在此模式中實現。
1、 使用vi進入一般模式
[root@linux]# vi test.txt
直接輸入「vi+檔名」即可進入vi一般模式
2、 按下i進入編輯模式
在編輯模式中畫面左下方會出現「insert」的字樣。
3、按下【esc】鍵回到一般模式
按下【esc】鍵後馬上就會發現畫面左下角的—insert—不見了。
4、 退出vi編輯器
在一般模式中按下「:wq」為儲存後離開vi,按下「:q」為不儲存編輯離開vi。注退出時出現「唯讀」類的提醒時,可以在命令後加上「!」表示「強制」的意思。
常用命令
一、移動游標
1) h 或 向左方向鍵(←) → 游標向左移動乙個字元
2) j 或 向下方向鍵(↓) → 游標向下移動乙個字元
3) k 或 向上方向鍵(↑) → 游標向上移動乙個字元
4) l 或 向右方向鍵(→) → 游標向右移動乙個字元
5) [ctrl] + [f] → 螢幕『向下』移動一頁,相當於 [page down]按鍵
6) [ctrl] + [b] → 螢幕『向上』移動一頁,相當於 [page up] 按鍵
7) n→ n 表示『數字』。按下數字後再按空白鍵,游標會向右移動這一行的 n 個字元
8) 0 → 數字『 0 』:移動到這一行的最前面字元處
9) $ → 移動到這一行的最後面字元處
10) g → 移動到這個檔案的最後一行
11) ng → n 為數字。移動到這個檔案的第 n 行(可配合 :set nu)
12) gg → 移動到這個檔案的第一行,相當於 1g
13) n→ n 為數字。游標向下移動 n 行
二、查詢與替換
1) /word → 向游標之下查詢乙個名稱為 word 的字串。如想查詢 eric4ever 字串,輸入 /eric4ever 即可
2) ?word → 向游標之上查詢乙個名稱為 word 的字串
3) n → 『重複前乙個查詢的動作』
4) n → 與 n 剛好相反,為『反向』進行前乙個查詢動作
5) :n1,n2s/word1/word2/g → n1 與 n2 均為數字。在第 n1 與 n2 行之間查詢 word1 字串,並將該字串替換為 word2。如:在 1 到 9 行之間查詢 eric4ever 並替換為 eric4ever 則:『:1,9s/eric4ever/eric4ever/g』
6) :1,$s/word1/word2/g → 從第一行到最後一行查詢 word1 字串,並將該字串替換為 word2
7) :1,$s/word1/word2/gc → 從第一行到最後一行查詢 word1 字串,並將該字元窗替換為 word2,替換前顯示提示對話方塊是否確認替換
刪除、複製與貼上
1) x, x → 在一行字當中,x 為向後刪除乙個字元 (相當於 [del] 按鍵), x 為向前刪除乙個字元(相當於 [backspace] 按鍵)
2) dd → 刪除游標所在的那一整行
3) ndd → n 為數字。刪除游標所在的向下 n 列
4) yy → 複製游標所在的那一行
5) nyy → n 為數字。複製游標所在的向下 n 列
6) p, p → p 為將已複製的內容貼上在游標下一行上,p 則為貼上在游標的上一行
7) u → 還原前乙個動作
8) [ctrl]+r → 重做上乙個動作
9) . → 小數點,意思是重複前乙個動作
★編輯模式
1) i, i → 插入:在目前的游標所在處插入輸入的文字,已存在的文字會向後退; 其中, i 為『從目前游標所在處插入』, i 為『在目前所在行的第乙個非空白字元處開始插入』
2) a, a → a 為『從目前游標所在的下乙個字元處開始插入』, a 為『從游標所在行的最後乙個字元處開始插入』
3) o, o → o 為『在目前游標所在的下一行處插入新的一行』, o 為『在目前游標所在處的上一行插入新的一行』
4) r, r → r 為『取代游標所在的那乙個字元』, r 為『一直取代游標所在的文字,直到按下 esc 為止』
5) esc → 退出編輯模式,回到一般模式中
★末行指令模式
1) :w → 將編輯的檔案寫入到硬碟上
2) :q → 退出 vi
3) :wq → 儲存後退出,若為 :wq! 則為強制儲存為退出
4) :set nu → 顯示行號
5) :set nonu → 取消顯示行號
vi使用中的技巧
應用技巧一 快速注釋 1 連續行注釋 使用 vim vi 編輯shell 指令碼,在進行除錯的時候,需要進行多行的注釋,每次都要先切換到插入模式,在行首輸入注釋符 再退回命令模式,非常麻煩。其實如果要注釋連續行,可在命令模式下執行,格式如下 起始行 終止行 s 要替換字元 替換為新字元 g 如需注釋...
vi的使用技巧
a a i i o o 設定 取消行號 set nu set nonu 到行尾 到行首 或者0 數字0 方向鍵 h,j,k,l 到第幾10行 10 刪除游標後5個字元 5 x 刪除一行 dd 刪除以後的所有 dg 刪除這一行游標後面的內容 d u 撤銷上一步操作 搜尋abc abc 替換 s全文 5...
VI使用技巧
vi命令可以說是unix linux世界裡最常用的編輯檔案的命令了,但是因為它的命令集眾多,很多人都不習慣使用它,其實您只需要掌握基本命令,然後加以靈活運用,就會發現它的優勢,並會逐漸喜歡使用這種方法。本文旨在介紹vi的一些最常用命令和高階應用技巧。一 基本命令介紹 1 游標命令 k j h l 上...