FAR Editor: Find All

Хотите говорить о Far и не знаете, куда обратиться?
Post Reply
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 times
Been thanked: 15 times

FAR Editor: Find All

Post by DV »

Есть вопрос/пожелание к поиску всех вхождений в редакторе. Конкретно для следующего сценария:
1. Выделяем слово (или несколько слов) в редакторе;
2. Нажимаем F7 (поиск)
3. В окне поиска нажимаем кнопку [ Selection ]
4. Нажимаем кнопку [ All ]

Во время шагов 1-3 всё было прекрасно.
На четвёртом же шаге (при нажатии кнопки [ All ]) происходит вот что:
1) в редакторе снимается выделение со слова (или нескольких слов) в редакторе;
2) в появившемся списке результатов активным элементом является первый, а не тот, который соответствует текущей строке в редакторе (из которой было взято выделенное слово).

Просьба исправить ситуацию по обоим пунктам:
1) когда искомое слово (слова) совпадает с выделенным, то выделение в редакторе не должно сниматься по нажатию кнопки [ All ] в диалоге поиска;
2) при поиске слова (слов), полученного в результате нажатия кнопки [ Selection ] или [ Word ] в диалоге поиска, активным элементом в списке результатов (после нажатия кнопки [ All ]) должен быть тот, который соответствует текущей строке в редакторе (из которой было взято выделенное слово или просто слово под кареткой).
Last edited by DV on Fri 28 Jul, 2017 17:58, edited 2 times in total.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

FAR Editor: Find All

Post by HaRT »

DV wrote: Fri 28 Jul, 2017 17:57активным элементом в списке результатов
По п.2: строго говоря, хочется получить разумную текущую позицию безотносительно того, каким способом получена строка для поиска.
На мой взгляд, разумным является первое вхождение при поиске назад/вперёд от каретки — в зависимости от [ ] Reverse search.
Фар есть инструмент, а не нянька. © 2009 DrKnS
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 times
Been thanked: 15 times

FAR Editor: Find All

Post by DV »

HaRT wrote: Fri 28 Jul, 2017 18:07По п.2: строго говоря, хочется получить разумную текущую позицию безотносительно того, каким способом получена строка для поиска.
Согласен, когда искомое слово не совпадает с текущим (выделенным) в редакторе, то логично переходить в списке к ближайшему вхождению. Если же искомое слово совпадает с текущим (выделенным) в редакторе, тогда так, как я писал выше.

Подумал ещё над первым пунктом: в принципе, он не связан конкретно с тем, совпадает ли искомое слово с выделенным в редакторе или нет. Более общим правилом будет такое: до тех пор, пока из результатов поиска не потребуется изменить выделение в редакторе явно (например, при переходе на другую строку, соответствующую результату поиска), выделение в редакторе меняться не должно. То есть по нажатию кнопки [ All ] выделение в редакторе может измениться исключительно в том случае, когда искомая строка не совпадает с выделенным в редакторе и если в результате нажатия кнопки [ All ] текущая строка в редакторе меняется, чтобы соответствовать ближайшему найденному вхождению в списке результатов поиска.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

FAR Editor: Find All

Post by HaRT »

DV wrote: Fri 28 Jul, 2017 19:14Если же искомое слово совпадает с текущим (выделенным) в редакторе, тогда так, как я писал выше.
Мне кажется, что я просто описал более общий случай. Или Вы можете привести пример, когда искомое совпадает с пред-выделенным и из-за этого текущая позиция в списке найденного должна быть другой?
Прошу заметить, что я говорю именно о каретке, поскольку в режиме постоянных блоков текущее выделение может быть совсем в другом месте.
Фар есть инструмент, а не нянька. © 2009 DrKnS
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 times
Been thanked: 15 times

FAR Editor: Find All

Post by DV »

HaRT wrote: Fri 28 Jul, 2017 19:28Мне кажется, что я просто описал более общий случай.
Да, верно.
Я просто хотел подчеркнуть, что если текущее (выделенное) слово у каретки уже совпадает с искомым, то не нужно сдвигаться дальше вверх или вниз, так как оно уже как бы найдено :)
Last edited by DV on Fri 28 Jul, 2017 20:00, edited 1 time in total.
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 times
Been thanked: 15 times

FAR Editor: Find All

Post by DV »

Разместить как пожелание на bugs.farmanager?
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

FAR Editor: Find All

Post by HaRT »

DV wrote: Mon 31 Jul, 2017 15:18Разместить как пожелание на bugs.farmanager?
Да, было бы неплохо.
И не забудьте, пожалуйста, не только описать там конкретно, что требуется, но и дать там ссылку на это обсуждение (а тут — на созданный запрос).
Фар есть инструмент, а не нянька. © 2009 DrKnS
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 times
Been thanked: 15 times

FAR Editor: Find All

Post by DV »

DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 times
Been thanked: 15 times

FAR Editor: Find All

Post by DV »

Обновил, добавив ещё одну "хотелку":
По нажатию Ctrl+Ins в окне результатов поиска копировать в буфер обмена текст текущего элемента.
В данном случае выделения и копирования с помощью Alt+Ins недостаточно, поскольку найденная строка может быть длиннее окна результатов поиска.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

FAR Editor: Find All

Post by John Doe »

DV wrote: Mon 14 Aug, 2017 15:35По нажатию Ctrl+Ins в окне результатов поиска копировать в буфер обмена текст текущего элемента.
Макросом несложно скопировать всю строку.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

FAR Editor: Find All

Post by Shmuel »

John Doe wrote: Mon 14 Aug, 2017 15:57Макросом несложно скопировать всю строку
, но правильнее сделать это из коробки.
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 times
Been thanked: 15 times

FAR Editor: Find All

Post by DV »

Пример макроса для того, чтобы в окне результатов поиска (Find All) текущий элемент соответствовал текущей строке в редакторе:
Post Reply

Return to “Обсуждение Far Manager”