:qa
關閉全部文件:qa!
關閉全部文件,放棄更改:w
保存:wq
或:x
保存和關閉文件:q
關閉文件:q!
關閉文件,放棄更改ZZ
保存退出ZQ
退出,放棄更改a
追加A
行尾追加i
插入I
行首插入o
插入行O
上方插入行s
刪除插入當前字符S
刪除行同時插入C
刪除到行尾同時插入r
替換單個字符R
替換模式u
撤銷Ctrl+R
重作Esc
Ctrl+[
Ctrl+C
退出插入模式同時終止當前命令x
剪切字符dd
剪切行yy
複製行p
粘貼,對於複製行在下方粘貼,對於字符後方粘貼P
粘貼,對於複製行在上方粘貼,對於字符前方粘貼"*p
或"*P
從系統剪貼板粘貼,*
與+
是與系統剪貼板交互的寄存器,若"*p
不行能夠嘗試"+p
,須要確保vim支持剪貼板,能夠使用vim --version | grep clipboard
查看,出現+clipboard
即爲支持」*y
或+y
複製到系統剪貼板h
/j
/k
/l
左/下/上/右Ctrl+E/Y
滾動上/下一行Ctrl+U/D
滾動上/下半頁Ctrl+F/B
滾動上/下一頁b
/w
前/後一個單詞首字母ge/e
前/後一個單詞尾字母0
絕對行首(忽略空白)^
相對行首$
行尾fc
或Fc
向前/後跳轉到字符c
gg
首行G
末行:n
或nG
第n
行Ctlr+O/I
上一次位置/撤回[(
/[{
前一個(
/{
])
/]}
後一個)
/}
[m
方法前一個開始/結束處]m
方法後一個開始/結束處zz
滾動窗口讓當前行居中zt
滾動窗口讓當前行置頂H
/M
/L
移動到屏幕頂部/中部/底部:tabedit file
打開一個新tab編輯文件file
:tabclose
關閉當前tab:tabs
列出全部tab:tabfirst
/:tablast
跳轉到第一個/最後一個tab:tabn
/:tabp
下一個/上一個tabv
可視化模式V
行可視化模式Ctrl+V
塊可視化模式形式以下:vim
操做符 動做
例子:bash
dw
d
是操做符表明刪除,w
是移動到下一個單詞首 ,因此就是刪除到下一個單詞首db
刪除到上一個單詞首2dd
刪除兩行dip
刪除一個文本對象(下面有說)操做符列表:ide
d
刪除y
複製(也叫yank)c
修改>
右縮進<
左縮進g~
變換大小寫gU
大寫gu
小寫形式以下:code
操做符 i/a 文本對象
其中操做符是上面提到的,i/a
表示:orm
i
inside,僅選擇文本,好比文本對象是一個字符串,僅選擇字符串內容,不包括包圍的單/雙引號a
around,選擇包括文本,包圍的字符與周圍的空白,好比文本對象是一個[]
塊,會選擇[]
裏面的內容,同時選中包圍的[]
,若是[]
周圍有空白也會進行選中文本對象:xml
p
段落w
單詞s
句子[
/(
/{
/<
一個[]
/()
/{}
/<>
塊 '
/"
/反引號
單/雙/反引號字符串t
一個xml標籤塊例子:對象
vip
選擇段落vipipip
選擇更多段落yit
複製一個xml標籤塊ya"
複製一個"
字符串以及包圍的"
di[
刪除一個[]
塊的內容ca{
修改一個{}
塊以及周圍空白 Ctrl+A
數字加1Ctrl+X
數字減1默認識別十進制,使用:set nrformats=bin,octal,hex
後,能識別2/8/16進制。ip
0b
或0B
開頭0
開頭0x
或0X
開頭g~
切換大小寫gU
大寫gu
小寫g~~
整行切換大小寫gUU
整行大寫guu
整行小寫插入模式下,輸入Ctrl+R
,接着輸入=
,再輸入式子便可計算。Enter獲取計算結果,會將計算結果插入到當前光標所在位置。字符串
反引號^
插入模式的上一次位置反引號.
上一次修改位置反引號反引號
上一次跳轉的位置ma
標記當前位置爲標記a
反引號a
跳轉到標記a
的位置'a
跳轉到標記a
的位置的行首