Depends on what you mean by finding the string. As others have noted, grep very good at what it does. I use it all the time, every day.
But if your βstringβ is, say, a sequence of words inside a sentence (which can be multi-line), then grep may not be what you need.
Another tool for searching across multiple files or buffers (or bookmarks) is Icicles search. The general idea is that it first analyzes the files in the search contexts according to some definition (for example, regexp), and then searches for matches with the current minibuffer input (the search changes dynamically as you edit your input).
While grep always uses strings as search contexts, when searching for Icicles, you are not limited by how you define contexts for the search. Contexts should not share (exhale) a file; they can cover as much or less file text as you want.
Among other features, you can use Emacs point definitions for various THING types as search contexts. For example, you can use the icicles-search-thing command with sentence as a type of THING to use sentences as search contexts.
Or you can use symbol property zones as search contexts: for example, search for all zones that are locked in a font with a given set of faces. There are many possibilities.
http://www.emacswiki.org/emacs/Icicles_-_Search_Commands%2c_Overview
source share