On Thursday, April 19, 2012 10:57:38 AM UTC-5, Jan wrote: > I have some text like this: > > # Something important > # Start of the range > # anything could be here > # anything could be here > # Something important > > I want to delete a range like this: > > :g/^# Start of the range\n#.*\n#.*/norm 3dd > > That is: the start of the range, followed by the next two lines but only if > they're also comments (I'm going to automate it, so I must make sure that > those lines are such). > > :g/^# Start of the range\n#.*\n#.*/d > > doesn't work, because it deletes only the first line. Is my 'norm 3dd' method > the best way? >
The problem is that the command ran by your :g command defaults to acting on the line where the entire match starts. So by specifying a multi-line match, the match starts on the first line, and the d command will only act on that line. You need to specify a range for your d command, as Tim suggests. -- 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
