移動(dòng)
?????????? k (上行)
h (左移)??????????? l (右移)
?????????? j (下行)?????????
0行頭 $行尾 e 單詞結(jié)尾 w單詞開頭 Ctrl+e 窗口內(nèi)容向下移動(dòng) Ctrl+y窗口內(nèi)容向上移動(dòng)
Ctrl-g 顯示當(dāng)前光標(biāo)所在位置和文件狀態(tài)信息。
Shift-G 用于將光標(biāo)跳轉(zhuǎn)至文件最后一行。
LineNumber Shift-G 將光標(biāo)移動(dòng)至該行號(hào)代表的行
字符編輯
i 在當(dāng)前位置開始編輯
a 在當(dāng)前位置之后開始編輯
x 刪除光標(biāo)所在位置的字符
A 在當(dāng)前行末尾開始編輯
dw 從當(dāng)前光標(biāo)刪除至單字/單詞末尾
d$ 從當(dāng)前光標(biāo)刪除至當(dāng)前行末尾
dd 刪除整行
u 撤消以前的操作
U 撤消在一行中所做的改動(dòng)
CTRL-R??? 撤消以前的撤消命令,恢復(fù)以前的操作結(jié)果
p 重新置入已經(jīng)刪除的文本內(nèi)容
r 替換光標(biāo)所在位置的字符
cw 替換當(dāng)前光標(biāo)到單詞的末尾的內(nèi)容
c$ 替換當(dāng)前光標(biāo)到行末的內(nèi)容
小寫的 o 在光標(biāo)下方打開新的一行并將光標(biāo)置于新開的行首,進(jìn)入插入模式
大寫的 O 在光標(biāo)上方打開新的一行并將光標(biāo)置于新開的行首,進(jìn)入插入模式
小寫的 a 在光標(biāo)所在位置之后插入文本
大寫的 A 在光標(biāo)所在行的行末之后插入文本
大寫的 R 進(jìn)入替換模式,直至按 <ESC> 鍵退出替換模式而進(jìn)入正常模式。
%? 將光標(biāo)移動(dòng)到配對(duì)的括號(hào)上
搜索替換
?? 輸入 / 然后緊隨一個(gè)字符串是則是在當(dāng)前所編輯的文檔中向后查找該字符串。
???? 輸入問號(hào) ? 然后緊隨一個(gè)字符串是則是在當(dāng)前所編輯的文檔中向前查找該字
???? 符串。完成一次查找之后按 n 鍵則是重復(fù)上一次的命令,可在同一方向上查
???? 找下一個(gè)字符串所在;或者按 Shift-N 向相反方向查找下該字符串所在。
?? 在一行內(nèi)替換頭一個(gè)字符串 old 為新的字符串 new,請(qǐng)輸入? :s/old/new
???? 在一行內(nèi)替換所有的字符串 old 為新的字符串 new,請(qǐng)輸入? :s/old/new/g
???? 在兩行內(nèi)替換所有的字符串 old 為新的字符串 new,請(qǐng)輸入? :#,#s/old/new/g
???? 在文件內(nèi)替換所有的字符串 old 為新的字符串 new,請(qǐng)輸入? :%s/old/new/g
???? 進(jìn)行全文替換時(shí)詢問用戶確認(rèn)每個(gè)替換需添加 c 選項(xiàng),請(qǐng)輸入 :%s/old/new/gc
命令格式
?? 在正常模式下一個(gè)命令的格式是∶
?????? [number]?? command?? object???? 或者???? command??? [number]?? object
???? 其意是∶
?????? number - 代表的是命令執(zhí)行的次數(shù)
?????? command - 代表要做的事情,比如 d 代表刪除
?????? object - 代表要操作的對(duì)象,比如 w 代表單字/單詞,$ 代表到行末等等。
文件操作
? :w FILENAME? 可將當(dāng)前 VIM 中正在編輯的文件保存到名為 FILENAME 的文
???? 件中。
? :#,#w FILENAME 可將當(dāng)前編輯文件第 # 行至第 # 行的內(nèi)容保存到文件
???? FILENAME 中。
? :r FILENAME 可提取磁盤文件 FILENAME 并將其插入到當(dāng)前文件的光標(biāo)位置
???? 后面。