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 »

Latest post of the previous page:

DeeZ wrote:если ничего не найдено - то тормозит все жутко. предлагаю для теста скачать словарь Даля, и попробовать в нем поискать
Хех, ж…а есть, а слова нет

Короче, регистронезависимость тормозит. Будем оптимизировать…
DeeZ
Posts: 100
Joined: Sat 20 Mar, 2010 18:48

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

Post by DeeZ »

Centaur wrote:
DeeZ wrote:если при вызове плагина, курсор стоит на выделенном фрагменте - то подхватить. иначе начать работу с пустым патерном
Я ещё раз повторю: Я нажал клавишу, на которую назначен макрос, вызывающий плагин. Я хочу начать набирать паттерн, и чтобы он сразу искался. А не тратить мыслительные ресурсы на осознание необходимости стереть или не стирать автоподхваченный паттерн.
сделай это опцией. кому то может быть полезна такая функция (хотя для меня проблема уже решена макросом).
Centaur wrote:Вот такой макрос «подхватывает» выделенный блок (if any). Им пользоваться, на мой взгляд, не то чтобы неудобно, а невозможно — потому что за то время, пока я сотру подхваченное, я уже добежал бы стрелками до того места, в которое собираюсь прыгать.

Code: Select all

$If (Selected) Clip(5,2) CtrlIns F11 q f ShiftIns $Else F11 q f $End
Мне такое поведение действительно нужно, и полезно. я к нему привык. За макрос спасибо. Его надо чуть чуть доработать, до вставки (перед ShiftIns $Else) переместить курсор в начало выделенного блока, чтобы плагин не искал следующее вхождение, а оставался там где выделенный блок. А то если вхождение единственное или последнее - достаточно не приятный эффект).
результат:

Code: Select all

$If (Selected) Clip(5,2) CtrlIns editor.sel(1,0) F11 q f  ShiftIns $Else F11 q f $End
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

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

Post by Centaur »

DeeZ wrote:сделай это опцией. кому то может быть полезна такая функция (хотя для меня проблема уже решена макросом).
Раз проблема решается макросом, усложнять плагин не нужно.
User avatar
Toxa
Posts: 275
Joined: Wed 27 Jul, 2005 14:35
Location: Москва
Contact:

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

Post by Toxa »

Centaur
Ура! Спасибо! Только сейчас увидел этот плагин. Это — именно то, чего я так долго ждал.

Сразу возникли вопросы. Ветку не читал, поэтому заранее прошу меня простить, если повторю чей-то вопрос.

1. Сразу бросилось в глаза, что если очередной символ не найден, он всё равно вставляется в строку поиска. И когда нажимаешь BS, ожидаешь, что сотрётся предыдущий найденный символ. Например, можно ввести в поиск строку «аааааааааааааааааааааа», хотя в тексте встречается, скажем, только «аа».

2. Если во время работы плагина попытаться поменять направление поиска (ещё раз вызвать плагин, только вместо Search forward выбрать Search backward), плагин напишет: already active, но направление не меняет.

3. Если BS удалить все введённые символы, возвращаемся не к той же позицции, с которой начинали. Если нажимаем ESC, возвращаемся куда надо.

А вообще цены этому плагину нет. Пользуюсь плагином Incrementsl Search постоянно. И вообще инкрементный поиск пользую и в панелях, и в браузерах и вообще везде, где он есть.
Может кому пригодится.
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

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

Post by Centaur »

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

See also быстрый поиск в Firefox’е.
Toxa wrote:2. Если во время работы плагина попытаться поменять направление поиска (ещё раз вызвать плагин, только вместо Search forward выбрать Search backward), плагин напишет: already active, но направление не меняет.
Плагин считает попытку повторного входа за ошибку, за отсутствием полной ясности, как следует поступать. Склоняюсь к тому, чтобы начинать новый поиск с текущей позиции.
Toxa wrote:3. Если BS удалить все введённые символы, возвращаемся не к той же позицции, с которой начинали. Если нажимаем ESC, возвращаемся куда надо.
Баг.
User avatar
Toxa
Posts: 275
Joined: Wed 27 Jul, 2005 14:35
Location: Москва
Contact:

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

Post by Toxa »

4. А чего бы F3/Shift+F3 не вынести в меню плагина? Во-первых, кому-то захочется использовать другие клавиши, а во-вторых, есть необходимость вызывать сразу поиск следующего. Да, только тогда плагин должен запоминать предыдущую строку поиска.
Может кому пригодится.
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

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

Post by Centaur »

Toxa wrote:3. Если BS удалить все введённые символы, возвращаемся не к той же позицции, с которой начинали. Если нажимаем ESC, возвращаемся куда надо.
Хех, баг, собака, хитрый. Проявляется, если стояли за концом строки; если стояли внутри строки, всё нормально. Возвращается в начало строки, следующей за той, где стояли.
User avatar
Toxa
Posts: 275
Joined: Wed 27 Jul, 2005 14:35
Location: Москва
Contact:

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

Post by Toxa »

Centaur wrote:Проявляется, если стояли за концом строки; если стояли внутри строки, всё нормально. Возвращается в начало строки, следующей за той, где стояли.
А ещё с табулацией что-то подобное, когда вверх ищем.
Может кому пригодится.
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

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

Post by Centaur »

Toxa wrote:4. А чего бы F3/Shift+F3 не вынести в меню плагина? Во-первых, кому-то захочется использовать другие клавиши, а во-вторых, есть необходимость вызывать сразу поиск следующего. Да, только тогда плагин должен запоминать предыдущую строку поиска.
А насчёт этого пока думаю.
User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

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

Post by Andrey Budko »

Centaur wrote:Было уже. Фича. Юзкейс: ... не глядя на экран
собака тут порылась? телок что ли рассматриваешь в офисе во время поиска? :)
User avatar
Toxa
Posts: 275
Joined: Wed 27 Jul, 2005 14:35
Location: Москва
Contact:

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

Post by Toxa »

Centaur wrote:Склоняюсь к тому, чтобы начинать новый поиск с текущей позиции.
Ну или с той же позиции, с коротой начинали, с текущей стркой поиска.
Может кому пригодится.
User avatar
Toxa
Posts: 275
Joined: Wed 27 Jul, 2005 14:35
Location: Москва
Contact:

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

Post by Toxa »

Centaur wrote:Было уже. Фича.
Потребовалось сходить пообедать, чтобы осознать, чему так сопротивляется подсознание. Выяснилось, что в наших любимых браузерах (Firefox, Chrome, Safari, Opera) на самом деле не инкрементальный поиск, а поиск всех вхождений с отображением промежуточного результата по мере ввода строки. Строку мы вводим фактически в отдельном поле, там же и курсор моргает. А в редакторе Фара мы вводим символы под курсором, который бежит по тексту. Если мы ошибаемся, символ не появляется. BS удаляет символ перед моргающим курсором — так было всегда. А когда нажимаем 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 »

Andrey Budko wrote:
Centaur wrote:Было уже. Фича. Юзкейс: ... не глядя на экран
собака тут порылась? телок что ли рассматриваешь в офисе во время поиска? :)
Вброс не засчитан. Имеется в виду, что сигнал идёт не вот так:

Code: Select all

пальцы    клава     проц      экран     глаза     мозги
  |----тыц->|         |         |         |         |
  |         |---char->|         |         |         |
  |         |         |--write->|         |         |
  |         |         |         |-------->|         |
  |         |         |         |         |-------->|
  |<-эй ты, ты чо нажал!----------------------------|
  |(упс)    |         |         |         |         |
  |-----BS->|
а сразу вот так:

Code: Select all

пальцы    клава
  |----тыц->|
  |(упс)    |
  |-----BS->|
(простите мне мой UML).
User avatar
Toxa
Posts: 275
Joined: Wed 27 Jul, 2005 14:35
Location: Москва
Contact:

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

Post by Toxa »

Предлагаю сделать опцию.
Может кому пригодится.
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

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

Post by Centaur »

Жду патч, оформленный git’ом.
User avatar
Toxa
Posts: 275
Joined: Wed 27 Jul, 2005 14:35
Location: Москва
Contact:

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

Post by Toxa »

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

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

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