How to find <foo>
but not <<foo>>
in following text:
---------<foo>
--------
---------<<foo>>
------
I try /\(<<\)\@!\zsfoo
,it does't work correctly.
thanks
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.