1. 撤銷與恢復撤銷
- 撤銷:Esc命令下+u(小寫)
- 恢復撤銷:Esc命令下+Ctrl+r
2. 全選、複製、剪切、粘貼
全部操作:
- 全部複製:Esc命令下+ggyG
- 全部刪除:Esc命令下+dG
- 全選高亮顯示:Esc命令下+ggvG或者ggVG
複製:
- 複製一行:Esc命令下+yy
- 複製多行:將第9行至第15行的數據,複製到第16行,Esc命令下+:9,15 copy 16 或 :9,15 co 16
- 複製n行:Esc命令下+nyy
剪切:
- 剪切一行:Esc命令下+dd
- 剪切當前行光標所在的位置到行尾:Esc命令下+d$
- 剪切當前行光標所在的位置到行首:Esc命令下+d^
- 前切從當前行開始的10行:Esc命令下+10dd
- 把1-10行的內容剪切後複製到20行:Esc命令下+:1,10 m 20或1,10 move 20
粘貼:
- 粘貼一行:Esc命令下+p
3. 查找與替換
查找:
- 查找指定字符:Esc命令下 + :/ + 待查找的字符,回車後vim會跳轉到第一個匹配。
- 按下
n
查找下一個。- 按下
N
查找上一個。- 查找特殊字符先用\進行轉義:例如
/miss\$
匹配"miss$"
。- 查找光標所在單詞:Esc命令下 + :/ + *
- 查找光標所在單詞的字符序列:Esc命令下 + :/ + g*
- 大小寫不敏感查找:查找字符串末尾添加
\c
- 大小寫敏感查找:查找字符串末尾添
\C
- vim 默認採用大小寫敏感的查找
查找與替換:
:s
(substitute)命令用來查找和替換字符串語法爲:{作用範圍}s/{查找的內容}/{替換的內容}/{替換標誌}
例子:
:%s/missq/puhan/g
會在全局範圍(%
)查找foo
並替換爲bar
,所有出現都會被替換(g
)
作用範圍:
- 當前行:
:s/missq/puhan/g
- 全文:
:%s/missq/puhan/g
- 選區::'<,'>
s/missq/puhan/g(
在可視模式下選擇區域後輸入:,VIM會自動補全爲:'<,'>)- 從當前行開始的n行:.
,+ns/missq/puhan/g(注意前面有個.表示當前行)
- 指定的m-n行範圍:
:m,ns/missq/puhan/g
替換標誌:
- 全局替換:g(global)
- 空替換標誌:表示只替換從光標位置開始,目標的第一次出現,
:s/missq/puhan
- 大小寫敏感標識:i(不敏感);I(敏感)。如
:s/missq/puhan/i
- 替換確認:結尾加c——
:s/missq/puhan/gc
例如輸入:%s/replace/www/gc,按下回車會輸出:
- y:替換
- n:不替換
- a:替換所有
- q:退出查找
- l:替換當前位置並退出
- ^E和^Y:光標移動快捷鍵