为了解决mysql 5.0到5.1的兼容性问题,我试图改变这种模式:
KEY `brand_id` (`brand_id`) USING BTREE
到此:
KEY `brand_id` USING BTREE (`brand_id`)
在vim中运行以下正则表达式可以找到问题的所有出现位置:
KEY `.*` \(.*\) USING BTREE
因此,我尝试将其修改为以下替换字符串,但它无法再找到匹配的字符串。为什么呢?
%s/KEY (`.*`) (\(.*\)) USING BTREE/KEY \1 USING BTREE (\2)/gc
答案 0 :(得分:2)
我不知道为什么,但是在Vim中,你需要逃避匹配的括号,并且当它们被逐字逐句时不要管它们。尝试:
%s/KEY \(`.*`\) \((.*)\) USING BTREE/KEY \1 USING BTREE \2/gc