Vimの正規表現では、を使用してfoo
始まるbar
すべての行でで置き換えることが可能であることを私は知っています%
:g/^%/s/foo/bar/g
しかし、で始まらないすべての行でfoo
に置き換えたいと思います。簡単にそうする方法はありますか?bar
%
試してみてください:vglobal
:
:v/^%/s/foo/bar/g
:-%
を使用して文字を無効にすることができますcharacter class
:g/^[^%]/s/foo/bar/g
[^%]
%
文字列の先頭にある、以外の任意の文字に一致します。
の逆:g
は:g!
であるため、例は次のように表すことができます。
:g!/^%/s/foo/bar/g
:g!
これは別の書き方であることに注意してください:v
(Jim Davisの回答を参照)。
:g/^[^%]/s/foo/bar/g
%で始まらないすべての行に一致するようにしてください