我想修复具有以下模式的代码中的每一行:
int main() {
与
int main()
{
同样适用于if语句和循环。简单地说 - 固定支架。我将它们与:
相匹配:%s/.*\(.*\).*{/&^?^M{/gc
但我得到以下输出:
int main() {
{
如何用匹配(&)替换我的模式,但没有最后一个字符或特别没有“{”?
答案 0 :(得分:3)
%s/.*(.\{-})[^{]*\zs{/\r&/
此命令适用于您的示例,如果需要,可添加标记g
或gc
。但是,如果将缩进应用于真实源文件,您可能需要检查缩进是否也正确。
我认为应该有代码样式修复的特殊工具..你应该检查它。 IMO,Vim / shell脚本将是这些源代码批量编辑的最后一个选项。