1、 在光標所在行查找字符在普通模式下用 f{char}
命令,光標會移動到該字符所在的位置,向下重複查找在普通模式下用 ;
,向上回退查找用 ,
2、 在光標所在行查找與替換在普通模式下用 :s/target/replacement
,其中 target
和 replacement 分別用被替換的字符或字符串和替換的字符或字符串代替,重複在普通模式下用 &
命令,回退在普通模式下用 u
手動控制每一次替換在普通模式下用 :%s/target/replacement/gc
,這樣的話 Vim
會在每一次出現替換的地方詢問是否替換,有以下幾種選項:y
: 替換此處匹配n
: 忽略此處匹配a
: "all" —— 替換此處與之後所有的匹配l
: "last" —— 替換此處匹配後退出q
: 退出替換過程<C-e>
: 向上滾動屏幕 <C-y>
: 向下滾動屏幕
3、 查找當前光標下的單詞在普通模式下用 *
4、 一鍵移動,另一鍵修改 —— .
範式
5、 寫代碼思維停頓時請回到 普通模式,把思維單元切成 塊,這樣方便犯了錯誤在普通模式下按 u
回退操作的時候能接上之前的思路接着修改,在適當的時候,換行操作採用 <Esc>o
,這樣會使撤銷時有更小的粒度,有利於編碼操作
6、 在普通模式下按 db
,反向刪除從光標起始位置到單詞開頭的內容,但會原封未動地留下最後一個字符
7、 在普通模式下按 b
,會將光標移動到單詞的開頭
8、 在普通模式下按 daw
,即 "delete a word",刪除一個單詞
9、 在普通模式下 <C-a>
和 <C-x>
分別對數字執行加和減操作,在不帶次數執行時,它們會逐個加減,但如果帶一個次數前綴,那麼就可以用它們加減任意整數,例如我們把光標移動到數字
5 上,執行 10<C-a>
就會把它變成 15,如果光標不在數字上,那麼 <C-a>
和 <C-x>
會在當前行正向查找一個數字,如果找到了,它就徑直跳到那裏
10、 在普通模式下按 yyp
會複製當前行並粘貼到下一行
11、 在普通模式下加上次數表示重複,例如 2dw
或 d2w
都表示要刪除兩個單詞,2u
表示回退兩步等等,但是最好只在必要時使用次數
12、 在普通模式下按 dl
刪除當前光標下的單詞,但不進入插入模式,按 dap
刪除整個段落
13、 在 Vim 中,操作符 + 動作命令 = 操作,當一個操作符被連續調用兩次時,它會作用於當前行,例如: dd
刪除當前行,>>
縮進當前行,但是 gU
命令是一個特殊情況,既可以用 gUgU
,也可以用簡化版本的 gUU
來使它作用於當前行,常用的操作符命令如下:
c
: 修改d
: 刪除y
: 複製到寄存器g~
: 反轉大小寫gu
: 轉換爲小寫gU
: 轉換爲大寫>
: 增加縮進<
: 減小縮進=
: 自動縮進!
: 使用外部程序過濾{motion}所跨越的行