Q: (how) can I use occur to match a phrase that stretches over multiple lines?
Consider the following buffer:
Here's a line of text with the phrase "kittens and puppies". Here's an awkward alternative: the phrase "kittens and puppies" stretches across two lines. Here's a false positive: "kittens and otters". I'd like to identify all the locations in the buffer that contain the phrase "kittens and puppies". If I use occur, however, the following two problems arise:
- the phrase "kittens and puppies" matches only the first line, and not the second/third where the phrase wraps over a line break.
- the phrase "kittens" (or "kittens and") also matches the false positive on the last line.
How, if at all, can I use occur to locate the relevant lines in the buffer -- those that contain the entire phrase, or the beginning of one that wraps across lines? If occur can't do it, is there an occur-like alternative that can?
helm-swoop. The prefix argument of it specifies how many lines it matches against.