Набор макросов от SimSU

Здесь выкладываются готовые к использованию макросы и скрипты.
User avatar
SUSim
Posts: 1538
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 5 times
Been thanked: 9 times

Набор макросов от SimSU

Post by SUSim »

Вычисление математических выражений. © SimSU
Календарь. © SimSU
Выполнение команды через меню пользователя. © SimSU
Получение названия клавиши. © SimSU
Ускорение скроллинга колёсиком мышки. © SimSU
Меню плагинов с последнего пункта. © SimSU
Вставка разделённых путей и имён файлов. © SimSU
Редактирование строки ввода диалога в редакторе. © SimSU
Первая строка всегда на экране полезно в качестве заголовков столбцов. © SimSU
Создание резервной копии редактируемого файла. © SimSU
Открытие редактора из редактора. © SimSU
Вставка шаблона мароса. / Insert macro template. © Shmuel SimSU
Простое импортирование макроса FAR. © SimSU
Список завершения LuaMacro. © SimSU
Работа мышкой с выделением в редакторе. © SimSU
Перемещение строк в редакторе. © SimSU
Два синхронных редактора. © SimSU
Быстрый поиск в редакторе. © SimSU
Комментирование/разкомментирование помеченного блока. © SimSU
Памятливый редактор. © SimSU
Работа с помеченным блоком в редакторе. © SimSU
Подсветка табуляции и перевода строк. © SimSU
Умный Del. © SimSU
Умные Home & End. © SimSU
Лёгкое изменение размеров табуляции. © SimSU
Транспонирование (строки превращаются в столбцы) текста. © SimSU
Удаление конечных пробелов и символов табуляции и пустых строк. © SimSU
Завершения слов в редакторе. © SimSU
Запуск приложения в DOSBox [http://www.dosbox.com]. © SimSU
Работа с файлами через контекстное меню (плагин EMenu). © SimSU
Работа с файлами через FastCopy (FastCopy.exe © http://ipmsg.org/tools/fastcopy.html). © SimSU
работа с LNK-файлами (плагин LnkView). © SimSU
Переход по вкладкам плагина Panel Tabs (плагин Panel Tabs © Максим Русов) © SimSU"
Работа с файлами через TeraCopy (TeraCopy.exe © http://www.codesector.com). © SimSU
Визуальное сравнение файлов (плагин VisualCompare © Максим Русов). © SimSU
Работа с псевдонимами (синонимами). © SimSU
Смена диска активной панели RCtrl+стрелки. © SimSU
Работа в командной строке. © SimSU
Удаление резервных и временных файлов. © SimSU
Редактирование описания в файле. © SimSU
Фавориты (избранные папки и плагины) в меню дисков. © SimSU
Работа с датой/временем файлов/папок. © SimSU
Возврат в предыдущую папку, отмена возврата. © SimSU
Включение/отключение поиска на панели после отпускания RAlt. © SimSU
Сохранение/восстановление выделения файлов. © SimSU
Такой же путь & Текущая папка. © SimSU
Выделение файлов аля Explorer. © SimSU
Работа с пометкой файлов. © SimSU
Расширение функциональных клавиш копирования, переноса, создания папки. © SimSU
При смене панели ширина активной панели остается постоянной. © SimSU
SimSU20191214.7z
LuaMacro build 717
(72.73 KiB) Downloaded 30 times
Attachments
SimSU20181114.7z
Улучшения по Вашим предложениям
(70.24 KiB) Downloaded 307 times
Last edited by SUSim on Mon 16 Dec, 2019 18:39, edited 12 times in total.
SimSU ··· ·· -- ··· ··-

draw
Posts: 2
Joined: Sat 18 Oct, 2014 20:42
Has thanked: 1 time

Набор макросов от SimSU

Post by draw »

Latest post of the previous page:

Давно и очень активно пользуюсь макросом Editor_WordComplete.lua. Спасибо!

Хочется добавить пару опций:
  • регистрозависимое/регистронезависимое дополнение
  • предлагать ли дополнение если редактирование идёт внутри слова
Attachments
opts.diff
патч, реализующий доп опции
(3.5 KiB) Downloaded 134 times

User avatar
SUSim
Posts: 1538
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 5 times
Been thanked: 9 times

Набор макросов от SimSU

Post by SUSim »

20181107
1. Editor_WordComplete.lua Завершения слов в редакторе. © SimSU
+ Регистрозависимое дополнение
+ Возможность автодопонения внутри слова
+ Заодно - в лист не попадает недонабранное слово, чтобы не мешалось.

20181102
1. Shell_Favorites.lua Фавориты (избранные папки и плагины) в меню дисков. © SimSU
+ Улучшено движение по меню: Left/Right - родительское/дочернее(если под курсором вложенное меню) меню.
+ Улучшено перемещение пунктов в меню: Ctrl + Up/Down - перместить пункт вверх/вниз; CtrlLeft - переместить пункт в родительское меню, CtrlRight - переместить в дочернее меню(если под перемещаемым пунктом есть такое).

20181011
1. Editor_ShowWhiteSpace.lua Подсветка табуляции и перевода строк. © SimSU
+ поэксплуатируем БАГ FAR - позволяющий вычислить положение окна редактора :)
2. Editor_MouseSelect.lua Работа мышкой с выделением в редакторе. © SimSU
+ поэксплуатируем БАГ FAR - позволяющий вычислить положение окна редактора :)
3. Editor_Pair.lua Два синхронных редактора. © SimSU
* Поправлены координаты...

20180928
1. Editor_SelectingEx.lua Работа с помеченным блоком в редакторе. © SimSU
+ Добавлено немного ИИ в авто перемещение курсора начало/конец блока.

З.Ы. Спасибо, draw!

P.P.S. buniak_a_h, после незначительных правок больше не случается у меня, если что пиши, будем разбираться.

З.З.Ы.Ы.
не напрягает? :
+ поэксплуатируем БАГ FAR - позволяющий вычислить положение окна редактора :)
Last edited by SUSim on Wed 14 Nov, 2018 16:36, edited 2 times in total.
SimSU ··· ·· -- ··· ··-

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

Набор макросов от SimSU

Post by zg »

SUSim wrote:
Wed 14 Nov, 2018 16:31
З.З.Ы.Ы.
не напрягает? :
+ поэксплуатируем БАГ FAR - позволяющий вычислить положение окна редактора :)
напрягает, что нет ссылки на багтрекер.

User avatar
SUSim
Posts: 1538
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 5 times
Been thanked: 9 times

Набор макросов от SimSU

Post by SUSim »

пока не знаю как сформулировать!
а то если исправите, то я не знаю как узнать координаты окна редактора.
SimSU ··· ·· -- ··· ··-

buniak_a_h
Posts: 1398
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 96 times
Been thanked: 108 times
Contact:

Набор макросов от SimSU

Post by buniak_a_h »

SUSim, удивляет выбор умолчательной "горячей клавиши" для "синхронного редактора". AltE ...
1. Поиск по Alt-буква можно как-то выключить?
2. Если можно, то как заходить в режим Search по-другому? У меня стоит искаробочный AltSearch.lua - он же тоже работать перестанет?

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

Набор макросов от SimSU

Post by John Doe »

SUSim wrote:
Wed 14 Nov, 2018 16:31
+ поэксплуатируем БАГ FAR - позволяющий вычислить положение окна редактора :)
Полагается на плагины раскраски, а можно ведь и самостоятельно вызвать AddColor ;-)
SUSim wrote:
Thu 15 Nov, 2018 05:02
пока не знаю как сформулировать!
Значения позиций, возвращаемых по ECTL_GETCOLOR не соответствуют значениям, установленным ECTL_ADDCOLOR: в случае когда при открытии редактора были заданы позиции X/Y, то значения оказываются смещены соответственно (но в противоположную сторону).

SUSim wrote:
Thu 15 Nov, 2018 05:02
а то если исправите, то я не знаю как узнать координаты окна редактора.
Расширить структуры EditorInfo и ViewerInfo. Или WindowInfo.
(Пожелание упоминается тут: https://bugs.farmanager.com/view.php?id=3519, но заслуживает и отдельного тикета)

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

Набор макросов от SimSU

Post by John Doe »

buniak_a_h wrote:
Thu 15 Nov, 2018 08:57
1. Поиск по Alt-буква можно как-то выключить?
Зачем??
И в правильной ли теме вопрос?
buniak_a_h wrote:
Thu 15 Nov, 2018 08:57
2. Если можно, то как заходить в режим Search по-другому? У меня стоит искаробочный AltSearch.lua - он же тоже работать перестанет?
Макросами всё можно. AltSearch.lua не перестанет.

buniak_a_h
Posts: 1398
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 96 times
Been thanked: 108 times
Contact:

Набор макросов от SimSU

Post by buniak_a_h »

SUSim wrote:
Wed 14 Nov, 2018 16:31
P.P.S. buniak_a_h, после незначительных правок больше не случается у меня, если что пиши, будем разбираться.
По сравнению с Вашим макросом поменял только s.key (прямо в Settings, уж извините).
Работаю сейчас так:
- после вызова макроса первый раз после запуска ФАРа получаю чёрный экран;
- по F12 нахожу окно редактирования временного файла (с отметкой Changed) и перехожу на него;
- жму Esc, подтверждаю выход без сохранения; почему-то предлагается выйти и из ФАР-а - отказываюсь (ещё одна странность: у меня нет макроса, закрывающего ФАР по Esc!);
(как выяснилось сейчас, после закрытия окна-редактора с различиями где-то остаются открытыми редакторы с исходными файлами. Приходится их закрывать тоже. Но с ними легче: на них ФАР переключается стандартными CtrlTab)
- вызываю макрос второй раз; всё работает
Неудобно, но не фатально.
---
Нашёл "странность", присутствующую во всех Ваших скриптах: Вы используете некое поле far.lang . Тут две неприятности: (а) проверка LuaTest выдаёт на них предупреждение и (б) при изменении настроек far.lang не меняется. Ну и вообще непонятно, зачем; чем это лучше, например, вызова Far.GetConfig('Language.Main') и занесения его в local ?
Есть пожелание: "поженить" плагин Visual Compare с Вашим макросом. VC выводит результаты сравнения в диалог с Id="78DBDD6F-74A0-41E4-91FC-DE5707CF63F5" .
Last edited by buniak_a_h on Thu 15 Nov, 2018 10:12, edited 2 times in total.

buniak_a_h
Posts: 1398
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 96 times
Been thanked: 108 times
Contact:

Набор макросов от SimSU

Post by buniak_a_h »

John Doe wrote:
Thu 15 Nov, 2018 09:53
buniak_a_h wrote:
Thu 15 Nov, 2018 08:57
1. Поиск по Alt-буква можно как-то выключить?
Зачем??
И в правильной ли теме вопрос?
Это, скорее, был не вопрос, а замечание к макросу.
Ну, согласитесь, что вызов макроса сочетанием Alt+буква либо не будет работать, т.к. включается поиск по панели, либо сделает поиск файла, начинающегося с "E" (без AltSearch.lua) невозможным (если он сможет "перехватить" это кнопкосочетание). Точнее, неудобным: сначала придется "искать" другую букву, потом стирать её в области поиска и жать "E".
John Doe wrote:
Thu 15 Nov, 2018 09:53
buniak_a_h wrote:
Thu 15 Nov, 2018 08:57
2. Если можно, то как заходить в режим Search по-другому? У меня стоит искаробочный AltSearch.lua - он же тоже работать перестанет?
Макросами всё можно. AltSearch.lua не перестанет.
Может, и можно, хотя я не смог. Важно другое: если действительно выключить поиск по сочетаниям Alt+буква, то AltSearch работать тоже не будет, т.к. он состоит из последовательности Keys('Alt<'), а она как раз и будет выключена.
Считаю мои замечания справедливыми. Уж извините. Дождусь, что ответит автор.
Last edited by buniak_a_h on Thu 15 Nov, 2018 10:07, edited 1 time in total.

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

Набор макросов от SimSU

Post by John Doe »

buniak_a_h wrote:
Thu 15 Nov, 2018 10:05
Точнее, неудобным: сначала придется "искать" другую букву, потом стирать её в области поиска и жать "E".
Это верно.
Однако ради расширения списка удобных хоткеев кто-то может посчитать возможным пожертвовать таким использованием быстрого поиска.
Который кстати всё ещё останется потенциально доступным, хотя бы посредством AltSearch.lua.
buniak_a_h wrote:
Thu 15 Nov, 2018 10:05
Важно другое: если действительно выключить поиск по сочетаниям Alt+буква, то AltSearch работать тоже не будет, т.к. он состоит из последовательности Keys('Alt<'), а она как раз и будет выключена.
Неверно.
На данный момент можно выключить быстрый поиск только макросом. При этом AltSearch.lua может работать.

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

Набор макросов от SimSU

Post by John Doe »

Посмотрел на Editor_Pair.lua
Из того, что бросилось в глаза:
- переменная NewFocus нигде не инициализируется
- функция Quit пытается выйти откуда-то, эмулируя нажатие F10. Подозреваю легаси код какой-то.
- функция Switch совсем уж сомнительна
Перебирает окна (ACTL_GETWINDOWINFO) начиная с 0, а 0 это текущее окно.
Далее переключается в найденное (ACTL_SETCURRENTWINDOW), и даже не знаю что будет если передатьтуда 0.
При этом ищет по Id, который вовсе не обязан быть уникальным среди всех окон (только среди редакторов).

Дальше не углублялся.

buniak_a_h
Posts: 1398
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 96 times
Been thanked: 108 times
Contact:

Набор макросов от SimSU

Post by buniak_a_h »

John Doe, А то я уж думал, что мне кажется... Я предполагал ранее, что имеются неинициализированные переменные.

buniak_a_h
Posts: 1398
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 96 times
Been thanked: 108 times
Contact:

Набор макросов от SimSU

Post by buniak_a_h »

John Doe wrote:
Thu 15 Nov, 2018 10:28
переменная NewFocus нигде не инициализируется
Интересно...
Если проинициализировать NewFocus=true, то макрос валит LuaFar (по-моему).
Если проинициализировать NewFocus=false, то работает как я описал (что естественно), НО!!!
Event {id="40ac379b-d286-4f86-bad4-efad334f4e14"; --Получение фокуса одним из окон
никогда не будет выполняться!

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

Набор макросов от SimSU

Post by John Doe »

buniak_a_h, нет смысла анализировать отдельно эту переменную, проблема в том, что скрипт вообще работает неаккуратно, и лучше подождать пока автор с этим разберётся.
А там уже или ваша проблема уйдёт, или можно продолжить.

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

Набор макросов от SimSU

Post by John Doe »

SUSim wrote:
Wed 14 Nov, 2018 16:31
20181011
1. Editor_ShowWhiteSpace.lua Подсветка табуляции и перевода строк. © SimSU
+ поэксплуатируем БАГ FAR - позволяющий вычислить положение окна редактора :)
А для чего в этом скрипте может понадобиться вычислять положение окна?

User avatar
SUSim
Posts: 1538
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 5 times
Been thanked: 9 times

Набор макросов от SimSU

Post by SUSim »

у меня в комплекте макрос для поиска только по RAlt.
я и знакомые к такому поиску сильно привыкли!
а вот левый все разрешили под хоткеи...
Last edited by SUSim on Thu 15 Nov, 2018 20:35, edited 1 time in total.
SimSU ··· ·· -- ··· ··-

Post Reply

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