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

Здесь выкладываются готовые к использованию макросы и скрипты.
User avatar
SUSim
Posts: 1651
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 31 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
Выравнивание таблицы чисел. © SimSU
Вставляет в ком.строку путь SUBST или сетевого диска. © SimSU
Attachments
SimSU20241217.7z
(95.91 KiB) Downloaded 46 times
SimSU20230526.7z
(83.62 KiB) Downloaded 605 times
Last edited by SUSim on Sun 29 Dec, 2024 09:51, edited 24 times in total.
SimSU ··· ·· -- ··· ··-
User avatar
John Doe
Бюрократ
Posts: 14130
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 79 times
Been thanked: 447 times
Contact:

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

Post by John Doe »

Latest post of the previous page:

Editor_MacroComplete.lua у меня вызывает переполнение стека (прошлая версия тоже).
Вероятно где-то зацикливается.
Пример (место курсора обозначено _):
mf_ падает (на фоне открытого списка)
mf._ открывает список без проблем
https://t.me/FarManager — Telegram чат
User avatar
SUSim
Posts: 1651
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 31 times

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

Post by SUSim »

Это падает Menu.Show() когда есть пустая строка...
в 33 строке уберите лишний перевод строки чтобы получилось так:
FPD]]; -- Дополнительные завершения.
SimSU ··· ·· -- ··· ··-
User avatar
John Doe
Бюрократ
Posts: 14130
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 79 times
Been thanked: 447 times
Contact:

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

Post by John Doe »

SUSim wrote: Wed 20 Mar, 2024 06:49 в 33 строке уберите лишний перевод строки чтобы получилось так:
Увы продолжает падать.
И если это Menu.Show, то как воспроизвести с минимальным кодом?

Edit:
Как-то связано с https://bugs.farmanager.com/view.php?id=4035
https://t.me/FarManager — Telegram чат
User avatar
SUSim
Posts: 1651
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 31 times

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

Post by SUSim »

John Doe, у меня без правок 3.0.6289.0 х86 не падает, а 3.0.6290.0 х86 падает, после удаления строки с пробелами 3.0.6290.0 х86 перестал падать.
Для воспроизведения на 3.0.6290.0 х86 достаточно выполнить:
Menu.Show("1\n ","",0x20+0x100,"")
после \n пробел стоит
SimSU ··· ·· -- ··· ··-
User avatar
SUSim
Posts: 1651
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 31 times

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

Post by SUSim »

А ща опять начал падать... ни че не понимаю...
Скорее всего я mf забыл набирать когда искал косяк, без корректировки скрипт и без начала слова падал...
Можно тест еще упростить
Menu.Show("\n1","",0x100,"")
и вообще пустая строка тут не причем
Menu.Show("1\n2","",0x100,"2")
UPD: 6292 не падает...
Last edited by SUSim on Thu 21 Mar, 2024 13:27, edited 2 times in total.
SimSU ··· ·· -- ··· ··-
User avatar
buniak_a_h
Posts: 4428
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 238 times
Been thanked: 661 times
Contact:

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

Post by buniak_a_h »

SUSim wrote: Thu 21 Mar, 2024 08:35 UPD: 6292 не падает...
Подтверждаю. 6290 упал, 6292 - устоял.
Shmuel
Posts: 6961
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 42 times
Been thanked: 557 times

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

Post by Shmuel »

SUSim, я немножко доработал ваш Shell_SelectingEx.lua в плане переходов GoNext / GoPrevious, сделал через FFI.
Скорость переходов увеличилась примерно в 8 раз.
На моём компьютере прыжок через 100 тыс. невыделенных файлов занимает теперь 13 миллисекунд (было примерно 100).

P.S. Попробовал ANSI-плагин SelectingEx: результат при тех же условиях опыта примерно 30 миллисекунд.
Shell_SelectingEx.lua.7z
(4.82 KiB) Downloaded 27 times
Last edited by Shmuel on Fri 04 Oct, 2024 22:23, edited 1 time in total.
User avatar
Taciturn
Posts: 619
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 92 times
Been thanked: 35 times
Contact:

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

Post by Taciturn »

Shmuel, а нет ли возможности ускорить пометку одинаковых файлов на обоих панелях?
Shmuel
Posts: 6961
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 42 times
Been thanked: 557 times

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

Post by Shmuel »

Taciturn wrote: Sat 05 Oct, 2024 15:13 нет ли возможности ускорить пометку одинаковых файлов на обоих панелях?
Посмотрю (пока не знаю).
Shmuel
Posts: 6961
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 42 times
Been thanked: 557 times

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

Post by Shmuel »

Taciturn, есть некоторые обнадёживающие результаты.
На обеих панелях одинаковый набор из 10 тыс. файлов, на активной выделены все.
Выполнение функции TheSame в оригинальном виде = 6350 ms, в изменённом = 50 ms.
Без FFI, но применён другой алгоритм.

Update: если пассивная панель = плагин TmpPanel, то время операции возрастает до 320 ms, но это всё равно в 20 раз лучше исходного.
Last edited by Shmuel on Sat 05 Oct, 2024 21:07, edited 3 times in total.
Shmuel
Posts: 6961
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 42 times
Been thanked: 557 times

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

Post by Shmuel »

Shell_SelectingEx.lua.7z
(4.86 KiB) Downloaded 46 times
User avatar
Taciturn
Posts: 619
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 92 times
Been thanked: 35 times
Contact:

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

Post by Taciturn »

Shmuel, а нельзя ли ускорить именно Synchronize («DescrSync = "Пометка одинаковых файлов на обоих панелях. © SimSU";»), о которой я изначально просил? В каталоге на 14711 файлов у меня занимает примерно 40 секунд.
Last edited by Taciturn on Sun 06 Oct, 2024 12:06, edited 1 time in total.
Shmuel
Posts: 6961
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 42 times
Been thanked: 557 times

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

Post by Shmuel »

Taciturn, я значит не понял, которая операция имелась в виду.
Хорошо, сделал Synchronize, всесторонне не тестировал, но на одинаковых наборах из 20 тыс. файлов:
исходный вариант: 12500 ms, новый вариант: 60 ms
Shell_SelectingEx.lua.7z
(4.88 KiB) Downloaded 33 times
User avatar
Taciturn
Posts: 619
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 92 times
Been thanked: 35 times
Contact:

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

Post by Taciturn »

Shmuel, великолепно!
Но есть странная особенность, до вызова какого-то изменения панелей (погасить-показать, сменить активную панель, показать/скрыть вернее/нижнее меню, подвигать курсор, написать что-то в командной строке) выделение не отображается. Far 3.0.6364.0 x64, если что.
Shmuel
Posts: 6961
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 42 times
Been thanked: 557 times

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

Post by Shmuel »

Taciturn wrote: Sun 06 Oct, 2024 12:59 выделение не отображается
У меня отображвется сразу. Может быть потому, что я вызываю макросом, а вы через меню?
Но фикс для этого простой: в конце функции допишите:
panel.RedrawPanel(nil,1); panel.RedrawPanel(nil,0)
User avatar
Taciturn
Posts: 619
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 92 times
Been thanked: 35 times
Contact:

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

Post by Taciturn »

Shmuel, вызываю хоткеем. Но после RedrawPanel всё хорошо, ещё раз спасибо!
Post Reply

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