Ctrl+f 即 PageDown 翻頁(Forward,向前、下翻頁)。
Crtl+b 即 PageUp 翻頁(Backward,向後、上翻頁)。
0 是數(shù)目字 0 而不是英文字母 o。移至行首,(含空白字元)。
W 移動一個(gè)符,但會忽略一些標(biāo)點(diǎn)符號。
e 移至後一個(gè)字字尾。
E 同上,但會忽略一些標(biāo)點(diǎn)符號。
b 移至前一個(gè)字字首。
B 同上,但會忽略一些標(biāo)點(diǎn)符號。
H 移至螢?zāi)豁數(shù)谝粋€(gè)非空白字元。
M 移至螢?zāi)恢虚g第一個(gè)非空白字元。
L 移至螢?zāi)坏椎谝粋€(gè)非空白字元。
) 移至下一個(gè)句子(sentence)首。
( 移至上一個(gè)句子(sentence)首。sentence(句子)是以 . ! ? 為區(qū)格。
} 移至下一個(gè)段落(paragraph)首。
{ 移至上一個(gè)段落(paragraph)首。paragraph(段落)是以空白行為區(qū)格。
R進(jìn)入替換模式
I 在行首開始輸入文字。此之行首指第一個(gè)非空白字元處,要從真正的第一個(gè)字元處開始輸人文字,可使用 0i 或 gI(Vim 才有)。
A 在行尾開始輸入文字。這個(gè)好用,您不必管游標(biāo)在此行的什麼地方,只要按 A 就會在行尾等著您輸入文字。
O 在游標(biāo)所在行上開一新行來輸入文字。
J 將下一行整行接至本行(Joint)。
dG 刪至檔尾。
d1G 刪至檔首。或 dgg(只能用於 Vim)。
D 刪至行尾,或 d$(含游標(biāo)所在處字元)。
d0 刪至行首,或 d^(不含游標(biāo)所在處字元)。請回憶一下 $ 及 ^ 所代表的意義,您就可以理解 d$ 及 d^ 的動作,這就是 vi(m) 可愛之處。
5J 將五行合併成一行。
5i A 然後按 Ecs,插入五個(gè) A。中文也可以!
2i sys Esc 插入 syssys。中文也可以!
:ce(nter) 本行文字置中。注意是冒號命令!
:ri(ght) 本行文字靠右。
:le(ft) 本行文字靠左。所謂置中、靠左右,是參考 textwidth(tw) 的設(shè)定。如果 tw 沒有設(shè)定,預(yù)設(shè)是80,就是以 80 個(gè)字元為總寬度為標(biāo)準(zhǔn)來置放。當(dāng)然您也可以如 sw 一樣馬上重設(shè)。
gqap 整段重排,或 gqip,在段落中位何地方都可以使用。和中文的配合見下述。
gqq 本行重排。
gqG 全文重排,是以游標(biāo)所在處的段落開始重排至檔尾。以空白行為段落的間隔。
» 整行向右移一個(gè) shiftwidth(預(yù)設(shè)是 8 個(gè)字元,可重設(shè))。這個(gè)好啊,寫代碼時(shí)縮進(jìn)就方便了。
« 整行向左移一個(gè) shiftwidth(預(yù)設(shè)是 8 個(gè)字元,可重設(shè))。
:[range]s/pattern/string/[c,e,g,i]5.1
range 指的是範(fàn)圍,1,7 指從第一行至第七行,1,$ 指從第一行至最後一行,也就是整篇文章,也可以 % 代表。還記得嗎? % 是目前編輯的文章,# 是前一次編輯的文章。
pattern 就是要被替換掉的字串,可以用 regexp 來表示。
string 將 pattern 由 string 所取代。
c confirm,每次替換前會詢問。
e 不顯示 error。
g globe,不詢問,整行替換。
i ignore 不分大小寫。
mx x 代表 26 個(gè)小寫英文字母,這樣游標(biāo)所在處就會被 mark。
`x 回到書籤原設(shè)定位置。` 是 backward quote,就是 Tab 鍵上面那一個(gè)。
‘x 回到書籤設(shè)定行行首。’ 是 forward quote,是 Enter 鍵隔壁那一個(gè)。
# 或 Ctrl+^ 編輯前一個(gè)檔案,用於兩檔互相編輯時(shí)相當(dāng)好用。這種用法不管是 argument list 或 buffer list 檔案間皆可使用。還記得嗎?# 代表的是前一次編輯的檔案。
:f 或 Ctrl+g 顯示目前編輯的檔名、是否經(jīng)過修改及目前游標(biāo)所在之位置。
:f 檔名 改變編輯中的檔名。(file)
:r 檔名 在游標(biāo)所在處插入一個(gè)檔案內(nèi)容。(read)
vim -x [檔名] 加密編輯一個(gè)文件,每次編輯時(shí)要求輸入密碼,否則為亂碼。也可以在編輯時(shí)使用:X命令來設(shè)置密碼,不過要注意,設(shè)置以后需要保存并退出。
Ctrl+w n 即 :new。開一空的新視窗。
Ctrl+w s 即 :sp(lit),會開一新視窗,且原檔分屬兩個(gè)視窗。
Ctrl+w f 開一新視窗,並編輯游標(biāo)所在處之 word 為檔名的檔案。
Ctrl+w q 即 :q 結(jié)束分割出來的視窗。
Ctrl+w o 即 :only! 使游標(biāo)所在之視窗,成為目前唯一顯示的視窗其它視窗會隱藏起來。
Ctrl+w j 移至下視窗。
Ctrl+w k 移至上視窗。還記得 hjkl 的按鍵移動方式嗎?
:sh(ell) 執(zhí)行 shell。使用 exit 回到 vim。
:r !commond 這個(gè)就妙了!會在游標(biāo)所在處次一行插入外部指令 commond 執(zhí)行後的輸出內(nèi)容。例如 :r !date 就會插入日期時(shí)間。這在 elvis 是會插入在游標(biāo)所在處那一行。
:n,mw !commond 以 n 至 m 行內(nèi)之資料,當(dāng)做外部指令 commond 的 input。這算是相當(dāng)高級的用法了,初學(xué)者大概還用不上,不過印象中留有一個(gè)這樣的功能,以後總是會用得上的。
:ab sammail sam_helen@vip.163.com
執(zhí)行之后,在輸入模式任何地方錄入“sammail”,再敲任意字母符號或者回車空格,咔嚓一下,利馬就變成“sam_helen@vip.163.com”,那真是相當(dāng)?shù)姆奖惆。?
助力編程的查詢功能
以前在Linux系統(tǒng)下寫一些C語言程序,有時(shí)記性不好,忘記了語法格式,使用Vim/Vi編寫時(shí)可直接查詢。如寫程序?qū)懙絝ork時(shí),突然失憶了(失 去了對這個(gè)東東的記憶),就可以直接把光標(biāo)移動到fork上,按“K”(大寫的K),直接就會跳到Linux程序員手冊,看到fork的幫助,看完后回車 繼續(xù)編寫。