Non greedy match in Vim Regex
:%/<.\{-}>
" % => match the WHOLE file in current buffer
" \{-} => non-greedy match, match as less as possible
" match html from open-angle-bracket to close-angle-bracket
" e.g. => match "<div id=cat>"
Alternative to accomplish the same thing
:%/<[^>]*>
" % => match the WHOLE file in current buffer
" [^>] => [ ] is Character classes, ^ => NOT match
" * => zero or more
" e.g. match <div class="myclass">
" Note: => it will match "<>" too
Can we do better? Yes
:%/<[^>]\+>
" % => match the WHOLE file in current buffer
" [^>] => [ ] is Character classes, ^ => NOT match
" \+ => one or more
" e.g. match <div class="myclass">
" Note: => it will NOT match "<>" since "<>" is not a valid HTML tag