Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 195837
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T16:42:58+00:00 2026-05-11T16:42:58+00:00

I have files that look like the following: >>Start-pattern some text some more text

  • 0

I have files that look like the following:

>>Start-pattern
some text
some more text
>>Start-pattern
some other text

some more other text
>>Start-pattern
[and so on]

What I would like to have is a mapping that allows me to delete the current “block” of text. Where “block” is defined as all lines ranging from “>>Start-pattern” until before the next “>>Start-pattern” line.

What I have is the following:

nnoremap ,d $:?^>>Start-pattern?,/^>>Start-pattern/-1delete<CR>

that works unless I’m standing on the last “block” in a file.

How can I get this map (or a completely different one that does the same thing) to work on all “blocks” in the file?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-11T16:42:58+00:00Added an answer on May 11, 2026 at 4:42 pm

    I think, once again, we’re pushing the boundaries of regular expressions past what they are good at. They are good at swapping one string with another, it’s a side effect that you can delete text with them.

    Instead why not take advantage of the charming scripting language vim provides. It’s easier and like a trip on the way-back machine. If you add the following function to your .vimrc file, it will do what you want and be more reusable/flexible:

    fun! DelBlock(thePattern)
      let origLineNumber = line(".")
      let lineNumber = origLineNumber
    
      let lineString = getline(lineNumber)
      while lineString !~ a:thePattern
        let lineNumber = lineNumber - 1
        if lineNumber < 0
          echo "Function not found :/"
        endif
        let lineString = getline(lineNumber)
      endwhile
      let startLine = lineNumber
    
      let lastLineInFile = line("$")
      let lineNumber = origLineNumber + 1
      let lineString = getline(lineNumber)
      while lineNumber != lastLineInFile && lineString !~ a:thePattern
        let lineNumber = lineNumber + 1
        let lineString = getline(lineNumber)
      endwhile
      let endLine = lineNumber
      if endLine != lastLineInFile
        let endLine = endLine - 1
      end
    
      execute startLine.","endLine."d"
    endfunction
    
    map ,d :call DelBlock("^>>Start-pattern")<CR>
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 251k
  • Answers 251k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer For such a small table, why not use a UNION?… May 13, 2026 at 9:32 am
  • Editorial Team
    Editorial Team added an answer Control.LostFocus is marked with [BrowsableAttribute(false)]. This means it will not… May 13, 2026 at 9:32 am
  • Editorial Team
    Editorial Team added an answer If you're really worried about referential integrity between the two… May 13, 2026 at 9:32 am

Related Questions

I recently set up, for a learning exercise, an Ubuntu desktop PC with KDE
I am attempting to fix some bilingual xml files using regular expressions to match
I am using Hudson as a CI server to build a few different .Net
I have a bunch of files in a single directory that I would like

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.