Контексты поиска/замены для выборки одной строки задаются обычным образом, а для поиска блока редактирования, который может включать несколько файловых строк, задается блоковый контекст поиска, в котором специальные конструкции (%% и $$) определяют поиск начальной и конечной строки блока:
%%<контекст поиска начальной строки блока>
<контекст поиска внутренних строк блока>
$$<контекст поиска конечной строки блока>
В качестве ограничителей начала и конца блока могут использоваться спецконструкции без контекстов:
%%%
(в этом случае начальная строка блока совпадает с началом файла)
$$
(в этом случае конечная и начальная строки блока совпадают)
$$$
(в этом случае конечная строка блока совпадает с концом файла)
Если для контекста поиска отсутствует контекст замены, то это означает, что найденная по контексту поиска строка войдет в сводный файл без изменения.
Примеры блоковых контекстов:
Контекст поиска: Контекст замены: Комментарий: ================================================================ %%<p> блок между обрамляющими <table> граничными тегами <p> и </p>, $$</p> содержащий таблицу с тегом <table> ================================================================= %%{фаза}|{фазов} блок карточек, заголовок {@[} которых содержит производные $${~@[} "" от слова фаза, а тело состоит из конструкций, содержащих квадратную скобку =================================================================
В качестве начальной и конечной строк блока могут быть как отдельные фиксированные конструкции (например, %%<p> и $$</p>), так и произвольные строки, содержащие контекст поиска начальной строки блока (например, %%{фаза}|{фазов}). В последнем случае, конец искомого блока определяется отсутствием в строке заданного контекста начальной строки блока и контекста внутренней строки блока, но тогда он не должен быть включен в блок, что достигается заданием пустого контекста замены "".
Сборка строк и блоков редактирования в отдельный файл может успешно использоваться в сценариях , где существует возможность организовать итерационный процесс для программно изменяемых контекстов поиска.