Vim對(duì)于linux下的開發(fā),甚至對(duì)于管理和維護(hù)都是必不可少的。作為一個(gè)新手,我對(duì)它是陌生的。本節(jié)記錄了我每天使用或收集的Vim的常用命令。
當(dāng)然,你可以直接在命令行輸入:vimtutor來(lái)學(xué)習(xí)Vim的所有命令。vim很強(qiáng)大,很多偉人在Vim中集成了很多插件等等,這里只介紹基本的Vim命令。
移動(dòng)命令
H' Left J' Down K' Up L' Right W '光標(biāo)移動(dòng)到下一個(gè)單詞的第一個(gè)字符向前一個(gè)單詞b '光標(biāo)移動(dòng)到上一個(gè)單詞的第一個(gè)字符E '光標(biāo)移動(dòng)到上一個(gè)單詞的最后一個(gè)字符ge '光標(biāo)移動(dòng)到上一個(gè)單詞的最后一個(gè)字符$ '光標(biāo)移動(dòng)到當(dāng)前行的末尾'光標(biāo)移動(dòng)到當(dāng)前行的第一個(gè)非空白字符0 '光標(biāo)移動(dòng)到當(dāng)前行的第一個(gè)字符
注意:除了“0”命令之外,所有這些命令都可以接受計(jì)數(shù)2 $;以上所有命令前面都可以加一些操作命令,比如d$,dw等。
命令修改
x '刪除一個(gè)字符D '后面跟任何一個(gè)位移命令都會(huì)刪除文本'從當(dāng)前光標(biāo)到位移終點(diǎn)的內(nèi)容,比如dw,刪除單詞c ',和D命令類似,只不過(guò)執(zhí)行完刪除后,命令進(jìn)入插入模式,更改dd '刪除一整行yy '復(fù)制一整行P '將剪貼板內(nèi)容粘貼到當(dāng)前位置。
“Vim1.c2.c”創(chuàng)建一個(gè)垂直分割窗口來(lái)比較兩個(gè)文件之間的差異。
搜索命令
Fa '單字符搜索,fa是搜索當(dāng)前行的下一個(gè)A,A,find a/string '是搜索一個(gè)字符串。如果要查找單詞' func ',請(qǐng)使用/func。如果文本有多個(gè)功能,按N鍵移動(dòng)到下一個(gè)功能位置。
也可以在' n前面接受數(shù)值計(jì)數(shù),比如3n,你會(huì)發(fā)現(xiàn)旁邊第三個(gè)func。
?' String '的作用和/string一樣,唯一的區(qū)別是搜索方向相反。
注意:
可以使用:set noingorecase忽略字符的大小寫;
/然后呢?所有命令都有記憶功能,你可以多次使用向上鍵來(lái)選擇搜索歷史??梢栽跁?huì)話viminfo上更改記錄命令的最大數(shù)量;
搜索字符。*/?特殊字符如% $ []應(yīng)該以反斜杠開頭。
搜索孤立詞,即前后沒(méi)有是否字符(空格和制表符除外)的詞。如果你只搜索the,但不想找到那里或什么時(shí)候,你應(yīng)該用/\ the \;
可以使用:設(shè)置hlsearch突出顯示要搜索的單詞;
定位命令
g '光標(biāo)移動(dòng)到文件的最后一行,或Shift G15G '光標(biāo)移動(dòng)到文件的第15行,或15gggg '光標(biāo)移動(dòng)到文件的第一行45% '光標(biāo)移動(dòng)到文件的45% H '光標(biāo)移動(dòng)到當(dāng)前屏幕的開頭M '光標(biāo)移動(dòng)到當(dāng)前屏幕的中間L '光標(biāo)移動(dòng)到當(dāng)前屏幕的結(jié)尾。
注意:按CTRL+g可以查看當(dāng)前光標(biāo)位置
滾動(dòng)命令
u '窗口向上滾動(dòng)半屏CTRL D '窗口向下滾動(dòng)半屏CTRL E '向上滾動(dòng)一行,沒(méi)有太大意義。CTRL Y '向下滾動(dòng)一行CTRL F '向前滾動(dòng)一個(gè)全屏CTRL B '向后滾動(dòng)一個(gè)全屏zz '當(dāng)前行位于屏幕中央zt '當(dāng)前行位于屏幕頂部zb '當(dāng)前行位于屏幕底部
分割窗口
:split '水平拆分:new '水平添加新窗口:vsplit '垂直拆分:vnew '垂直添加新窗口CRTL W w '按順序切換小窗口:qall '關(guān)閉所有窗口:wall '保存所有窗口
制表符命令
:tabedit filename '在正在編輯的vim窗口中創(chuàng)建一個(gè)名為filename的選項(xiàng)卡頁(yè):tab split '創(chuàng)建一個(gè)新的選項(xiàng)卡頁(yè)gt '移動(dòng)到下一個(gè)選項(xiàng)卡頁(yè)gT '移動(dòng)到下一個(gè)選項(xiàng)卡頁(yè)