How to find <foo>
but not <<foo>>
in following text:
---------<foo>
--------
---------<<foo>>
------
I try /\(<<\)\@!\zsfoo
,it does't work correctly.
thanks
CodePudding user response:
You can use
:g/\(<\)\@<!<foo>\(>\)\@!
Or, since <
and >
are single char strings, you may even discard the grouping parentheses:
:g/<\@<!<foo>>\@!
Details
\(<\)\@<!
/<\@<!
- a location not immediately preceded with<
char<foo>
- a<foo>
string\(>\)\@!
/>\@!
- immediately to the right, there must be no>
char.