看板 Editor 關於我們 聯絡資訊
(轉錄自技客快手筆記) 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
dryman:如果要改的東西有特性-> regexp 03/07 15:36
dryman:段落的話:20,40s/abc/foo/g 20-40行 03/07 15:37
dryman:這是我習慣的用法:D 03/07 15:37
oversky0:何不用 gvim 提供的取代視窗? 不必執著於命令模式啊。 03/07 22:33
dryman:命令模式很好用啊XDDD 03/07 22:34
Pash77:精通 vim 說搭配 g 更強大 03/08 03:30
kornelius:直接 Visual 選取之後,":s" 就可以對區塊搜尋了 03/08 17:53
kornelius:s/搜尋/取代 03/08 17:54