看板 Editor 關於我們 聯絡資訊
如題, 例如說我想把所有的 foo(expression) 取代成 foo(expression).bar expression可能是任意的c運算式 (可以先假設不包含字串 不然太複雜了) 上網查了一下 似乎是超過vim的regex的能力範圍 請問有沒有別的解法 thanks -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 54.248.3.162
fjm31714:目前想到用錄製巨集的 因為%可以跳到對應括號 05/04 03:11
fjm31714:qa/foo(<enter>%i.bar<esc>q 然後@a可以讓他作一次 05/04 03:19
fjm31714:<enter><esc>是按enter和esc執行到檔案結尾不知道怎麼作 05/04 03:22
kdjf:你的意思是foo(abc),foo(3+2),foo("adc")都要改成foo(x).bar? 05/04 08:14
mars90226:可以用:%s/foo(//gn 知道有幾個,比如N個 然後N@a 05/04 10:08
mars90226:巨集就是用上面f大做好的巨集 05/04 10:08
AstralBrain:感謝樓上三位<(_ _)> 05/04 17:58
AstralBrain:@kdjf: 對, 而且要處理foo((1+2)*(3+4))這種case 05/04 17:59
ViewMoon::%s/foo(.*)/&\.bar/g 05/05 18:37
fjm31714:樓上的作法是不是在類似 foo(1+2)*(3+4)會有問題? 05/05 22:32
ViewMoon:會... 那例只能用巨集了 05/06 00:03