2011-06-30 15 views
3

ファイル内の一部の文字列を置換する正規表現を使用したいと思います。 %s/^ [a-z]*/ / 私がしたいことは、空白[a-z]が4つ前に付いた2つの空白を持つすべての[a-z] *を置き換えることです。どのような "インプレース"の交換がありますか、またはどのように私はvimでそれに達するでしょうか?よろしくvim regex検索と置換

+0

'[] [] abcd'を' [] [] [] [] abcd'に置き換えることを意味しますか?[]はスペースを表しますか? – amazingjxq

答えて

3

と一致しますので、私はそれがより簡単な試合の終了を定義する\zeオブジェクトを使用することを見つけるのに、この複数回実行しているの用心[a-z]*は置換には含まれていませんが、関連するスペースに一致するように使用されています。

+0

これは、4つの空白を先頭にした行にも影響します。 –

+0

私はそのアプローチが好きです。それはまた、より効率的です(私はそれが目に見える速度の差につながるならば驚くでしょうが、ちょっと、私はプログラマーです)。 – sehe

3
:%s/ \([a-z]*\)/ \1/g 

は、仕事をする必要があります。

:%s/ \ze[a-z]*/ /g 

:置き換えの結果は、入力パターン:)

+0

待ち、それは正しくありません。これは落ちた。私は何を取りこぼしたか? – sehe

+0

私はこれが投票されたことは非常に悲しいです、その\ 1は貴重です!素晴らしいチップをありがとう:) – Hassek

関連する問題