- 類型:電子教程大。4.1M語言:英文 評分:5.0
- 標(biāo)簽:
立即下載
第 5 頁 Vim命令行五.命令行內(nèi)容說明
命令行模式:移動光標(biāo)的方法 |
h或向左方向鍵(←) | 光標(biāo)向左移動一個字符 |
j或向下方向鍵(↓) | 光標(biāo)向下移動一個字符 |
k或向上方向鍵(↑) | 光標(biāo)向上移動一個字符 |
l或向右方向鍵(→) | 光標(biāo)向右移動一個字符 |
如果想要進行多次移動的話,例如;向下移動30行,可以使用“30j”或“30↓”的組合鍵,即加上想要進行的次數(shù)(數(shù)字)后,操作即可。 |
[Ctrl]+[f] | 屏幕“向下”移動一頁,相當(dāng)于[Page Down]按鍵 |
[Ctrl]+[b] | 屏幕“向上”移動一頁,相當(dāng)于[Page Up]按鍵 |
[Ctrl]+[d] | 屏幕“向下”移動半頁 |
[Ctrl]+[u] | 屏幕“向上”移動半頁 |
命令行模式:移動光標(biāo)的方法 |
+ | 光標(biāo)移動到非空格符的下一行 |
- | 光標(biāo)移動到非空格符的上一行 |
n<space> | n表示“數(shù)字”,例如20.按下數(shù)字后再按空格鍵,光標(biāo)會向右移動這一行n個字符。例如20<space>則光標(biāo)會向后面移動20個字符距離 |
0 | 這是數(shù)字“0”:移動到這一行的最前面字符處(常用) |
$ | 移動到這一行的最后面字符處(常用) |
H | 光標(biāo)移動到這個屏幕的最上方哪一行 |
M | 光標(biāo)移動到這個屏幕的中央哪一行 |
L | 光標(biāo)移動到這個屏幕的最下方哪一行 |
G | 移動到這個文件的最后一行(常用) |
nG | n為數(shù)字。移動到這個文件的第n行。例如20G則會移動到這個文件的第20行(可配合:set nu) |
gg | 移動到這個文件的第一行,相當(dāng)于1G(常用) |
n<Enter> | n為數(shù)字。光標(biāo)向下移動n行(常用) |
命令行模式:搜索與替換 |
/word | 從光標(biāo)位置開始,向下尋找一個名為word的字符串。例如要在文件內(nèi)搜索vbird這個字符串,就輸入/vbird即可(常用) |
?word | 從光標(biāo)位置開始,向上尋找一個名為word的字符串 |
n | n是英文按鍵。表示“重復(fù)前一個搜索的動作”。舉例來說,如果剛剛執(zhí)行/vbird去向下搜索vbird字符串,則按下n后,會向下繼續(xù)搜索下一個名稱為vbird的字符串。如果是執(zhí)行?vbird的話,那么按下n,則會向上繼續(xù)搜索名稱為vbird的字符串 |
N | 這個N是英文按鍵。與n剛好相反,為“反向”進行前一個搜索操作。例如/vbird后,按下N則表示“向上”搜索vbird |
命令行模式:搜索與替換 |
:n1、n2s/word1/word2/g | n1與n2為數(shù)字。在第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。且在替換前顯示提示符給用戶確認(rèn)(conform)是否需要替換(常用) |
命令行模式:刪除、復(fù)制與粘貼 |
p,P | p為將已復(fù)制的數(shù)據(jù)粘貼到光標(biāo)的下一行,P則為貼在光標(biāo)上一行。舉例來說,當(dāng)前光標(biāo)在第20行,且已經(jīng)復(fù)制了10行數(shù)據(jù)。則按下p后,那10行數(shù)據(jù)會粘在原來的20行之后,即由21行開始貼。但如果是按下P,那么原來的第20行會被變成30行(常用) |
J | 將光標(biāo)所在行與下一列的數(shù)據(jù)結(jié)合成同一行 |
c | 重復(fù)刪除多個數(shù)據(jù),例如向下刪除10行,[10cj] |
u | 復(fù)原前一個操作(常用) |
[Ctrl]+r | 重做上一個操作(常用) |
U與[Ctrl]+r是很常用的命令。一個是復(fù)原,另一個則是重做一次。利用這兩個功能按鍵,編輯起來就得心應(yīng)手。 |
命令行模式:刪除、復(fù)制與粘貼 |
. | 這就是不數(shù)點。意思是重復(fù)前一個動作。如果想重復(fù)刪除、重復(fù)粘貼,按下小數(shù)點“.”就可以(常用) |
插入模式 |
i、I | 插入:在當(dāng)前光標(biāo)所在處插入輸入文字,已存在的文字會向后退;其中,i為“從當(dāng)前光標(biāo)所在處插入”,I為“在當(dāng)前所在行的第一個非空格符處開始插入”(常用) |
a、A | a為“從當(dāng)前光標(biāo)所在的下一個字符處開始插入”,A為“從光標(biāo)所在行的最后一個字符處開始插入”(常用) |
o、O | 這是英文字母o的大小寫。o為“在當(dāng)前光標(biāo)所在的下一行處插入新的一行”,O為“在當(dāng)前光標(biāo)所在處的上一行插入新的一行”(常用) |
r、R | 替換:r會替換光標(biāo)所在的那一個字符;R會一直替換光標(biāo)所在的文字,直到按下Esc鍵為止(常用) |
使用上面這些按鍵時,在vi畫面的左下角處會出現(xiàn)“—INSERT--”或“—REPLACE--”的字樣。通過名稱就知道是什么操作。特別注意,上面也提過了,想在文件中輸入字符時,一定要在左下角處看到INSERT/ REPLACE才能輸入。 |
Esc | 退出插入模式,回到命令行模式中(常用) |
末行命令模式 |
:w | 將編輯的數(shù)據(jù)寫入硬盤文件中(常用) |
:w! | 若文件屬性為“只讀”時,強制寫入該文件。不過,到底能不能寫入,與文件權(quán)限有關(guān) |
:q | 離開vi(常用) |
:q! | 若曾修改過文件,又不想存儲,使用!為強制離開不存儲文件 |
注意一下,那個感嘆號(!)在vi當(dāng)中,常常具有“強制”的意思。 |
:wq | 存儲后離開,若為:wq!則為強制存儲后離開(常用) |
:e! | 將文件還原到最原始的狀態(tài) |
ZZ | 若文件沒有更改,則不存儲離開,若文件已經(jīng)更改,則存儲后離開 |
:w[filename] | 將編輯的數(shù)據(jù)存儲成另一個文件(類似另存新文件) |
:r[filename] | 在編輯的數(shù)據(jù)中,讀入另一個文件的數(shù)據(jù)。即將“filename”這個文件內(nèi)容加到光標(biāo)所在行的后面 |
:n1、n2 w[filename] | 將n1到n2的內(nèi)容存儲成filename文件 |
:!command | 暫時離開vi到命令模式下執(zhí)行command的顯示結(jié)果。例如,“:! ls /home”,即可在vi中查看/home中以ls輸出的文件信息 |
:set nu | 顯示行號,設(shè)置之后,會在每一行的前綴顯示該行的行號 |
:set nonu | 與set nu相反,為取消行號 |
特別注意,在vi中,“數(shù)字”是很有意義的。數(shù)字通常表示重復(fù)做幾次的意思。也有可能表示要去哪里的意思。舉例來說,要刪除50行,則是用“50dd”。數(shù)字加在動作之前。要向下移動20行,使用“20j”或“20↓”即可。
掌握這些命令就很不錯了,因為常用到的命令也可能只有一半。通常vi的命令除了上面筆者注明的常用的幾個外,其他不用背,可以做一張簡單的命令表,當(dāng)有問題時就可以馬上查詢。