vi如何清除c风格的注释

Vim、Emacs配置和使用
回复
JiangMiao
帖子: 30
注册时间: 2009-07-15 13:03

vi如何清除c风格的注释

#1

帖子 JiangMiao » 2009-08-26 18:17

有如下代码
/* foo */
void foo();
/*
* bar
*/
void bar();
void baz(); /* baz */
想替换成
void foo();
void bar();
void baz();
/*与*/之间无换行可用 :%s/\/\*.*\*\///g 替换,但无法替换注释'bar'
请问vi该如何操作
谢谢
Ubuntu 9.04 中, 我的BLOG
JiangMiao
帖子: 30
注册时间: 2009-07-15 13:03

Re: vi如何清除c风格的注释

#2

帖子 JiangMiao » 2009-08-26 18:36

写了个ruby脚本替换了 :%!ruby -e 'puts STDIN.read.gsub(/\/\*.*?\*\/\s*/m,"");'
但还是清楚正统的vim解决方案是什么,要是每次都祭出ruby有点杀鸡用牛刀的感觉。
Ubuntu 9.04 中, 我的BLOG
sarrow
帖子: 403
注册时间: 2007-10-27 1:04

Re: vi如何清除c风格的注释

#3

帖子 sarrow » 2009-08-26 19:56

这个“\_.”代表包括换行符的任意字符。

楼主,你自己改改吧!
JiangMiao
帖子: 30
注册时间: 2009-07-15 13:03

Re: vi如何清除c风格的注释

#4

帖子 JiangMiao » 2009-08-26 20:39

sarrow 写了:这个“\_.”代表包括换行符的任意字符。

楼主,你自己改改吧!
非常感谢,成功 :em11 :%s/\/\*\_.\{-}\*\///g
Ubuntu 9.04 中, 我的BLOG
hjjdebug
帖子: 94
注册时间: 2009-04-21 9:48

Re: vi如何清除c风格的注释

#5

帖子 hjjdebug » 2009-08-27 8:40

这样是否更好看一点 ?
%s#\M/*\m\_.\{-}\M*/##
JiangMiao
帖子: 30
注册时间: 2009-07-15 13:03

Re: vi如何清除c风格的注释

#6

帖子 JiangMiao » 2009-08-29 0:48

hjjdebug 写了:这样是否更好看一点 ?
%s#\M/*\m\_.\{-}\M*/##
谢谢 :em11
Ubuntu 9.04 中, 我的BLOG
回复