在 Vim 正则表达式中,我知道可以在所有以using开头的行上替换foo为bar%
:g/^%/s/foo/bar/g
但我想在所有不以.开头的行上替换foo为 有没有办法轻松做到这一点?bar%
尝试:vglobal:
:v/^%/s/foo/bar/g
您可以%使用以下命令来否定角色character class:-
:g/^[^%]/s/foo/bar/g
[^%]匹配%字符串开头的除 , 之外的任何字符。
:gis的倒数:g!,因此您的示例可以表示为:
:g!/^%/s/foo/bar/g
请注意,这:g!只是另一种写作方式:v(参见 Jim Davis 的回答)
尝试:g/^[^%]/s/foo/bar/g匹配所有不以 % 开头的行