0
/* Comments for code... */

if (...) {

}

コメントとif:の間の空白行を削除する必要があります。

/* Comments for code... */
if (...) {

}

現在、次の正規表現を使用しています。

/\*\/\ze\n^$\n[ ]*if
  • \*//: コメント終了 ( */)
  • ^$: 前の空白行if
  • [ ]*if: スペースとif

私が使用しているよう\zeに、カーソルは最終的に を指します*/。どうすればいいですか?

4

3 に答える 3

2

この行を試してください:

%s#\*/[\s\r\n]*#*/\r#

それは作ります

/* Comments for code... */





if (...) {

}
/* Comments for code... */






else{


}

の中へ:

/* Comments for code... */
if (...) {

}
/* Comments for code... */
else{


}
于 2013-04-11T12:03:04.450 に答える
1
:g+*/+j

はるかに高速ですが、おそらく広すぎます。

次のようなことができます。

:g+*/\_\s*if+j
于 2013-04-11T11:57:47.240 に答える
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)
于 2013-04-11T10:36:12.917 に答える