多くのファイルのそれぞれについて、私がやりたいことは次のとおりです。
- のすべての出現箇所を検索して
<a href
から、ブロック選択を開始します - の最初の出現まで選択します
>
- 一致全体を小文字に変換します
多くのファイルのそれぞれについて、私がやりたいことは次のとおりです。
<a href
から、ブロック選択を開始します>
見てみな:
s/<a href\(\_[^>]*\)>/<a href\L\1>/
これは次のように言います:一致し、その後に改行(で示される)を含む<a href
0個以上の文字が続き、最後に。これを、キャプチャされたテキストを小文字(で示される)に変換し、末尾を。に置き換えます。>
\_
>
<a href
\L
>
>
タグの中にどこかにあるのなら、明らかにあなたはあなた自身ですが、それは人生です。
(そして、それが明確でない場合は、これをいくつかのより小さな範囲として、:%s/.../...
または:<range>s/.../.../
いくつかのより小さな範囲に使用します。)
これを複数のファイルで使用するには、、、、またはを使用しますwindo
(bufdo
ファイルtabdo
がタブ、ウィンドウ、または単にバッファーとして開いているかどうかによって異なります)。そこにはたくさんのドキュメントがあります:
一般的に、それはおそらく次のようになります。
:tabdo <range>s/.../.../
:windo <range>s/.../.../
:bufdo <range>s/.../.../ | w
現在のバッファを保存せずに次のバッファに移動できないため、bufdoバージョンに書き込みコマンドを追加しました。すぐに書きたい場合は、他の人にもこれを行うことができますが、それがなくても機能します。すべてのファイルを開くのはあなた次第です-最も簡単な方法はvim <lots of files>
、それらをバッファとしてvim -o <lots of files>
取得するか、ウィンドウとして取得することです(-O
水平方向ではなく垂直方向に分割するために使用します)。