How can I make my match non greedy in vim?
I have a big HTML file that has lots of markup that looks like this:
<p class="MsoNormal" style="margin: 0in 0in 0pt;">
<span style="font-size: small; font-family: Times New Roman;">stuff here</span>
</p>
I'm trying to do a Vim search-and-replace to get rid of all class=""
and style=""
but I'm having trouble making the match ungreedy.
My first attempt was this
%s/style=".*?"//g
but Vim doesn't seem to like the ?
. Unfortunately removing the ?
makes the match too greedy.
How can I make my match ungreedy?
Instead of .*
use .\{-}
.
%s/style=".\{-}"//g
Also, see :help non-greedy
Non greedy search in vim is done using {-} operator. Like this:
%s/style=".\{-}"//g
just try:
:help non-greedy
What's wrong with
%s/style="[^"]*"//g