Delete lines matching expression?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Delete lines matching expression?

Ven Tadipatri
Is there a command similar to :%s that would delete lines?
For example, replace all lines containing test to nottest:
:%s/test/nottest/c
 Instead, is there some way to delete all lines containing test, with confirmation?
:%(something else)/test/c

Thanks,
Ven

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
 
---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: Delete lines matching expression?

Chris Lott
> For example, replace all lines containing test to nottest:
> :%s/test/nottest/c
>  Instead, is there some way to delete all lines containing test, with
> confirmation?

Not sure about the confirmation step. This kind of things works for
the deleting of lines matching a pattern "test":

:%g/test/d

c
--
Chris Lott <[hidden email]>

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.
Reply | Threaded
Open this post in threaded view
|

Re: Delete lines matching expression?

Tim Chase
On 2013-09-10 07:21, Chris Lott wrote:
> > For example, replace all lines containing test to nottest:
> > :%s/test/nottest/c
> >  Instead, is there some way to delete all lines containing test,
> > with confirmation?
>
> Not sure about the confirmation step. This kind of things works for
> the deleting of lines matching a pattern "test":
>
> :%g/test/d

If you do need confirmation, you can do

  :%s/.*test.*\n//\c

If you don't need confirmation, Chris gave the standard solution,
except that the "%" is optional since :g defaults to the whole file.

For the record, the :g command can be inverted to delete every line
that *doesn't* match "test" by using

  :v/test/d

-tim




--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/groups/opt_out.