Инкрементальный поиск — это поиск без диалогового окна.
Введённый текст отображается в строке статуса и ищется сразу по мере его набора.
Управление:
RAlt — включить режим инкрементального поиска.
Если в текущей строке есть выделенный текст — он подхватывается.
BS — удалить последний введённый символ.
При пустой строке: восстановить предыдущую строку.
CtrlBS — очистить строку поиска.
ShiftIns/CtrlV — вставить строку из буфера обмена.
RCtrl/ShiftF7/F3/Enter — найти следующее вхождение строки.
LCtrl/AltF7/ShiftF3/ShiftEnter — найти предыдущее вхождение строки.
Нажатие любой алфавитно-цифровой (или символьной) клавиши добавляет символ к искомой строке.
Нажатие любой функциональной клавиши отключает режим поиска, клавиша передаётся фару.
(Это касается клавиш управления курсором, и всех клавиш с модификаторами Ctrl/Alt/Shift).
Для прекращения поиска можно также воспользоваться повторным нажатием RAlt.
Esc — прекращает поиск и восстанавливает исходную позицию.
AltRight — расширяет выделение до конца слова.
Немодальный поиск:
Активируется нажатием RAlt+буква (точнее символ слова: \w), или RAltSpace.
Набирать текст нужно удерживая RAlt.
При отпускании RAlt поиск завершается.
Даже после отпускания вернуться в позицию "до поиска" можно с помощью макроса на RAltBS.
Кроме того, поиск можно активировать нажатием RAlt+LCtrl / RAlt+RCtrl.
В этом случае продолжается предыдущий поиск (назад / вперёд).
Доступны те же шорткаты, что и в обычном режиме, за исключением изменения опций.
Чтобы работал Esc (т.е. Alt-Esc) — можно воспользоваться XKeys.
В данной реализации используются функции встроенного поиска FAR, или функции плагинов LuaFAR Search / EdtFind, если доступны
(можно запретить useLFSearch = false/useEdtFind = false).
Использование указанных плагинов позволяет выделить сразу все вхождения строки в тексте.
Настройка:
В начале скрипта в переменной options можно задать умолчания для параметров WholeWords, RegExp, CaseSensitive
В процессе поиска значения можно изменить шорткатами Alt-W/G/C.
Специальный режим поиска: ExtraQuick: каждое нажатие не только прибавляет символ к строке поиска, но и ищет следующее вхождение.
Активируется параметром ExtraQuick в начале скрипта, или шорткатом Alt-Q.
Назначив переменную useBM можно активировать установку закладки при начале поиска (при этом по Esc позиция не восстанавливается)
Идея использования EdtFind позаимствована в теме Быстрый поиск в редакторе (автор ccaid).
Мелкие но неприятные недостатки исходной реализации побудили меня сделать "ещё один быстрый поиск".
Я не понимаю логику работы. В тексте есть несколько вхождений строки. Например, слово services. Перехожу в режим быстрого поиска и начинаю набирать. s переводит на первое вхождение в текст этой буквы. Допустим, как раз на первое вхождение services. Ок. Добавляю e. Ожидаю: выделится se в этом же services. Реальность: он перескакивает на следующее вхождение services и уже там выделяет se. И так далее с каждой новой набранной буквой.
John Doe, при использовании плагина LFSearch, если у него выключена установка [ ] Select found text, не удается отключить в скрипте сверхбыстрый поиск: на ввод каждого дополнительного символа продвигаемся на следующее вхождение.