turbo — работа с выделением в редакторе

Здесь обсуждается всё, что касается макросов.
User avatar
John Doe
Бюрократ
Posts: 11127
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 12 times
Been thanked: 72 times

turbo — работа с выделением в редакторе

Post by John Doe » Mon 20 Jul, 2015 19:01

Latest post of the previous page:

Можно так: определяем в начале файла , и далее в соответствующих местах:

Code: Select all

Group {"\1group"}
--
Group {"\2group"}
--
Group {"just text"}
--
Group {}

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

turbo — работа с выделением в редакторе

Post by HaRT » Mon 20 Jul, 2015 19:13

John Doe wrote: Можно так
Не могу похвастаться полным пониманием предлагаемого решения.
Поскольку у меня этих групп всего 3+2, у себя пока оставлю как есть. Но для более общего решения, похоже, предлагаемый Вами подход будет действительно лучше.
Фар есть инструмент, а не нянька. © 2009 DrKnS

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

turbo — работа с выделением в редакторе

Post by HaRT » Thu 12 Nov, 2015 12:22

John Doe wrote: Для непостоянных блоков кнопки Left/Right перемещают курсор между позициями начала и конца выделения (предлагалось тут)
Выяснилось, что эта функциональность мешает двигать блок (что и неудивительно).
Есть ли какой-то простой способ заставить оба макроса (в смысле, здешний и тамошний) выполниться в предопределённом порядке?
Фар есть инструмент, а не нянька. © 2009 DrKnS

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

turbo — работа с выделением в редакторе

Post by HaRT » Thu 12 Nov, 2015 18:39

HaRT wrote: какой-то простой способ заставить оба макроса (в смысле, здешний и тамошний) выполниться в предопределённом порядке?
Оказывается, там не макрос, а обработчик события ввода.
HaRT wrote:
Shmuel wrote: Там каждый из обоих макросов заканчивается вызовом Editor.Sel(RESET).
Вылечил заменой на Keys('AKey').
5 минут спустя: недовылечил. Теперь вправо перескакивает через одну позицию. Но идея ясна, как понадобится, дочиню.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 11127
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 12 times
Been thanked: 72 times

turbo — работа с выделением в редакторе

Post by John Doe » Fri 13 Nov, 2015 19:56

Shmuel wrote: Вообще-то эти макросы отношения к Turbo вроде не имеют, они как бы сами по себе.
Так и есть.
HaRT wrote: Выяснилось, что эта функциональность мешает двигать блок (что и неудивительно).
Не знаю как именно предполагается двигать блок, как-нибудь попробую.
Эти 2 макроса точно должны функционировать одновременно? Может быть нужен condition?

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

turbo — работа с выделением в редакторе

Post by HaRT » Fri 13 Nov, 2015 20:05

John Doe wrote: Эти 2 макроса точно должны функционировать одновременно? Может быть нужен condition?
Не нужны, потому я и подзабил. Если пойму, когда что мне надо, сделаю условия или ещё что и сюда отпишусь.
Фар есть инструмент, а не нянька. © 2009 DrKnS

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

turbo — работа с выделением в редакторе

Post by HaRT » Wed 18 Nov, 2015 18:26

Создаю блочное выделение (непостоянное); прыгаю куда-то — оно сбрасывается (нормально); пытаюсь восстановить по ^KP — восстанавливается уже поточное выделение (с теми же началом и концом). При этом, например, Editor_SelectingEx работает нормально.
Far Manager v3.0 build 4457 x86 (2015-11-18), без прочих скриптов (оставлены только *Turbo* и macroEx.lua).
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 11127
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 12 times
Been thanked: 72 times

turbo — работа с выделением в редакторе

Post by John Doe » Wed 18 Nov, 2015 21:06

По всей видимости недоделано: сейчас тип блока нигде не сохраняется, вместо этого используется "глобальное" состояние (которое вроде как можно изменить по ^KN)

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

turbo — работа с выделением в редакторе

Post by HaRT » Wed 18 Nov, 2015 21:26

John Doe wrote: тип блока нигде не сохраняется
Пожелание: сохранять и восстанавливать.
John Doe wrote: "глобальное" состояние (которое вроде как можно изменить по ^KN)
Насколько я вижу, это переключает тип текущего выделения. При отсутствии такового никакого влияния не вижу.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 11127
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 12 times
Been thanked: 72 times

turbo — работа с выделением в редакторе

Post by John Doe » Wed 18 Nov, 2015 21:37

HaRT wrote: Пожелание: сохранять и восстанавливать.
Логично. Но не знаю когда доберусь до фара.
HaRT wrote: Насколько я вижу, это переключает тип текущего выделения. При отсутствии такового никакого влияния не вижу.
По и идее при отсутствии выделения эта комбинация меняет глобальное состояние, что должно быть видно, если после этого попытаться восстановить предыдущее выделение.
Это по коду. По факту может и не так, проверить пока не на чем.

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

turbo — работа с выделением в редакторе

Post by HaRT » Thu 19 Nov, 2015 20:45

Я заметил, что если выполнить [b]^KC[/b] (дублировать блок) при отсутствии выделения, то дубликат текущей строки допишется в её конец, а каретка скакнёт в её начало. Хотелось бы, чтобы вместо этого копия строки добавлялась перед текущей строкой (единообразно тому, что, например, при отсутствии выделения по [b]CtrlIns[/b] копируется вся текущая строка вместе с EOL), а каретка никуда бы не смещалась.
Фар есть инструмент, а не нянька. © 2009 DrKnS

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

turbo — работа с выделением в редакторе

Post by HaRT » Fri 22 Jan, 2016 19:08

Обнаружилось, что в редакторе не работает голый [b]CtrlO[/b] — при том, что [b]CtrlK[/b] и [b]CtrlQ[/b] работают. (Проверял без лишних плагинов и макрофайлов.)
Пришлось подставить . В чём может быть дело? Реально ли это исправить в turbo или в macroEx?
Фар есть инструмент, а не нянька. © 2009 DrKnS

Shmuel
Posts: 5161
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 15 times
Been thanked: 145 times

turbo — работа с выделением в редакторе

Post by Shmuel » Fri 22 Jan, 2016 21:22

HaRT, поле code не документировано, следовательно его поддержка может быть убрана в любой момент. Нужно использовать action.

User avatar
sToLp
Posts: 712
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 31 times
Been thanked: 5 times

turbo — работа с выделением в редакторе

Post by sToLp » Mon 16 May, 2016 06:24

При установленном Ctrl-K-blocks.lua и попытке в редакторе выделить текст (стрелками, мышью или по CtrlA) Far последней ночной сборки 4674 обеих разрядностей, работающий по Win10x64entRu, валится. В 4672 этого не наблюдалось.


User avatar
zg
zero-gravity
Posts: 5246
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 42 times
Contact:

turbo — работа с выделением в редакторе

Post by zg » Mon 16 May, 2016 11:31

sToLp wrote:При установленном Ctrl-K-blocks.lua и попытке в редакторе выделить текст (стрелками, мышью или по CtrlA) Far последней ночной сборки 4674 обеих разрядностей, работающий по Win10x64entRu, валится. В 4672 этого не наблюдалось.
EE_REDRAW зацикливается, желательно проверять на повторную входимость.

2useven10
Posts: 2983
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 2 times
Been thanked: 80 times

turbo — работа с выделением в редакторе

Post by 2useven10 » Tue 17 May, 2016 11:10

zg wrote: желательно проверять на повторную входимость.
Где? Во всех скриптах-плагинах, которых это коснулось (хотя не все знают), или всё-таки в консерватории?
subj это раз, это 2, это 3, ...

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

turbo — работа с выделением в редакторе

Post by HaRT » Tue 28 Jun, 2016 13:33

Макросы на Left/Right конфликтуют с таковыми из SciTE_like в части OptCursorMoveResetsBlock = false.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Post Reply

Return to “Обсуждение макросов”