使用gn操作增強Vim的搜索

| Comments

gn是Vim 7.4新增的一個操作(motion),作用是跳到並選中下一個搜索匹配項。

具體說,Vim裡執行搜索後,執行n操作只會跳轉到下一個匹配項,而不選中它。但是我們往往需要對匹配項執行一些修改操作,例如替換、刪除或修改大小寫等,如果先跳轉再執行對應操作,會比較繁瑣。gn可以和相應的操作結合,簡化這些過程。

舉個栗子。如果要把所有的win、linux替換成大寫,可以先用正則搜索“\(win|linux\)\C”,然後執行“gUgn”,此時下一個匹配的結果就會被替換成大寫,然後直接執行“.”重複上次操作即可。

此外,常用的組合有:

  • cgn: 刪除下一個匹配項,並進入插入模式。
  • dgn: 刪除下一個匹配項,並保持常規模式。

和操作“N”相同,執行“gN”是逆向操作。

Comments