一、vim選中多行復制粘貼vim
複製多行並粘貼到指定位置後,可能須要進行多行縮進。多行縮進步驟以下:函數
二、多行註釋spa
取消多行註釋:一樣 Ctrl+v 進入列選擇模式,移到光標把註釋符選中,按下d,註釋就被刪除了。命令行
三、撤銷code
四、查找替換orm
查找:按下/ 按回車定位到第一個匹配的,n下一個,N上一個,結尾加\c表示大小寫不敏感(默認查找是大小寫敏感)xml
查找當前單詞:normal模式下按下*便可查找光標所在單詞(word), 要求每次出現的先後爲空白字符或標點符號。例如當前爲foo, 能夠匹配foo bar中的foo,但不可匹配foobar中的foo。 這在查找函數名、變量名時很是有用。it
按下g*便可查找光標所在單詞的字符序列,每次出現先後字符無要求。 即foo bar和foobar中的foo都可被匹配到(至關於/foo)。io
替換::{做用範圍}s/{目標}/{替換}/{替換標誌},例如:%s/foo/bar/g會在全局範圍(%)查找foo並替換爲bar,全部出現都會被替換(g)class
做用範圍分爲當前行、全文、選區等等:當前行 :s/foo/bar/g
替換標記:
空替換標誌表示只替換從光標位置開始,目標的第一次出現:
:%s/foo/bar
i
表示大小寫不敏感查找,I
表示大小寫敏感:
:%s/foo/bar/i # 等效於模式中的\c(不敏感)或\C(敏感) :%s/foo\c/bar
c
表示須要確認,例如全局查找"foo"
替換爲"bar"
而且須要確認:
:%s/foo/bar/gc
回車後Vim會將光標移動到每一次"foo"
出現的位置,並提示
replace with bar (y/n/a/q/l/^E/^Y)?
按下y
表示替換,n
表示不替換,a
表示替換全部,q
表示退出查找模式, l
表示替換當前位置並退出。
五、快速移動光標
六、多文件編輯
七、 記錄功能
若是文件裏有以下內容
stdio.h fcntl.h unistd.h stdlib.h
想把它改爲
#include "stdio.h" #include "fcntl.h" #include "unistd.h" #include "stdlib.h"
將光標移動到第一行,而後依次執行以下:
qa 開始將後續的命令記入寄存器a ^ 將光標移動到行首 i#include "<Esc> 在該行以前插入#include " $ 移動到行尾 a"<Esc> 在行尾加上"字符 j 移到下一行 q 中止記錄
而後按下@a就能夠自動完成第2,3,4行的改變了。