vim高手请进,关于跨行替换问题

junnyfeng 2009-12-26 12:28:12

bool flag = m_obj_cat.call();
if( flag == false)
{
return NOT_OK;
}

现有大量这样的语句,需要转换成如何下,在vim中如何用一个(或2个)命令完成替换 ?

if(!m_obj_cat.call())
{
return NOT_OK;
}

可行的即结贴。
...全文
239 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
iisbsd 2009-12-27
  • 打赏
  • 举报
回复
两个就比较简单了,先g/s把if( flag == false) 替换成if(!m_obj_cat.call()) ,再g/d删除bool flag = m_obj_cat.call();
seayea 2009-12-27
  • 打赏
  • 举报
回复
q命令录制一个宏,使用宏命令来完成。
qgw_2000 2009-12-26
  • 打赏
  • 举报
回复
下面这个比较丑,不过可以work:
:%s/bool flag = m_obj_cat.call();\_.if( flag == false)/if(!m_obj_cat.call())/g

主要是中间那个\_.是匹配包括换行符在内的任意一个字符。

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧