在linux下做開發,甚至是只做管理維護工作,也少不了Vim的使用。作為一個新手,我也是剛剛接觸,本節將我日常使用或收集的Vim常用命令記錄下來。
當然,直接在命令行上輸入:vimtutor,就可以學習到Vim的所有命令了。Vim很強大,很多牛人在vim裡集成很多插件什麼的,但這裡只介紹基本vim命令。
移動命令
h "左
j "下
k "上
l "右
w "光標移動到下一個單詞的首字符 a word forward
b "光標移動到上一個單詞的首字符
e "光標移動到下一個單詞的尾字符
ge "光標移動到上一個單詞的尾字符
$ "將光標移動到當前行行尾
^ "將光標移動到當前行第一個非空白字符
"將光標移動到當前行第一個字符
注: 這些命令除了'0'命令以外都可以在前面接受一個記數,2$;上面所有命令都可以在前面接受一些操作命令,如d$,dw等。
修改命令
x "刪除一個字符
d "其後跟任何一個位移命令,將刪除從當前光標到位移終點處的文本
"內容,如dw,delete word
c "與d命令功能類似,不同的在執行完刪除後命令進去Insert模式,change
dd "刪除一整行
yy "復制一整行
p "把剪貼板內容粘帖到當前位置
vimdiff 1.c 2.c "創建一個垂直分割窗口比較這兩個文件不同的地方
搜索命令
f<a> "單字符搜索,fa是在當前行搜索下一個a,find a
/string "全文本搜索一個字符串,如要找到單詞"func"則用/func
"如果文本有多個func,按下n就會移動到接下來的func位置上
"n前面也可以接受數字計數,如3n,就會找緊接第三個func
?string "與/string的功能相同,唯一的區別就是搜索的方向相反
注:
可以用:set noingorecase 忽略字符大小寫;
/和?命令都有記憶功能,可以用多次<UP>鍵選擇搜索歷史,記錄命令最大的歷史條數可以在會話viminfo上更改;
搜索字符.*/?%$^[]等特殊字符要在前面加一個反斜槓轉意;
搜索到孤立的單詞,也就是前後都沒有其他字符的(除了空格,制表符),如只搜the,不想搜到there或whether這樣的,要用/\<the\>;
可以用:set hlsearch把要搜索的單詞高亮顯示;
定位命令
G "光標移動到文件的最後一行,或者Shift+G
15G "光標移動到文件的第15行,或者15gg
gg "光標移動到文件的第一行
45% "光標移動到文件45%處
H "光標移動到當前屏幕的最開始
M "光標移動到當前屏幕的中間
更多精彩內容:http://www.bianceng.cn/OS/Linux/
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頁
矩形選擇塊(多行注釋)
#多行注釋
將光標定位到某一行的第一個非空格字符
按下Ctrl+v,選擇開始位置;
Ctrl+d或者上下箭頭進行移動;
按下I,輸入“//”,再按下ESC,完成多行注釋;
注意上面第三步也可以使用左右箭頭進行矩形區域選擇