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

Здесь выкладываются готовые к использованию макросы и скрипты.
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 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
Attachments
SimSU20230526.7z
(83.62 KiB) Downloaded 204 times
SimSU20230324.7z
(78 KiB) Downloaded 146 times
Last edited by SUSim on Fri 26 May, 2023 19:11, edited 22 times in total.
SimSU ··· ·· -- ··· ··-
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

Latest post of the previous page:

SUSim, я дополнил своё предыдущее сообщение.

И ещё хочу спросить.
Во всех скриптах предусмотрен вызов в качестве модуля (если я верно понимаю), например:

Code: Select all

if not Macro then return {Editor_Remarks=Editor_Remarks} end
Для чего тут обрамлять всё в ещё одна таблицу? Ведь Editor_Remarks уже таблица.
(касается всех скриптов)
https://t.me/FarManager — Telegram чат
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

SUSim wrote: Mon 27 Mar, 2023 13:31 Volodya, Проверь
Мне кажется, что лучше отдельным скриптом, ведь новое действие выходит копирует/перемещает, а не просто работает с выделением, как все остальные.
https://t.me/FarManager — Telegram чат
Volodya
Posts: 268
Joined: Thu 31 Mar, 2005 19:41
Has thanked: 30 times

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

Post by Volodya »

SUSim wrote: Mon 27 Mar, 2023 13:31 Volodya, Проверь
Спасибо. Всё работает нормально. Как я понимаю, идея выделения по началу файла не прошла. Или хотя бы ее простой вариант: выбрать на второй панели те же файлы без учета расширений.
Volodya
Posts: 268
Joined: Thu 31 Mar, 2005 19:41
Has thanked: 30 times

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

Post by Volodya »

John Doe wrote: Mon 27 Mar, 2023 14:11 Мне кажется, что лучше отдельным скриптом, ведь новое действие выходит копирует/перемещает,
Можно и так.
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

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

Post by SUSim »

John Doe wrote: Sun 26 Mar, 2023 13:27 Начал было смотреть Shell_FileTime.lua
Да, с ассерт лучше, чем проверять в функциях область.
John Doe wrote: Sun 26 Mar, 2023 13:27 ... гремучая смесь из макроапи и плагинового, без реальной необходимости.
... очень громоздко и избыточно с макроапи.
Макросы часто дописываются при реальной необходимости, и тут как правило действует принцип:
"заработало - причешу потом, а ща некогда", но при "раздёргивании" сознания многоплановостью текущих задач забывается %(
В частности, это макрос вначале нужен был, что бы "высветить" папки с новыми файлами и/или наоборот вернуть время при простом просмотре Вордовых файлов, что меняет дату папки без смены даты файла из-за временного файла - то есть функция UpdateBranch, потом срочно потребовалась CopyTimes/PasteTimes, чтобы возвращать дату измененным файлам при мелких правках... остальное по пожеланиям друзей...
Сейчас макрос получился разношерстный, появилась задумка переписать его, сделав универсальное решение с диалогом.
John Doe wrote: Mon 27 Mar, 2023 13:18 считаю что защита от ошибочного аргумента командной строки не нужна, пусть лучше скрипт падает
с этим не согласен, другое дело как реагировать на ошибки/опечатки...
John Doe wrote: Mon 27 Mar, 2023 13:45 return {Editor_Remarks=Editor_Remarks}
Не помню точно, но кажется чтобы сохранить имя набора функций и/или использовать при автодополнении, но както не срослось, я остановился на глобальном хранении...

John Doe,
Поясни подробнее про "sh"?
_cmdline - я так понял, это аргументы в виде строки а не таблицы?
Last edited by SUSim on Mon 03 Apr, 2023 20:11, edited 1 time in total.
SimSU ··· ·· -- ··· ··-
User avatar
WOLFE
Posts: 17
Joined: Mon 08 Aug, 2022 18:22
Has thanked: 2 times
Been thanked: 4 times

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

Post by WOLFE »

SUSim, я добавил подпись к своим изменениям и обновил описание для английского языка. Перевод отсюда viewtopic.php?p=174021#p174021
Attachments
SHELL_FILETIME.LUA
(9 KiB) Downloaded 61 times
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

SUSim wrote: Thu 30 Mar, 2023 10:22 Поясни подробнее про "sh"?
_cmdline - я так понял, это аргументы в виде строки а не таблицы?
sh сервисный модуль, по наличию которого в окружении можно сделать вывод о том что скрипт запущен в среде LuaShell.
_cmdline при этом присутствует, если скрипт запущен из командной строки (а не вызван другим скриптом).
_cmdline это неразделённая командная строка, но и ... всегда тоже присутствует.
https://t.me/FarManager — Telegram чат
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

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

Post by SUSim »

Не спешите ... Спасибо за пример!

Пока в планах переустанавливать времена от туда куда надо туда куда хочется ...

Volodya,
viewtopic.php?p=174000#p174000
viewtopic.php?p=174016#p174016
John Doe,
viewtopic.php?p=174015#p174015
viewtopic.php?p=174021#p174021
viewtopic.php?p=174209#p174209
Last edited by SUSim on Mon 03 Apr, 2023 20:14, edited 3 times in total.
SimSU ··· ·· -- ··· ··-
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

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

Post by SUSim »

Обновил!
Shell_FileTimeEx.lua Работа с датой/временем файлов/папок. © SimSU
-- Умеет:
-- получать даты/времена создания, доступа, записи текущего или помеченных файлов, а также извлекать дату сборки исполняемых файлов
-- копировать даты/времена в буфер обмена
-- устанавливать даты/времена текщего файла, отмеченных файлов, файлов по маске в заданном порядке по заданным правилам
area="Shell" key="AltD" - Изменение даты/времени.


запуск из ком строки
Common_Calculator.lua Вычисление математических выражений. © SimSU

удобство и запуск из ком строки
Common_Calendar.lua Календарь. © SimSU
SimSU ··· ·· -- ··· ··-
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

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

Post by SUSim »

John Doe,
я попробовал по другому
вроде удобно...
Last edited by SUSim on Fri 19 May, 2023 18:43, edited 1 time in total.
SimSU ··· ·· -- ··· ··-
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

SUSim wrote: Fri 19 May, 2023 18:42 я попробовал по другому
Не уверен что понял идею. Нельзя ли пример использования?
https://t.me/FarManager — Telegram чат
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

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

Post by SUSim »

John Doe, примеры в common_calendar.lua есть
SimSU ··· ·· -- ··· ··-
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

Ок, тогда пожелания по Common_Calendar.lua такие:
  • if _filename then заменить на if _filename and (not sh or _cmdline) then
    Это нужно чтобы из LuaShell можно было получить модуль.
  • local f=(assert(loadstring(_cmdline or (...)))) --luacheck: ignore 113/_cmdline
    Тут внешние скобки не нужны. Как и скобки вокруг ...
  • MSinDay в идеале стоит сделать зависимым от far.FileTimeResolution, например:

    Code: Select all

    local MSinDay = 60*60*24*1000
    local TicksPerDay = {MSinDay, MSinDay*bit64.new(10000)}
    local function IncDay(DateTime,Days) -- увеличить дату на Days дней, Days может быть отрицательным
      return CorrDate(F2S(S2F(DateTime)+(Days or 0)*TicksPerDay[far.FileTimeResolution()]))
    end
https://t.me/FarManager — Telegram чат
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

Пожелания по Common_Calculator.lua
  • В Aliases только определение function round(num, idp) без local, но это непринципиально.
    Другой вопрос почему Aliases строка, разве не лучше сделать таблицей.
  • и первые два пожелания из предыдущего поста
https://t.me/FarManager — Telegram чат
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

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

Post by SUSim »

John Doe wrote: Sun 21 May, 2023 00:07 Ок, тогда пожелания по...
Сделал ...
John Doe wrote: Sun 21 May, 2023 00:51 Другой вопрос почему Aliases строка, разве не лучше сделать таблицей.
Aliases предназначен для того чтобы пользователи могли добавить свои часто используемые функции
ну, а я туда и сам надобавлял ... по хорошему можно оттуда почти всё в таблицу перенести (время будет сделаю).
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

SUSim wrote: Mon 22 May, 2023 08:44 Aliases предназначен для того чтобы пользователи могли добавить свои часто используемые функции
Я понимаю.
И пользователи могут точно так же задавать свои функции в таблице, которая будет дополняться вашими предустановленными функциями. Удобнее всего через метатаблицу, наверное.
https://t.me/FarManager — Telegram чат
Post Reply

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