vi快捷键按键说明
基本上vi分為三種模式:一般命令模式、編輯模式、命令行模式。
以下是常見按鍵說明:
1.一般命令模式按鍵說明
包括光標(biāo)移動、復(fù)制粘貼、查找替換等
1.1移動光標(biāo)
| j或向下箭頭 | 光標(biāo)向下移動一個字符 |
| k或向上箭頭 | 光標(biāo)向上移動一個字符 |
| l或向右箭頭 | 光標(biāo)向右移動一個字符 |
左右箭頭就是方向鍵的上下左右,其實你會發(fā)現(xiàn)h、j、k、l是在鍵盤上排列在一起的,比如說,你要向下移動30行,就可以使用“30j”的組合按鍵,亦即加上想要進(jìn)行的數(shù)字后,按下操作即可。
| [ctrl]+[b] | 屏幕向上移動一頁 |
| [ctrl]+[d] | 屏幕向下移動半頁 |
| [ctrl]+[u] | 屏幕向上移動半頁 |
| + | 光標(biāo)移動到非空格符的下一行 |
| - | 光標(biāo)移動到非空格的上一行 |
| n [space] | n表示數(shù)字 后按下空格鍵 光標(biāo)向后移動n個字符距離 |
| 0(是ling不是o)或功能鍵[home] | 移動到這一行最前面的字符處(常用) |
| $或功能鍵[end] | 移動到這一行最后面字符(常用) |
| H | 光標(biāo)移動到這個屏幕最上方那一行的第一個字符 |
| M | 光標(biāo)移動到這個屏幕最中央那一行的第一個字符 |
| L | 光標(biāo)移動到這個屏幕最下方那一行的第一個字符 |
| G | 光標(biāo)移動到這個文件的最后一行(常用) |
| nG | 移動到這個文件的第n行 |
| gg | 移動到這個文件的第一行,相當(dāng)于1G |
| n[enter] | n為數(shù)字,光標(biāo)向下移動n行 |
1.2查找與替換
| ?word | 光標(biāo)向上尋找一個字稱為word的字符串 |
| n | n為英文按鍵,代表重復(fù)前一個查找的操作。 |
| N | 英文按鍵,為反向進(jìn)行前一個查找動作 |
| :n1,n2s/word/word2/g | n1,n2為數(shù)字,即在n1,n2行之間尋找word1這個字符串,并替換成/word2 |
| ?1,$s/word1/word2/g | 從1行到最后一行尋找word1字符串并替換為word2(常用) |
| :1,$s/word1/word2/gc | 同上,不過在替換前顯示提示字符給用戶確認(rèn)是否需要替換(常用) |
1.3 刪除、復(fù)制與粘貼
| nx | n為數(shù)字,連續(xù)向后刪除n個字符 |
| dd | 刪除(剪切)光標(biāo)所在的一整行(常用) |
| ndd | n位數(shù)字,刪除(剪切)光標(biāo)所在的向下n行(常用) |
| d1G | 刪除(剪切)光標(biāo)所在到第一行的全部數(shù)據(jù) |
| dG | 刪除(剪切)光標(biāo)所在到最后一行的全部數(shù)據(jù) |
| d$ | 刪除(剪切)光標(biāo)所在處,到該行的最后一個字符 |
| d0 | 刪除(剪切)光標(biāo)所在處,到該行的最前面一個字符 |
| yy | 復(fù)制光標(biāo)所在的那一行(常用) |
| nyy | 復(fù)制光標(biāo)所在的向下n行 (常用) |
| y1G | 復(fù)制光標(biāo)所在行到第一行的全部數(shù)據(jù) |
| yG | 復(fù)制光標(biāo)所在行到最后一行的全部數(shù)據(jù) |
| y0 | 復(fù)制光標(biāo)所在字符到該行行首的所有數(shù)據(jù) |
| y$ | 復(fù)制光標(biāo)所在字符到該行行尾的所有數(shù)據(jù) |
| p與P | P為將已復(fù)制的數(shù)據(jù)在光標(biāo)下一行粘貼,P是在上一行 (常用) |
| J | 將光標(biāo)所在行與下一行的數(shù)據(jù)結(jié)合成同一行 |
| c | 重復(fù)刪除多個數(shù)據(jù),例如向下刪除10行:10cj |
| u | 恢復(fù)前一個操作(常用) |
| [ctrl]+r | 重做上一個操作(常用) |
| . | 這個就是小數(shù)點,重復(fù)前個操作(常用) |
u配合[ctrl]+r是很常用的命令,一個是恢復(fù),另一個則是重做一次,鳥哥說利用這兩個功能按鍵,你的編輯,emmm,會很快樂。可以試試,快樂預(yù)定中。(我已經(jīng)快樂瘋了,我能玩一天)
2.一般命令模式切換到編輯模式按鍵說明
進(jìn)入插入【insert】或替換【replace】的編輯模式,以下都很常用:
| a與A | 進(jìn)入插入模式 a:目前光標(biāo)所在的下一個字符插入A:所在行最后一個字符插入 |
| o與O | 進(jìn)入插入模式 o:光標(biāo)下一行插入新的一行O:光標(biāo)上一行插入新的一行 |
| r與R | 進(jìn)入替換模式r:只替換光標(biāo)所在的字符一次R:一直替換 知道[esc] |
| [esc] | 退出編輯模式 |
3.一般命令模式切換到命令行模式按鍵說明
此中"!"一般表示強制的意思
| :w! | 若文件只讀時,強制寫入文件,不過不一定成功,還得看你對文件的權(quán)限 |
| :q | 退出vi(常用) |
| :q! | 若修改過文件,又不想保存時的提褲子行為,意思是強制退出不保存 |
| :wq | 保存后退出,若為:wq!則為強制保存后退出 |
| ZZ | 若文件沒有修改,則退出,修改則保存后退出 |
| :w[filename] | 在將編輯的數(shù)據(jù)保存成另一個文件 |
| :r[filename] | 在編輯的數(shù)據(jù)中,讀入另一個文件的數(shù)據(jù),即將文件內(nèi)容插入到所在行后面 |
| :n1,n2 w[filename] | 將n1到n2行的內(nèi)容保存為filename這個文件 |
| :!command | 暫時退出vi到命令行模式下執(zhí)行command的顯示結(jié)果 |
| :set nu | 顯示行號,設(shè)置之后,會在每一行的前綴顯示該行的行號 |
| :set nonu | 與set nu相反,為取消行號 |
舉個栗子::! ls /home 即可在vi當(dāng)中查看home下面ls輸出的內(nèi)容
總結(jié)
- 上一篇: 上单中单打野adc辅助是什么意思 汉典上
- 下一篇: 游戏bp是什么意思 4399小游戏