Thanks again Steve. Actually, I wanted to perform an operation within
a selection to mimic what vi can do by specifying a range. i.e. do a
search and replace but only in a certain range. While it appears you
can't directly do this in BBedit, your tip will allow me to first
create a selection region, and then I can operation on that region.

thanks!

On Mar 13, 10:39 am, Steve Samuels <[email protected]> wrote:
> Mark, your original question was how to select  all text from the
> cursor up to the _line_ that
> contains specified text. Here are solutions.
>
> Exclude the line from the selection: (?s).+?(?=((?-s)^.*HELLO.*$))
> Include the line in the selection:   (?s).+?((?-s)^.*HELLO.*$)
>
> These will fail if the current line contains the text.
>
> Steve
>
> On Mar 10, 5:39 pm, Steve Samuels <[email protected]> wrote:
>
> > You are welcome, Mark. To give you a head start, with manual
> > references:
>
> > "(?s)" extends the search over line endings (p. 188)
>
> > ".+?HELLO" searches text up through the first occurrence of HELLO (non-
> > greedy matching, p. 177)
>
> > "(?=HELLO)" says to search up to "HELLO" but not include "HELLO" in
> > the found text (positive lookahead, pp. 187,190).
>
> > Parentheses around "HELLO" are a stylistic choice and don't affect
> > this search, though they might be important in other, more complicated
> > searches.
>
> > Steve
>
> > On Mar 10, 2:49 pm, Simdude <[email protected]> wrote:
>
> > > Wow. Thanks Steve. I have to give this a try as soon as I get home.
> > > And I guess it's time to dig into the BBedit docs some more!
>
> > > On Mar 10, 2:35 pm, Steve Samuels <[email protected]> wrote:
>
> > > > Searching for  "(?s).+?(HELLO)" will select all text from the cursor
> > > > up through the first "HELLO" and "(?s).+?(?=HELLO)" will select all
> > > > text up to first "HELLO">.
>
> > > > Steve
>
> > > > On Mar 10, 8:35 am, Simdude <[email protected]> wrote:
>
> > > > > Thanks Chris. I did know about the selection operations but when you
> > > > > have to do this repeatedly in a file, it's not as efficient. Scripting
> > > > > is probably a better option but I'll have to improve my Applescript
> > > > > skills to be able to do this faster.
>
> > > > > For any Barebones guys, adding something like to to a future BBedit
> > > > > would be a killer feature. With the help of some books, I've used vi
> > > > > to rearrange sections of large documents by using commands like this
> > > > > to find and move sections.  The problem is while you can do this with
> > > > > a single line in vi, it can take 30 minutes to figure out what to type
> > > > > in that line!
>
> > > > > Mark
>
> > > > > On Mar 9, 5:26 pm, Christopher Stone <[email protected]>
> > > > > wrote:
>
> > > > > > On Mar 09, 2011, at 10:28, Simdude wrote:> Is there a way in BBedit 
> > > > > > to operate on ranges of data? For example, when I use vi, if I want 
> > > > > > to do a search and replace on all text from my current cursor to 
> > > > > > the line that contains "HELLO", I would do this:
>
> > > > > > > :.,/HELLO/ s/this/that/g
>
> > > > > > > Can BBedit do this sort of range stuff?
>
> > > > > > ______________________________________________________________________
>
> > > > > > Hey Mark,
>
> > > > > > Not directly.  But you can script that kind of search, or you can 
> > > > > > find/replace in the current selection.  So you could find + 'extend 
> > > > > > selection' to select your range and then find/replace *within* the 
> > > > > > range.
>
> > > > > > --
> > > > > > Best Regards,
> > > > > > Chris

-- 
You received this message because you are subscribed to the 
"BBEdit Talk" discussion group on Google Groups.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
<http://groups.google.com/group/bbedit?hl=en>
If you have a feature request or would like to report a problem, 
please email "[email protected]" rather than posting to the group.
Follow @bbedit on Twitter: <http://www.twitter.com/bbedit>

Reply via email to