標籤:vim
我的主力部落格:半畝方塘
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}所跨越的行
Vim常用技巧總結2