Vim基本操作命令大全
光標移動定位方式
hjkl (強例推薦使用其移動光標,但不必需) →你也可以使用光標鍵 (←↓↑→). 注: j 就像下箭頭
0 → 數字零,到行首
^ → 到本行第一個不是blank字符的位置(所謂blank字符就是空格,tab,換行,回車等)
$ → 到本行行尾
g_ → 到本行最后一個不是blank字符的位置(還需確定弄清楚_0119)
b → 向前移動一單詞的距離,并至單詞首
w → 向后移動一單詞的距離,并至單詞首
)→ 向前移動一個句子
( → 向后移動一個句子
{ → 向前移動一個段落
} → 向后移動一個段落
gg → 移動到文件第一行第一個單詞首
G → 移動到文件最后一行第一個單詞首
f [F]c → 跳到本行后一個字符c所在處 [F表示向前]
gd → 跳到單字(標識符、函數等)定義處
N+[Enter] → N為數字,光標向下移動N行
: + N → N為數字,光標移動到指定行
<C-d>→屏幕向下移動半頁
<C-u>→屏幕向上移動半頁
<C-f> →屏幕向下移動一頁
<C-b> →屏幕向上移動一頁
H →移動到本屏幕第一行第一個單詞首
M →移動到本屏幕中間第一個單詞首
L →移動到本屏幕最后一行第一個單詞首
z + [Enter] →當前光標所在行變為屏幕首行
z + [ - ] →當前光標所在行變為屏幕尾行
i → 在光標前途插入
a → 在光標后插入
I → 在當前行首插入
A → 在當前行尾插入
o → 在當前行后插入一個新行
O → 在當前行前插入一個新行
x,X → 在一行字中,x為向后刪除一個字符,X為向前刪除一個字符
dt c → 刪除從光標所在處到字符c
dl → 刪除光標所在的字符
yl → 復制光標所在的字符
cl → 改變光標所在的字符
dw → 刪除光標所在的單詞
yw → 復制光標所在的單詞( ye )
cw → 改變光標所在的單詞
dd → 刪除光標所在的一整行
yy → 復制光標所在的一行
cc → 改變光標所在的一行
ndd → 刪除光標所在的向下n行
p,P → p為將已復制的內容在光標的下一行粘貼,P則為粘貼在光標的上一行
v → 字符選擇,會將光標經過的地方反白選擇
V → 行選擇
<C-v> → 塊選擇
y → 復制反白的地方
d → 刪除反白的地方
U → 變大寫
u → 變小寫
J → 把所有的行連接起來(變成一行)
< 或 > → 左右縮進
= → 自動給縮進 (陳皓注:這個功能相當強大,我太喜歡了)
/pattern → 向下搜索 pattern 的字符串(陳皓注:如果搜索出多個匹配,可按n鍵到下一個)
?pattern → 向下搜索 pattern 的字符串
n → 向相同方向查找下一個
N → 向相反方向查找下一個
:n1,n2s/pattern1/pattern2/g → 在第n1行和n2行之間尋找pattern1這個字符串,并且將其替換為pattern2.
:1,$s/pattern1/pattern2/g → 從第一行到最后一行尋找pattern1這個字符串,并且將其替換為pattern2.
:1,$s/pattern1/pattern2/gc → 從第一行到最后一行尋找pattern1這個字符串,并且將其替換為pattern2.且在替換前顯示提示字符給用戶確認是否需要替換
r,R → 進入替換模式。r只替換光標所在那個字符一次。R會一直替換光標所在字符,直到按下Esc鍵
:bn 和 :bp → 你可以同時打開很多文件,使用這兩個命令來切換下一個或上一個文件(或用:n和:N)
:rew 回到第一個文件
n# → 跳到前一個文件,實現兩個文件之間相互切換
:ls → 列出當前編輯的文件
:bd → 關閉當前文件
:bd! → 強制關閉當前文件
]c → 比較兩文件不同時跳到下一個不同處
[c → 比較兩文件不同時跳到上一個不同處
:e <path/to/file> → 打開一個文件
:w → 存盤
:saveas <path/to/file> → 另存為 <path/to/file>
:x, ZZ 或 :wq → 保存并退出 (:x 表示僅在需要時保存,ZZ不需要輸入冒號并回車)
:qa → 退出所有文件
:q! → 退出不保存 :qa! 強行退出所有的正在編輯的文件,就算文件有更改
Undo/Redo
u → undo
<C-r> → redo
.→小數點,重復前一個操作
== → 自動給縮進光標所在行
<C-p>或是<C-n>,自動補齊功能
:shell → 暫時進入shell,當輸入exit時可回到vi繼續編輯
輸入 :h! 試試看
再輸入 :h 42呢?