Зависит от того, что вы подразумеваете под поиском строки. Как уже упоминали другие, grep
очень хорош в том, что он делает. Я использую это все время, каждый день.
Но если ваша "строка" - это, скажем, последовательность слов внутри предложения (которая может быть многострочной), то grep
может оказаться не тем, что вы хотите.
Другим инструментом для поиска по нескольким файлам или буферам (или закладкам) является Icicles search. Общая идея заключается в том, что сначала он анализирует файлы в контекстах поиска согласно некоторому определению (например, регулярное выражение), а затем ищет совпадения с вашим текущим входом минибуфера (динамически изменяя результаты поиска по мере редактирования вход).
Принимая во внимание, что grep
всегда использует строки в качестве контекстов поиска, с Сосульками поиск вы не ограничены в том, как вы определяете контексты для поиска. Контексты не должны разделять (исчерпывать) файл; они могут охватывать столько текста файла, сколько вам нужно.
Помимо других возможностей, вы можете использовать Emacs вещь-в-точке определения для различных типов THING в качестве контекстов поиска. Например, вы можете использовать команду icicles-search-thing
с sentence
в качестве типа THING, чтобы использовать предложения в качестве контекстов поиска.
Или вы можете использовать зоны свойств символов в качестве контекстов поиска: например, искать во всех зонах, для которых установлен шрифт с заданным набором граней. Есть много возможностей.
http://www.emacswiki.org/emacs/Icicles_-_Search_Commands%2c_Overview