Имитация многострочного редактирования как в SciTE

Здесь выкладываются готовые к использованию макросы и скрипты.
Post Reply
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Имитация многострочного редактирования как в SciTE

Post by Shmuel »

Latest post of the previous page:

1. Багфикс в добавленной вчера опции.
2. Поддержка ввода ALT+<числовой код> - нужен Far >= 3.0.4457.
User avatar
HaRT
Moderator
Posts: 10867
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Имитация многострочного редактирования как в SciTE

Post by HaRT »

Shmuel wrote: 2. Поддержка ввода ALT+<числовой код> - нужен Far >= 3.0.4457.
У меня символ вставляется только в текущую строку — независимо от ширины блока.
Разумеется, проверял без прочих скриптов. Справочно: OptReplaceBlock = true.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Имитация многострочного редактирования как в SciTE

Post by Shmuel »

HaRT wrote: У меня символ вставляется только в текущую строку — независимо от ширины блока.
Установил отдельно 4457 с новым профилем - всё по умолчанию, ничего не менял. Единственный макрофайл - сабжевый. Всё чётко работает.
User avatar
HaRT
Moderator
Posts: 10867
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Имитация многострочного редактирования как в SciTE

Post by HaRT »

Shmuel, даже и не знаю, в чём дело. Вроде все проги, которые могли влиять, перед проверкой выгрузил…
От постоянства блоков тоже не зависит. Посмотрим, что другие напишут.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Имитация многострочного редактирования как в SciTE

Post by Shmuel »

HaRT, попробуйте этот вариант:
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

Имитация многострочного редактирования как в SciTE

Post by sToLp »

У меня тоже по ALT+<числовой код> символ вставляется только в текущую строку. Увы, и в свежеприведённом варианте макроса тоже.
Win10x64entRu, Far 3.0.4457 (и в x64, и в x86).
User avatar
HaRT
Moderator
Posts: 10867
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Имитация многострочного редактирования как в SciTE

Post by HaRT »

Shmuel wrote: попробуйте этот вариант
Спасибо, починилось.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Имитация многострочного редактирования как в SciTE

Post by Shmuel »

sToLp, пока ничем не могу помочь. В последнем варианте скрипта проверка простая: отпускание ALT и наличие при этом символа в поле UnicodeChar. Даже не предполагаю, что тут может быть не так.
User avatar
HaRT
Moderator
Posts: 10867
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Имитация многострочного редактирования как в SciTE

Post by HaRT »

Вчера несколько раз натолкнулся на такую ситуацию: у файла выставлен атрибут Read-only (чтобы случайно не изменить текст), я об этом благополучно забыл, открываю его на редактирование (редактор открывается с запретом изменения, но ‘-’ в строке состояния я, разумеется, не замечаю), пытаюсь применять многострочное редактирование (в частности [b]BS[/b]/[b]Del[/b]) — область выделения смещается, изменения не вносятся. „Что за чертовщина?!“ Собрался было уже накатать жалобу, но перепроверил на другом файле — там порядок; тут-то до меня и дошло.
Просьба: в „залоченном“ редакторе при вызове модифицирующих операций (удаление влево/вправо, ввод и т.п.) не делать совсем ничего либо только как-то индицировать, что операция не может быть выполнена (например, моргнуть выделением ненадолго).
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Имитация многострочного редактирования как в SciTE

Post by Shmuel »

HaRT wrote: Просьба: в „залоченном“ редакторе при вызове модифицирующих операций (удаление влево/вправо, ввод и т.п.) не делать совсем ничего
Логично.
User avatar
HaRT
Moderator
Posts: 10867
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Имитация многострочного редактирования как в SciTE

Post by HaRT »

Пожелание: чтобы при нажатии [b]CtrlAltShiftLeft[/b]/[b]CtrlAltShiftRight[/b] происходило перемещение активной границы блока к соответствующей (влево/вправо) границе слова в текущей строке — аналогично тому, что происходит с поточным выделением по [b]CtrlShiftLeft[/b]/[b]CtrlShiftRight[/b].
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Имитация многострочного редактирования как в SciTE

Post by Shmuel »

Пожелание понятно, а вот кнопкосочетания не очень. Во-первых, их трудно нажимать (тренировка нужна), а во-вторых при нажатии CtrlAltShift происходит временное переключение редактора на "десктоп".
User avatar
HaRT
Moderator
Posts: 10867
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Имитация многострочного редактирования как в SciTE

Post by HaRT »

Shmuel wrote: Пожелание понятно, а вот кнопкосочетания не очень
Кнопкосочетания образованы строго логически: Left/Right означает направление (в пределах строки), Ctrl означает перемещение по границам слов, Shift означает изменение выделения (расширение/сжатие), Alt означает работу с блочным выделением. Именно такие кнопкосочетания по умолчанию делают именно это, например, в Visual Studio. Убираем любой модификатор — получаем в чём-то аналогичное действие: без Alt — работа с поточным выделением, без Ctrl — раз-/до-выделение по символам, без Shift — просто перемещение.
Shmuel wrote: при нажатии CtrlAltShift происходит временное переключение редактора на "десктоп"
У меня посредством * System.CASRule │integer│2 = 0x2 на гашение окон оставлена только правая тройка, а левая освобождена для кнопкосочетаний. Кстати, часто ли Вы вообще пользуетесь этим гашением? Я — очень редко.
Shmuel wrote: их трудно нажимать (тренировка нужна)
Левые мизинец, большой и безымянный плюс правый мизинец — вроде всё просто и вполне физиологично.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Имитация многострочного редактирования как в SciTE

Post by Shmuel »

HaRT wrote: Левые мизинец, большой и безымянный плюс правый мизинец — вроде всё просто и вполне физиологично.
Офтоп, конечно, но для меня это совсем не физиологично. У меня большие и мизинцы в работе с клавиатурой совсем не участвуют. Кстати, я только сейчас этот факт обнаружил.
User avatar
HaRT
Moderator
Posts: 10867
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Имитация многострочного редактирования как в SciTE

Post by HaRT »

Shmuel, да и чёрт нею, с распальцовкой. Кому будет неудобно, переназначат на что-нибудь другое.
Я же лишь заостряю внимание, что предлагаемые мною кнопкосочетания логичные и в определённом смысле стандартные.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6840
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Имитация многострочного редактирования как в SciTE

Post by Shmuel »

В шапке новая версия, с незначительными изменениями:
1. FIX - не работал ShiftSpace.
2. Добавлена опция OptUseAltCodes для активизации ввода ALT+<числовой код>. По умолчанию = false, так как текущая реализация этой фичи оставляет желать лучшего. У кого работает и ничему не мешает, исправьте на true.
Post Reply

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