一、移動(dòng)光標(biāo)
1、左移h、右移l、下移j、上移k
2、向下翻頁ctrl + f,向上翻頁ctrl + b
3、向下翻半頁ctrl + d,向上翻半頁ctrl + u
4、移動(dòng)到行尾$,移動(dòng)到行首0(數(shù)字),移動(dòng)到行首第一個(gè)字符處^
5、移動(dòng)光標(biāo)到下一個(gè)句子 ),移動(dòng)光標(biāo)到上一個(gè)句子(
6、移動(dòng)到段首{,移動(dòng)到段尾}
7、移動(dòng)到下一個(gè)詞w,移動(dòng)到上一個(gè)詞b
8、移動(dòng)到文檔開始gg,移動(dòng)到文檔結(jié)束G
9、移動(dòng)到匹配的{}.().[]處%
10、跳到第n行 ngg 或 nG 或 :n
11、移動(dòng)光標(biāo)到屏幕頂端H,移動(dòng)到屏幕中間M,移動(dòng)到底部L
12、讀取當(dāng)前字符,并移動(dòng)到本屏幕內(nèi)下一次出現(xiàn)的地方 *
13、讀取當(dāng)前字符,并移動(dòng)到本屏幕內(nèi)上一次出現(xiàn)的地方 #
二、查找替換
1、光標(biāo)向后查找關(guān)鍵字 #或者g#
2、光標(biāo)向前查找關(guān)鍵字 *或者g*
3、當(dāng)前行查找字符 fx, Fx, tx, Tx
4、基本替換 :s/s1/s2 (將下一個(gè)s1替換為s2)
5、全部替換 :%s/s1/s2
6、只替換當(dāng)前行 :s/s1/s2/g
7、替換某些行 :n1,n2 s/s1/s2/g
8、搜索模式為 /string,搜索下一處為n,搜索上一處為N
9、制定書簽 mx, 但是看不到書簽標(biāo)記,而且只能用小寫字母
10、移動(dòng)到某標(biāo)簽處 `x,1旁邊的鍵
11、移動(dòng)到上次編輯文件的位置 `.
PS:.代表一個(gè)任意字符 *代表一個(gè)或多個(gè)字符的重復(fù)
正則表達(dá)式的內(nèi)容將會(huì)在后續(xù)文章中整理
三、編輯操作
1、光標(biāo)后插入a, 行尾插入A
2、后插一行插入o,前插一行插入O
3、刪除字符插入s, 刪除正行插入S
4、光標(biāo)前插入i,行首插入I
5、刪除一行dd,刪除后進(jìn)入插入模式cc或者S
6、刪除一個(gè)單詞dw,刪除一個(gè)單詞進(jìn)入插入模式cw
7、刪除一個(gè)字符x或者dl,刪除一個(gè)字符進(jìn)入插入模式s或者cl
8、粘貼p,交換兩個(gè)字符xp,交換兩行ddp
9、復(fù)制y,復(fù)制一行yy
10、撤銷u,重做ctrl + r,重復(fù).
11、智能提示 ctrl + n 或者 ctrl + p
12、刪除motion跨過的字符,刪除并進(jìn)入插入模式 c{motion}
13、刪除到下一個(gè)字符跨過的字符,刪除并進(jìn)入插入模式,不包括x字符 ctx
14、刪除當(dāng)前字符到下一個(gè)字符處的所有字符,并進(jìn)入插入模式,包括x字符,cfx
15、刪除motion跨過的字符,刪除但不進(jìn)入插入模式 d{motion}
16、刪除motion跨過的字符,刪除但不進(jìn)入插入模式,不包括x字符 dtx
17、刪除當(dāng)前字符到下一個(gè)字符處的所有字符,包括x字符 dfx
18、如果只是復(fù)制的情況時(shí),將12-17條中的c或d改為y
19、刪除到行尾可以使用D或C
20、拷貝當(dāng)前行 yy或者Y
21、刪除當(dāng)前字符 x
22、粘貼 p
23、可以使用多重剪切板,查看狀態(tài)使用:reg,使用剪切板使用”,例如復(fù)制到w寄存器,”wyy,或者使用可視模式v”wy
24、重復(fù)執(zhí)行上一個(gè)作用使用.
25、使用數(shù)字可以跨過n個(gè)區(qū)域,如y3x,會(huì)拷貝光標(biāo)到第三個(gè)x之間的區(qū)域,3j向下移動(dòng)3行
26、在編寫代碼的時(shí)候可以使用]p粘貼,這樣可以自動(dòng)進(jìn)行代碼縮進(jìn)
27、 >> 縮進(jìn)所有選擇的代碼
28、 << 反縮進(jìn)所有選擇的代碼
29、gd 移動(dòng)到光標(biāo)所處的函數(shù)或變量的定義處
30、K 在man里搜索光標(biāo)所在的詞
31、合并兩行 J
32、若不想保存文件,而重新打開 :e!
33、若想打開新文件 :e filename,然后使用ctrl + ^進(jìn)行文件切換
四、窗口操作
1、分隔一個(gè)窗口:split或者:vsplit
2、創(chuàng)建一個(gè)窗口:new或者:vnew
3、在新窗口打開文件:sf {filename}
4、關(guān)閉當(dāng)前窗口:close
5、僅保留當(dāng)前窗口:only
6、到左邊窗口 ctrl + w, h
7、到右邊窗口 ctrl + w, l
8、到上邊窗口 ctrl + w, k
9、到下邊窗口 ctrl + w, j
10、到頂部窗口 ctrl + w, t
11、到底部窗口 ctrl + w, b
五、宏操作
1、開始記錄宏操作q[a-z],按q結(jié)束,保存操作到寄存器[a-z]中
2、@[a-z]執(zhí)行寄存器[a-z]中的操作
3、@@執(zhí)行最近一次記錄的宏操作
六、可視操作
1、進(jìn)入塊可視模式 ctrl + v
2、進(jìn)入字符可視模式 v
3、進(jìn)入行可視模式 V
4、刪除選定的塊 d
5、刪除選定的塊然后進(jìn)入插入模式 c
6、在選中的塊同是插入相同的字符 I<String>ESC
七、跳到聲明
1、[[ 向前跳到頂格第一個(gè){
2、[] 向前跳到頂格第一個(gè)}
3、]] 向后跳到頂格的第一個(gè){
4、]] 向后跳到頂格的第一個(gè)}
5、[{ 跳到本代碼塊的開頭
6、]} 跳到本代碼塊的結(jié)尾
八、掛起操作
1、掛起Vim ctrl + z 或者 :suspend
2、查看任務(wù) 在shell中輸入 jobs
3、恢復(fù)任務(wù) fg [job number](將后臺(tái)程序放到前臺(tái))或者 bg [job number](將前臺(tái)程序放到后臺(tái))
4、執(zhí)行shell命令 :!command
5、開啟shell命令 :shell,退出該shell exit
6、保存vim狀態(tài) :mksession name.vim
7、恢復(fù)vim狀態(tài) :source name.vim
8、啟動(dòng)vim時(shí)恢復(fù)狀態(tài) vim -S name.vim

|