在linux下做開發,甚至是只做管理維護工作,也少不了Vim的使用。作為一個新手,我也是剛剛接觸,本節將我日常使用或收集的Vim常用命令記錄下來。
當然,直接在命令行上輸入:vimtutor,就可以學習到Vim的所有命令了。Vim很強大,很多牛人在vim裡集成很多插件什麼的,但這裡只介紹基本vim命令。
移動命令
h "左j "下k "上l "右w "光標移動到下一個單詞的首字符 a word forwardb "光標移動到上一個單詞的首字符e "光標移動到下一個單詞的尾字符ge "光標移動到上一個單詞的尾字符$ "將光標移動到當前行行尾^ "將光標移動到當前行第一個非空白字符0 "將光標移動到當前行第一個字符
注: 這些命令除了'0'命令以外都可以在前面接受一個記數,2$;上面所有命令都可以在前面接受一些操作命令,如d$,dw等。
修改命令
x "刪除一個字符d "其後跟任何一個位移命令,將刪除從當前光標到位移終點處的文本 "內容,如dw,delete word c "與d命令功能類似,不同的在執行完刪除後命令進去Insert模式,change dd "刪除一整行yy "復制一整行p "把剪貼板內容粘帖到當前位置
vimdiff 1.c 2.c "創建一個垂直分割窗口比較這兩個文件不同的地方
搜索命令
f "單字符搜索,fa是在當前行搜索下一個a,find a/string "全文本搜索一個字符串,如要找到單詞"func"則用/func "如果文本有多個func,按下n就會移動到接下來的func位置上
"n前面也可以接受數字計數,如3n,就會找緊接第三個func
?string "與/string的功能相同,唯一的區別就是搜索的方向相反
注:
可以用:set noingorecase 忽略字符大小寫;
/和?命令都有記憶功能,可以用多次鍵選擇搜索歷史,記錄命令最大的歷史條數可以在會話viminfo上更改;
搜索字符.*/?%$^[]等特殊字符要在前面加一個反斜槓轉意;
搜索到孤立的單詞,也就是前後都沒有其他字符的(除了空格,制表符),如只搜the,不想搜到there或whether這樣的,要用/;
可以用:set hlsearch把要搜索的單詞高亮顯示;
定位命令
G "光標移動到文件的最後一行,或者Shift+G15G "光標移動到文件的第15行,或者15gggg "光標移動到文件的第一行 45% "光標移動到文件45%處H "光標移動到當前屏幕的最開始M "光標移動到當前屏幕的中間L "光標移動到當前屏幕的最後
注: CTRL+g查看當前光標位置
滾屏命令
CTRL+U "窗口向上滾半屏CTRL+D "窗口向下滾半屏CTRL+E "向上滾一行,沒太大實際意義CTRL+Y "向下滾一行CTRL+F "向前滾一整屏CTRL+B "向後滾一整屏zz "當前行置於屏幕中央zt "當前行置於屏幕頂端zb "當前行置於屏幕底端
分割窗口
:split "橫著分割:new "橫著添加一個新窗口:vsplit "豎著分割:vnew "豎著添加新窗口CRTL+W w "按順序切換小窗口:qall "關閉所有窗口:wall "保存所有窗口
標簽(tab)命令
:tabedit filename "在正在編輯的vim窗口建一個叫filename的tab頁:tab split "新建一個tab頁gt "移動到下一個tab頁gT "移動到下一個tab頁