[vim ] 我所知道的search and replace
看板Editor (編輯器(vim/emacs))作者longsili (longsili)時間14年前 (2010/03/07 13:50)推噓8(8推 0噓 0→)留言8則, 4人參與討論串1/1
(轉錄自技客快手筆記)
http://quickteckiteasy.blogspot.com/
使用vim的人應該都知道vim search "/" 和 vim replace ":s"的強大。
如果再加上一些小技巧,
可以再發揮vim指令到更高段的境界。
技巧:search before replace。
通常在replace時,有時不敢全部替換,
所以會加上confirm :%s/foo/bar/cg
我個人是很不喜歡這個confirm,
因為我不知道現在是跳到哪個位置。
我的做法是,先search "/foo" ,把所有foo會出現的地方確認過。
然後再做replace。
做replace 可以寫個map,
nnoremap ss :%s/< C-R >//
指令"< C-R >/"可以插入剛剛search的文字。
技巧:visual mode search
使用 "/%V foo"
就只會在「上一次選取的區段」做search。
這樣子就會把搜尋的東西局限在某個區段,
然後再用上一個技巧按ss就可以了。
技巧:find next and repeat
搜尋要替換的字 "/foo"
做修改"cwbar"
搜尋下一個 "n"
repeat "."
輔助說明:
情況一:replace整個字。用"cw"
情況二:要在某個字前加bar_ 。用"ibar_"
情況三:要在某個字尾加_bar。在搜尋時要加/e
以這個例子來說我搜尋時就打"/foo/e"
之後就打"a_bar"就可以了。
這幾個技巧都是先搜尋,再做replace,
這樣子會對自己所做的replace比較有信心。
當然,別忘了搜尋時多利用regular expression,
可以做更多事。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.37.162.192
推
03/07 15:36, , 1F
03/07 15:36, 1F
推
03/07 15:37, , 2F
03/07 15:37, 2F
推
03/07 15:37, , 3F
03/07 15:37, 3F
推
03/07 22:33, , 4F
03/07 22:33, 4F
推
03/07 22:34, , 5F
03/07 22:34, 5F
推
03/08 03:30, , 6F
03/08 03:30, 6F
推
03/08 17:53, , 7F
03/08 17:53, 7F
推
03/08 17:54, , 8F
03/08 17:54, 8F
Editor 近期熱門文章
PTT數位生活區 即時熱門文章