筆者閱讀了了《鳥哥的Linux私房菜》的“vim程序編輯器”一章,對vi的常用操作命令做如下記錄,以便查閱。
一.Vi的三中模式
基本上 vi 共分為三種模式,分別是『一般模式』、『編輯模式』不『指令列命令模式』。這三種模式癿作用分別是:
1、一般模式: 以 vi 打開一個檔案就直接迚入一般模式了(這是默認的模式)。在這個模式中,你可以使用『上下左右』按鍵來移的光標,你可以使用『刪除字符』戒『刪除整行』來處理檔案內容,也可以使用『復制、貼上』來處理你癿文件數據。
2、編輯模式: 在一般模式中可以迚行刪除、復制、貼上等等癿劢作,但是卻無法編輯文件內容的! 要等到你按下『i, I,o, O, a, A, r, R』等任何一個字母後才會進入編輯模式。注意了!通常在 Linux 中,按下這些按鍵時,在畫面癿左下方會出現『 INSERT 或 REPLACE 』的字樣,此時才可以迚行編輯。而如果要回到一般模式時,則必須要按下『Esc』這個按鍵即可退出編輯模式。
3、指令列命令模式: 在一般模式當中,輸入『 : / ? 』三個中癿任何一個按鈕,就可以將光標移動到最底下那一行。在這個模式當中,可以提供你『搜尋資料』的動作,而讀取、存盤、大量取代字符、離開 vi 、顯示行號等等的動作則是在此模式中達成的!
簡單的說,我們可以將這三個模式想成底下的圖標來表示:
二、vi的常用操作命令
1、移動光標的方法
h或向左箭頭鍵(←)-------光標向左移動一個字符
j或向下箭頭鍵(↓)--------光標向下移動一個字符
k或向上箭頭鍵(↑)-------光標向上移動一個字符
l或向右箭頭鍵(→)--------光標向右移動一個字符
Ctrl+f---------向文件尾翻一屏,相當於【Page Down】按鍵
Ctrl+b--------向文件首翻一屏,相當於【Page Up】按鍵
G--------------移動到這個檔案的最後一行
gg-------------移動到這個檔案的第一行
nG------------n為數字,表示移動到這個檔案的第n行
n<Enter>----光標向下移動n行
2、搜尋與取代
/word--------向光標之下搜尋一個名稱為word的字符串
?word-------向光標之上搜尋一個名稱為word的字符串
n------------這個 n 是英文按鍵。代表『重復前一個搜尋的動作』。舉例來說, 如果剛剛我們執行 /vbird 去向下搜尋 vbird 這個字符串,則按下 n 後,會向下繼續搜尋下一個名稱為 vbird 的字符串。如果是執行 ?vbird 的話,那麼按下 n 則會向上繼續搜尋名稱為 vbird 的字符串!
:n1,n2s/word1/word2/g------n1 與 n2 為數字。在第 n1 與 n2 行之間尋找 word1 這個字符串,並將該字符串取代為 word2 !舉例來說,在 100 到 200 行之間搜尋 vbird 並取代為 VBIRD 則:『:100,200s/vbird/VBIRD/g』
:1,$s/word1/word2/g ------從第一行到最後一行尋找 word1 字符串,並將該字符串取代為word2 !
:1,$s/word1/word2/gc -----從第一行到最後一行尋找 word1 字符串,並將該字符串取代為word2 !且在取代前顯示提示字符給用戶確認 (confirm) 是否需要取代!
3、刪除、復制與粘貼 www.2cto.com
x, X ------在一行字當中,x 為向後刪除一個字符 (相當亍 [del] 按鍵), X 為向前刪除一個字符(相當亍 [backspace] 亦即是退格鍵)
dd------ 刪除游標所在的那一整列
ndd----- n 為數字。刪除光標所在的向下 n 列,例如 20dd 則是刪除 20 列
yy -----復制游標所在的那一行
nyy----- n 為數字。復制光標所在的向下 n 列,例如 20yy 則是復制 20 列
p, P----- p 為將已復制癿數據在光標下一行貼上,P 則為貼在游標上一行!舉例來說,我目前光標在第 20 行,且已經復制了 10 行數據。則按下 p 後,那 10 行數據會貼在原本的 20 行之後,亦即由 21 行開始貼。但如果是按下 P 呢?那麼原本的第 20 行會被推到變成 30 行。
u------ 復原前一個動作。
[Ctrl]+r -----重做上一個動作。