/* Comments for code... */
if (...) {
}
我需要删除评论与if
:
/* Comments for code... */
if (...) {
}
我目前正在使用以下正则表达式:
/\*\/\ze\n^$\n[ ]*if
\*//
:评论结束(*/
)^$
:if
[ ]*if
:空格和if
当我使用\ze
时,光标最终指向*/
。我该怎么办?
答案 0 :(得分:2)
试试这一行:
%s#\*/[\s\r\n]*#*/\r#
它将成为
/* Comments for code... */
if (...) {
}
/* Comments for code... */
else{
}
成:
/* Comments for code... */
if (...) {
}
/* Comments for code... */
else{
}
答案 1 :(得分:1)
为什么不同时使用\zs
。
这对我有用:
:%s/\*\/\zs\n*[ ]*\zeif/\r/g
阐释:
%s - substitution on the entire file
\*\/ - end of comment
\zs - start of match
\n*[ ]* - eol and spaces
\ze - end of match
if - followed by if
/\n/ - replacement
g - global regex (multiline)
答案 2 :(得分:1)
:g+*/+j
更快但可能太宽。
您可以执行以下操作:
:g+*/\_\s*if+j