vi 命令合集

 經常會用到,記錄下

===============================================================

光標移動
左:h
下:j
上:k
右:l
下一行行首:+
上一行行首:-
當前行行首:0
當前行行尾:$
後一個單詞詞首:w,W
後一個單詞詞尾:e,E
前一個單詞詞首:b,B
下一屏:CRTL+F
上一屏:CRTL+B
下半屏:CRTL+D
上半屏:CRTL+U
文件尾:G
當前屏幕首行:H
當前屏幕末行:L
當前屏幕中央:M
指定行:行號G,:行號
指定字符串前:/字符串,?字符串
當前行指定字符前:f字符,F字符 
文字追加和插入
當前光標右方追加:a
當前光標行尾追加:A
當前光標左方追加:i
當前光標行首追加:I
當前行下方追加行:o
當前行上方插入行:O
文字刪除
刪除光標位置文字:x
刪除光標左方文字:X
刪除當前行:dd
刪除光標移動範圍內的文字:d光標移動命令
文字替換
替換1文字到多文字:s
替換1文字到1文字:r
替換到當前行尾:C
替換當前行:cc
從當前位置開始替換直到輸入ESC:R
文字複製和粘貼
(例)
複製光標以下3行:3yy,3Y
複製光標以後6個單詞:6yw
粘貼到光標以下:p
粘貼到光標以上:P
通用替換命令
:行1,行2s/字符串1/字符串2/g
“行1,行2”指定方法例:
第5行到第30行:5,30
當前行到第30行:.,30
第5行到第末尾行:5,$
第5行到含有end的行:5,/end/
所有行:%
其他常用命令
顯示行號
:set number 或者 :set nu
隱藏行號
:set nonumber 或者 :set nonu
自動縮進
:set autoindent 或者 :set ai
不自動縮進
:set noautoindent 或者 :set noai
顯示Tab及行尾字符
:set list
隱藏Tab及行尾字符
:set nolist
設置Tab寬度爲4個字符
:set tabstop=4
查看當前設置
:set all

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章