QuickSearch — инкрементальный поиск в редакторе

Здесь можно обсудить ваш любимый плагин.
User avatar
Toxa
Posts: 275
Joined: Wed 27 Jul, 2005 14:35
Location: Москва
Contact:

Re: QuickSearch — инкрементальный поиск в редакторе

Post by Toxa »

Latest post of the previous page:

Я знал, что придётся когда-нибудь садиться за изучение Си и Far API :(
А пока написал для себя пару макросов для поиска следующего/предыдущего вхождения выделенного фрагмента.

Может кому пригодится.

User avatar
Wave
Posts: 1771
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 4 times
Been thanked: 16 times

Re: QuickSearch — инкрементальный поиск в редакторе

Post by Wave »

Centaur wrote:
Toxa wrote:1. Сразу бросилось в глаза, что если очередной символ не найден, он всё равно вставляется в строку поиска. И когда нажимаешь BS, ожидаешь, что сотрётся предыдущий найденный символ. Например, можно ввести в поиск строку «аааааааааааааааааааааа», хотя в тексте встречается, скажем, только «аа».
Было уже. Фича. Юзкейс: набираем паттерн; промахиваемся по клавише; замечаем промах, не глядя на экран; инстинктивно жмём BS, ожидаем, что сотрётся ошибочно набранный символ. Если сделать «как везде» — будет так: набираем паттерн; промахиваемся по клавише; замечаем промах, не глядя на экран; инстинктивно жмём BS, вспоминаем, что инкрементальный поиск не такой, как обычный ввод, говорим «б$я», вспоминаем, что у нас там была за последняя буква, восстанавливаем её.
Нинада всяких сомнительных интеллектуальных додумок за пользователя. Я могу смотреть на экран, но не в строку ввода фильтра в этот момент. Тут либо не вставлять следующую «а», как в quicksearch в панелях, либо удалять ровно то, что вставлено. Я за второй вариант.

В фильтре альтхистори есть такая штука, что если мы набираем «pa», а все оставшиеся после фильтрации варианты содержат «panel», то нажатие TAB дополнит фильтр до «panel». Вот подобный фичерквест предложу. Не знаю только, какую клавишу тут заюзать бы. А ещё F3 у меня занята под макросы.
Пользуюсь ФАРом больше 20 лет © собирательный.

User avatar
Toxa
Posts: 275
Joined: Wed 27 Jul, 2005 14:35
Location: Москва
Contact:

Re: QuickSearch — инкрементальный поиск в редакторе

Post by Toxa »

Wave wrote:Тут либо не вставлять следующую «а», как в quicksearch в панелях, либо удалять ровно то, что вставлено.
Что-то никак не пойму второй вариант. Инкрементный поиск и автодополнение в одном флаконе? Я пока за первый.
Может кому пригодится.

User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

Re: QuickSearch — инкрементальный поиск в редакторе

Post by Centaur »

Wave wrote:В фильтре альтхистори есть такая штука, что если мы набираем «pa», а все оставшиеся после фильтрации варианты содержат «panel», то нажатие TAB дополнит фильтр до «panel». Вот подобный фичерквест предложу.
Мысль интересная, но есть нюансы. Вводим слово, встречающееся в файле в единственном экземпляре. Нажимаем completion. Паттерн должен втянуть в себя весь хвост файла? Или, раз уж мы не умеем искать многострочно, хвост строки? Или… в общем, где конец дополняемого?

User avatar
lordmuzer
Posts: 522
Joined: Mon 12 Nov, 2007 22:05
Location: Киев
Contact:

Re: QuickSearch — инкрементальный поиск в редакторе

Post by lordmuzer »

может дополнять только до конца текущего (вводимого) слова.
то есть, начали вводить "абс" а в тексте есть только слово "абсд", нажал дополнить получил "абсд", потом ввожу дальше нужный паттерн.

User avatar
HaRT
Moderator
Posts: 9232
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 92 times
Been thanked: 195 times

Re: QuickSearch — инкрементальный поиск в редакторе

Post by HaRT »

Centaur wrote:в общем, где конец дополняемого?
WordDiv?
А в AltHistory вообще фильтрация исключительно удобная, особенно поиск по заглавным. И документация достаточно полная. Жаль только, что исходники закрыты.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
Toxa
Posts: 275
Joined: Wed 27 Jul, 2005 14:35
Location: Москва
Contact:

Re: QuickSearch — инкрементальный поиск в редакторе

Post by Toxa »

Автдополнение — хорошая фича, тоже не откажусь. Добавить её в меню, вызывать макросом по Tab, Ctrl+Space или кому как хочется. Извините за занудство, но я не вижу тут связи с проблемой ввода или не ввода несуществующих символов. ИМХО надо сделать как quicksearch в панелях. Так же работает и плагин Incremental Search. И это не привычка, это действительно логично и удобно. Я проверял.
Может кому пригодится.

User avatar
lordmuzer
Posts: 522
Joined: Mon 12 Nov, 2007 22:05
Location: Киев
Contact:

Re: QuickSearch — инкрементальный поиск в редакторе

Post by lordmuzer »

если Incremental Search устраивает зачем тогда его заменять чем то
и снова подгонять под Incremental Search )

User avatar
Toxa
Posts: 275
Joined: Wed 27 Jul, 2005 14:35
Location: Москва
Contact:

Re: QuickSearch — инкрементальный поиск в редакторе

Post by Toxa »

Недостатков у Incremental Search масса, а сабж почти идеален. Если программа делает что-то правильно, это не значит, что все остальные под неё подогнаны.
Может кому пригодится.

User avatar
lordmuzer
Posts: 522
Joined: Mon 12 Nov, 2007 22:05
Location: Киев
Contact:

Re: QuickSearch — инкрементальный поиск в редакторе

Post by lordmuzer »

тоже верно, я не видел Incremental Search, наверно поспешил в выводами )

DeeZ
Posts: 100
Joined: Sat 20 Mar, 2010 18:48

Re: QuickSearch — инкрементальный поиск в редакторе

Post by DeeZ »

автозавершение лишне, имхо.
на больших файлах будет сильно тормозить. либо перед началом поиска надо будет индекс создать, что опять приведет к задержке начала поиска.

легкое подобие автозавершения можно сделать, начать вводить, нажать tab и spase. дополним слово до пробела.
немного дополнив макрос для подхвата выделеного можно сделать поиск с автозавершением.


User avatar
Toxa
Posts: 275
Joined: Wed 27 Jul, 2005 14:35
Location: Москва
Contact:

Re: QuickSearch — инкрементальный поиск в редакторе

Post by Toxa »

Centaur! Я честно пытался привыкнуть к поведению плагина, но за 3 месяца ежедневного использования понял, что он неудобен, и что необходима настройка, разрешать или нет ввод не найденного символа. Лично мне было бы удобнее, чтобы поиск работал как в панелях. Думаю, меня поддержат.

Небольшое рассуждение, почему в популярных браузерах это так не раздражает: по-первых, в браузерах текст вводится под курсором (мигающим), а в данном плагине текст под курсором вдруг перестаёт появляться, а внимание прикованно именно к курсору; во-вторых, в браузере вводимый текст можно полноценно редактировать, выделяя часть строки или нажимая Ctrl+BS.

Очень прошу сделать галочку или хотя бы техноут!
Может кому пригодится.

User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

Re: QuickSearch — инкрементальный поиск в редакторе

Post by Centaur »

Уговорили, 0.0.2.6.

User avatar
Toxa
Posts: 275
Joined: Wed 27 Jul, 2005 14:35
Location: Москва
Contact:

Re: QuickSearch — инкрементальный поиск в редакторе

Post by Toxa »

Всё работает, спасибище! Я счастлив. Надеюсь, хоть кому-то ещё это пригодится. Вообще этот плагин — мощнейшее средство, достойное внесения в тело самого Фара.
Может кому пригодится.

DeeZ
Posts: 100
Joined: Sat 20 Mar, 2010 18:48

Re: QuickSearch — инкрементальный поиск в редакторе

Post by DeeZ »

Спасибо, мне тоже так больше нравится.

Небольшой баг:
Ввод прекращается, но в строке остается последний не найденный символ.

Например открываем techinfo.reg и начинаем искать new123.
набирается new1, выделено new. Думаю стоит не рисовать если не найдено этотпоследний символ.
Справедливости ради стоит сказать, что дальше работает корректно и ожидаемо, если после new1 нажать пробел то 1 сотрется и вводится пробел, поиск продолжится. Но эта 1 в строке ввода чуть смущает.

User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

Re: QuickSearch — инкрементальный поиск в редакторе

Post by Centaur »

Там же пишется «/new1: not found». Если писать «new: not found», это введёт пользователя в заблуждение.

Возможный вариант: писать текущий паттерн, а в сообщении — тот, который не найден: «/new ("new1" not found)»?

И, кстати, оглядываемся на старших: Visual Studio даёт ввести один неправильный символ, показывает «Incremental search: new1 (not found)», затем не даёт ничего вводить, пока не удалишь эту единицу.

Post Reply

Return to “Обсуждение плагинов”