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.
