IncSearch — быстрый поиск в редакторе

Здесь выкладываются готовые к использованию макросы и скрипты.
Post Reply
User avatar
John Doe
Бюрократ
Posts: 14582
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

IncSearch — быстрый поиск в редакторе

Post by John Doe »

Инкрементальный поиск — это поиск в редакторе без использования диалогового окна.
Введённый текст ищется сразу по мере его набора, и найденное индицируется выделением.
Кроме того подсвечиваются все вхождения искомой строки, и подсветка остаётся после
завершения поиска.



Актуальная версия:
raw | zip
User avatar
John Doe
Бюрократ
Posts: 14582
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Обновление

Post by John Doe »

[*]Адаптация к изменениям в билде 4098.
[*]Внутренние изменения и прочая косметика.
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

Re: IncSearch — быстрый поиск в редакторе

Post by Maximus5 »

Попробовал. Первым делом добавил в enterSearchMode() первой строчкой BM.Add() и закомментарил восстановление позиции по Esc )
Может это опцией в начале файла оформить?
AleXH
Posts: 1000
Joined: Sun 12 Apr, 2009 05:21
Been thanked: 1 time

Re: IncSearch — быстрый поиск в редакторе

Post by AleXH »

Из пожеланий:
1. Если искомое слово содержит более 1-го символа, то при нахождении вхождения за правой границей экрана, из-за правой границы виден лишь 1-й символ найденного слова. Хотелось бы видеть всё слово (фразу) с позиционированием курсора на 1-й символ.
2. Поиск по регэкспам.
User avatar
John Doe
Бюрократ
Posts: 14582
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Re: IncSearch — быстрый поиск в редакторе

Post by John Doe »

>закомментарил восстановление позиции по Esc
>Может это опцией в начале файла оформить?
Думал об этом, но показалось лишним, т.к. и без Esc есть несколько способов выйти из режима поиска.
Насчёт безусловного вызова BM.Add() тоже есть сомнения: стек закладок будет захламляться.
User avatar
John Doe
Бюрократ
Posts: 14582
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Re: IncSearch — быстрый поиск в редакторе

Post by John Doe »

>Хотелось бы видеть всё слово (фразу) с позиционированием курсора на 1-й символ.
Данный скрипт целиком полагается на EditFind (или на встроенный поиск), возможно стоит усовершенствовать там (впрочем не факт, хотелка специфическая).

>Поиск по регэкспам
Как автор аналогичного скрипта вы и без меня знаете, что поиск с регэкспами будет работать, стоит только предварительно включить его в настройках поиска.
Т.е. очевидно что вам хотелось бы большего удобства.
Так как именно вы это видите?
User avatar
HaRT
Moderator
Posts: 11458
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 270 times
Been thanked: 417 times

IncSearch — быстрый поиск в редакторе

Post by HaRT »

John Doe wrote:Т.е. очевидно что вам хотелось бы большего удобства.
Так как именно вы это видите?
В тех реализациях инкрементного поиска, которые мне кажутся наиболее удобными, есть возможность на лету переключать такие параметры, как case sensitive, whole words и regular expression. Делается это горячими клавишами — например, AltС, AltW и AltG соответственно.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 14582
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

IncSearch — быстрый поиск в редакторе

Post by John Doe »

Данный скрипт сам вообще не ищет.
И наворачивать AltС, AltW и AltG вряд ли целесообразно (при текущей архитектуре), т.к. может получиться нагромождение костылей.

Другой вопрос, что есть смысл и сам поиск осуществлять скриптом. Но это уже будет совсем другой скрипт.
User avatar
John Doe
Бюрократ
Posts: 14582
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

IncSearch — быстрый поиск в редакторе

Post by John Doe »

AleXH wrote:Хотелось бы видеть всё слово (фразу) с позиционированием курсора на 1-й символ.
Сравнил поведение EdtFind и стандартного поиска.
Стандартный позиционируется так, чтобы до правой границы всегда оставалось несколько символов.
Так что думаю уместно сообщить о вашем пожелании в тему EdtFind.

Напомню также, что при использовании IncSearch можно воспользоваться курсорными клавишами.
Это конечно отключит режим поиска, но его несложно включить обратно, и восстановить искомую строку с помощью BS.
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

IncSearch — быстрый поиск в редакторе

Post by Maximus5 »

Пробел ищет, а вот Таб что-то не хочет. Таб проваливается в редактор завершая поиск.
User avatar
John Doe
Бюрократ
Posts: 14582
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

IncSearch — быстрый поиск в редакторе

Post by John Doe »

Если включить регэкспы, то можно искать \t.
Или можно добавить в таблицу xform соответствующую запись: Tab = " " (в кавычках символ табуляции, можно ввести с помощью CtrQ Tab)
Maximus5
Posts: 3295
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 10 times
Contact:

IncSearch — быстрый поиск в редакторе

Post by Maximus5 »

Спасибо, заработало
ccaid
Posts: 909
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 24 times
Been thanked: 6 times

IncSearch — быстрый поиск в редакторе

Post by ccaid »

у вас подхват выделенного сделан более агрессивно: достаточно находиться на той же строке для его срабатывания. это сознательно сделано?
Фар делают добрые люди
User avatar
John Doe
Бюрократ
Posts: 14582
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

IncSearch — быстрый поиск в редакторе

Post by John Doe »

ccaid, мешает?
ccaid
Posts: 909
Joined: Fri 12 Jun, 2009 16:04
Has thanked: 24 times
Been thanked: 6 times

IncSearch — быстрый поиск в редакторе

Post by ccaid »

непривычно, пока наблюдаю
Фар делают добрые люди
Post Reply

Return to “Полезные макросы и скрипты”