作者AstralBrain (妄想制御)
看板Editor
标题[vim ] 寻找匹配的括号做取代
时间Fri May 4 02:49:30 2012
如题, 例如说我想把所有的 foo(expression) 取代成 foo(expression).bar
expression可能是任意的c运算式
(可以先假设不包含字串 不然太复杂了)
上网查了一下 似乎是超过vim的regex的能力范围
请问有没有别的解法
thanks
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 54.248.3.162
1F:推 fjm31714:目前想到用录制巨集的 因为%可以跳到对应括号 05/04 03:11
2F:→ fjm31714:qa/foo(<enter>%i.bar<esc>q 然後@a可以让他作一次 05/04 03:19
3F:→ fjm31714:<enter><esc>是按enter和esc执行到档案结尾不知道怎麽作 05/04 03:22
4F:推 kdjf:你的意思是foo(abc),foo(3+2),foo("adc")都要改成foo(x).bar? 05/04 08:14
5F:→ mars90226:可以用:%s/foo(//gn 知道有几个,比如N个 然後N@a 05/04 10:08
6F:→ mars90226:巨集就是用上面f大做好的巨集 05/04 10:08
7F:→ AstralBrain:感谢楼上三位<(_ _)> 05/04 17:58
8F:→ AstralBrain:@kdjf: 对, 而且要处理foo((1+2)*(3+4))这种case 05/04 17:59
9F:→ ViewMoon::%s/foo(.*)/&\.bar/g 05/05 18:37
10F:→ fjm31714:楼上的作法是不是在类似 foo(1+2)*(3+4)会有问题? 05/05 22:32
11F:→ ViewMoon:会... 那例只能用巨集了 05/06 00:03