一凤类、移動
左-下-上-右:h-j-k-l
移動到當(dāng)間單詞的開始:b(begin)
移動到當(dāng)前單詞的結(jié)束:e(end)
移動到下一個單詞的開始:w
到行尾:$
到行首:0
到代碼首(有縮進):^
到某行:nG
到文件開始:gg
到文件結(jié)尾:G
向下偏移n行:n+
向上偏移n行:n-
屏首: H
屏尾:L
屏中:M
向上滾動一屏: C-b
向下滾動一屏: C-f
二木蹬、刪除
刪除當(dāng)前字符:x
刪除前一個字符:X
刪除一個單詞/光標(biāo)之后的單詞剩余部分:dw
刪除當(dāng)前一個單詞:daw(delete a word)
刪除以當(dāng)前字符開始的n個字: ndw
刪除光標(biāo)之后的該行部分:d$ 或 D (內(nèi)容清除第献,但行不刪除)
刪除當(dāng)前行,并馬上進入insert狀態(tài):cc
刪至行首: d0
刪除一行: dd
刪除2行: d回車
刪除以當(dāng)前行開始的n行: ndd
刪除到文件結(jié)尾:dG
刪除到文件開頭:dgg
三往弓、修改
上插一行:O
下插一行:o
前插入:i
后插入:a
復(fù)制當(dāng)前行: yy (dd代表復(fù)制并刪除)
使用“命名寄存器”進行的復(fù)制: "ayy (命名了一個a寄存器)
復(fù)制n行:nyy (ndd代表復(fù)制并刪除)
粘貼: p(向下行插入并粘貼)态兴,P(向上行插入并粘貼)
使用“命名寄存器”進行的粘貼:”ap (使用了a寄存器進行粘貼)
把下面一行合并到本行后面: J
四、恢復(fù)及重復(fù):
. 重復(fù)上一次操作
u 恢復(fù)上一次的操作
五区转、進入和退出Vi命令及工作區(qū)參數(shù)設(shè)定
vi filename 打開或新建文件苔巨,并將光標(biāo)置于第一行首
vi +n filename 打開文件,并將光標(biāo)置于第n行首
vi + filename 打開文件废离,并將光標(biāo)置于最后一行首
vi +/pattern filename 打開文件侄泽,并將光標(biāo)置于第一個與pattern匹配的串處
vi -r filename 在上次正用vi編輯時發(fā)生系統(tǒng)崩潰,恢復(fù)filename
vi filename ... filename 打開多個文件厅缺,依次進行編輯
ZZ 退出vi并保存
:q! 退出vi蔬顾,不保存
:wq 退出vi并保存
set nu #行號
set tabstop=4 #一個tab為4個空格長度
set ai #設(shè)置自動縮進
syntax on #高亮
六、Vi中查找及替換命令
查找:
/pattern 從光標(biāo)開始處向文件尾搜索pattern
?pattern 從光標(biāo)開始處向文件首搜索pattern
n 在同一方向重復(fù)上一次搜索命令
N 在反方向上重復(fù)上一次搜索命令
查找并替換:
:s/p1/p2/g 將當(dāng)前行中所有p1均用p2替代湘捎,若要每個替換都向用戶詢問則應(yīng)該用gc選項
:n,ms/p1/p2/g 將第m至n行中所有p1替換成p2
:.,+2s/p1/p2/g 將當(dāng)前行及后兩行中所有p1替換成p2
:%s/p1/p2/g 將文件中所有p1均用p2替換(%s表示所有的行)
七诀豁、多窗口操作:
打開及新建文件::e 文件名
執(zhí)行shell命令::! command
窗口水平分割 :split,
垂直分割::vsplit窥妇,
循環(huán)移動焦點:ctrl+ww舷胜,
上下左右移動焦點:ctrl+w+[hjkl]