0

変更する必要があるテキストがあるとします。

<tag name="aaaa" value="${bbbb}"/>
<tag name="cccc" value="${dddd}"/>

私はそれをフォームに入れる必要があります

<tag name="bbbb" value="${bbbb}"/>
<tag name="dddd" value="${dddd}"/>

つまり、 の内側の部分を使用して、 の内側${...}value置き換えnameます。

4

3 に答える 3

3

置換を簡単にするために、キャプチャ グループと\zs/を使用できます。\ze

:%s/name="\zs[^"]*\ze" value="\${\([^}]*\)}/\1/
  • \zs\ze置き換えられる試合の開始と終了をマークします
  • [^"]*一致しない 0 個以上の文字に一致"
  • \(...\)キャプチャーグループです。\1\2、 ...として置換で表されます。

詳細については、次を参照してください。

:h /\zs
:h /\(
:h /[
:h :s
于 2013-07-09T18:21:35.833 に答える
0

マクロを作成するには、 を使用しますqa q。次に、 を使用@aしてマクロを実行します。

qaにマクロをバインドすると、a入力を開始してマクロを記録できます。次にもう一度押すqと、マクロの記録が停止します。

あなたの状況では、コマンドモードに入って次のように入力しました。

qaf{lyf}2F"PxF"l4xq

その後@a、別の行の先頭から再度実行します。

jF<最後の q の前に追加して、カーソルを自動的に次の行に移動することもできます。次に、10@a を実行して、マクロ全体をチェーンできます。連続する 10 行の編集を行います。

于 2013-07-09T18:24:00.173 に答える