Алексей Федорчук, Алиса Деева
2008-09-17
Развитые функции поиска и замены — одно из важнейших отличий "настоящих" текстовых редакторов от "буквонабивалок" класса Notepad'а. И Geany здесь стыдиться нечего.
При запуске поиска на экране появляется панель со строкой, где вводится искомая последовательность символов, и серией чекбоксов, определяющих его условия. Поисковая панель не блокирует доступ к окну редактирования; в частности, в обрабатываемом тексте можно выделить фрагмент и щелчком средней кнопки мыши и операцией копирования поместить его в поисковую строку. Предусматривается поиск в двух режимах — обычном и расширенном.
Обычный режим поиска предполагает (рис. 4) поиск последовательности символов, поиск последующего или предыдущего, осуществляемые в пределах текущего документа. Возможно использование регулярных выражений, учёт регистра и так далее.

Рис. 4. Обычный режим поиска
Перейдя с помощью чекера Найти всё в расширенный режим поиска, оный можно осуществить в текущем документе, во всех открытых файлах, а также установить метки на строки, содержащие искомую последовательность символов.

Рис. 5. Расширенный режим поиска
Пункт Найти в файлах позволяет указать каталог, во всех файлах которого следует выполнить поиск введённой последовательности символов, в том числе, при желании, и в подкаталогах любой степени вложенности. При поиске возможно использование обычных и расширенных регулярных выражений для grep, который, судя по всему, и выполняет собственно поиск в этом случае.

Рис. 6. Поиск в файлах указанного каталога
Поиск предполагает возможность замены найденного — и таковая в Geany имеется. И также осуществляется в двух режимах. В обычном режиме замена происходит последовательно, по мере нахождения очередной подлежащей замене последовательности символов. Нажав всё ту же кнопку Заменить все, можно перейти в расширенный режим, дающий возможность замены в выделенном фрагменте текста, в документе целиком, а также в сессии, то есть во всех документах, открытых в данный момент.

Рис. 7. Расширенный режим замены
Возможностью, предоставляемой функцией Найти выделенное нас не удивить — собственно, и при обычном поиске в строке для оного по умолчанию будет помещён выделенный фрагмент, если таковой имелся. А вот с функцией Найти предыдущее выделенное мы ещё не сталкивались — что не делает её менее полезной в ряде ситуаций. Ну и Переход на строку (по заданному её номеру) видится вполне уместным среди функций поиска и замены.