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

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

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

Post by SUSim »

Вычисление математических выражений. © SimSU
Календарь. © SimSU
Выполнение команды через меню пользователя. © SimSU
Получение названия клавиши. © SimSU
Ускорение скроллинга колёсиком мышки. © SimSU
Меню плагинов с последнего пункта. © SimSU
Вставка разделённых путей и имён файлов. © SimSU
Редактирование строки ввода диалога в редакторе. © SimSU
Вставляет в ком.строку путь SUBST или сетевого диска. © 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
Подсчет количества слов/чисел в строке. © 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"
Отключение FarColorer для больших Файлов. © 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
Attachments
SimSU20250413.7z
(98.17 KiB) Downloaded 314 times
Last edited by SUSim on Sun 13 Apr, 2025 09:29, edited 27 times in total.
SimSU ··· ·· -- ··· ··-
User avatar
John Doe
Бюрократ
Posts: 14354
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 80 times
Been thanked: 475 times
Contact:

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

Post by John Doe »

Latest post of the previous page:

  • Editor_TableTool.lua: опечатка в заголовке меню: "Работа с талицей"
  • В Editor_SelectingEx.lua встречается слово "курсос"
  • Shell_SelectingEx.lua не ошибка ли:

    Code: Select all

      SEP      = ""; -- Что считать разделителями имён файлов в буфере обмена.
  • Editor_Trimmer.lua, Editor_ShowWhiteSpace.lua, Editor_WordInStr.lua, Editor_WordComplete.lua, Editor_SmartHomeEnd.lua, Editor_SelectingEx.lua, Editor_MouseSelect.lua, Common_MouseWheel.lua:
    Присутствует блок "Для командной строки John Doe", но закомментирован. Почему?
  • Editor_SelectingEx.lua: в таблицу добавить бы и функцию Select
Last edited by John Doe on Sat 12 Apr, 2025 22:11, edited 1 time in total.
https://t.me/FarManager — Telegram чат
User avatar
SUSim
Posts: 1672
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 11 times
Been thanked: 36 times

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

Post by SUSim »

John Doe wrote: Sat 12 Apr, 2025 19:04 Editor_TableTool.lua: опечатка в заголовке меню: "Работа с талицей"
В Editor_SelectingEx.lua встречается слово "курсос"
поправил
John Doe wrote: Sat 12 Apr, 2025 19:04 Shell_SelectingEx.lua не ошибка ли:
SEP = ""; -- Что считать разделителями имён файлов в буфере обмена.
не ошибка, но так понятнее будет:
SEP = ""; -- Что считать разделителями имён файлов в буфере обмена в дополнение к "\r\n".
  • подключил --Для командной строки John Doe
    John Doe wrote: Sat 12 Apr, 2025 19:04 Editor_SelectingEx.lua: в таблицу добавить бы и функцию Select
    да куда-то потерялось + подключил --Для командной строки John Doe
    John Doe wrote: Sat 12 Apr, 2025 19:04 Editor_Trimmer
    + подключил --Для командной строки John Doe
    John Doe wrote: Sat 12 Apr, 2025 19:04 Editor_ShowWhiteSpace
    +- подключил --Для командной строки John Doe - но через костыли - надо будет подумать
    John Doe wrote: Sat 12 Apr, 2025 19:04 Editor_WordInStr
    + подключил --Для командной строки John Doe
    John Doe wrote: Sat 12 Apr, 2025 19:04 Editor_SmartHomeEnd
    + подключил --Для командной строки John Doe
    John Doe wrote: Sat 12 Apr, 2025 19:04 Editor_MouseSelect
    + подключил - ну тут бесполезно, это же макрос только на событиях, хотя...
    John Doe wrote: Sat 12 Apr, 2025 19:04 Common_MouseWheel
    - ну тут уж совсем бесполезно вне макроса...
SimSU ··· ·· -- ··· ··-
User avatar
SUSim
Posts: 1672
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 11 times
Been thanked: 36 times

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

Post by SUSim »

Обновил :)
SimSU20250413.7z
SimSU ··· ·· -- ··· ··-
User avatar
SUSim
Posts: 1672
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 11 times
Been thanked: 36 times

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

Post by SUSim »

Предложения и недочёты прошу дублировать в личные сообщения, я забываю быстро :(
SimSU ··· ·· -- ··· ··-
Volodya
Posts: 296
Joined: Thu 31 Mar, 2005 19:41
Has thanked: 55 times
Been thanked: 1 time

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

Post by Volodya »

Нельзя ли в макрос Shell_Shift_F5F6F7.lua добавить поле с checkbox Открыть на пассивной панели?
В чем идея. Ты копируешь куда-то в новую директорию (или старую из истории). Вполне вероятно, что ты захочешь дальше делать что-то с этими файлами. Как сделано сейчас, ты должен "бежать" к новой директории. А так она откроется автоматически.
Для разархивации такая возможность имеется.
Last edited by Volodya on Thu 29 May, 2025 21:55, edited 1 time in total.
User avatar
SUSim
Posts: 1672
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 11 times
Been thanked: 36 times

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

Post by SUSim »

Добавить чекбокс нельзя (это стандартный диалог), но можно добавить горячую клавишу по которой запустится копирование, а затем смена директории панели.
SimSU ··· ·· -- ··· ··-
User avatar
HaRT
Moderator
Posts: 11290
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 253 times
Been thanked: 392 times

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

Post by HaRT »

SUSim wrote: Wed 04 Jun, 2025 08:01 Добавить чекбокс нельзя (это стандартный диалог), но можно добавить горячую клавишу по которой запустится копирование, а затем смена директории панели.
Или же можно дописать в целевой путь какой-нибудь признак, который не повлияет на копирование (например, \. в конце), но который скрипт сможет запомнить и применить по окончании копирования.
Можно пойти и дальше и вообще дописывать в конец пути произвольные опции для скриптов (этого и других; например, |OpenPassive), которые будут по мере обработки изыматься. (Ведь скрипт FIN как-то исправляет пути перед их применением.)
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
SUSim
Posts: 1672
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 11 times
Been thanked: 36 times

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

Post by SUSim »

Volodya,
Макрос получился отдельным и функционал у него мало пересекается с Shell_Shift_F5F6F7.lua
Функционал по предложению HaRT реализован путем дописывания к целевой строке:
"*" - установить путь на активной панели
"<" - установить путь на левой панели
">" - установить путь на правой панели
Для тестов приложил файл, тан ещё есть настройка для переключения панели...

P.S.
Сделал уйму приседаний чтобы обеспечить перерисовку процесса копирования/переноса и обработку сообщений об ошибках, не помогали ни mmode(1,1), far.AdvControl(F.ACTL_REDRAWALL), far.Text(), пришлось использовать far.Timer...

В процессе натолкнулся на следующие глюки:
1) Если в течении копирования/переноса файлов макрос сменит директорию, то FAR будет работать с файлами новой директории, а не с той в/из которой начался процесс копирования/переноса.
2) И еще, оказывается, что Area.Current может быть иногда nil...
Про всякие другие непонятки уже забыл...
Attachments
Shell_F5F6F7andGo.lua
Для тестов
(1.89 KiB) Downloaded 30 times
Last edited by SUSim on Fri 13 Jun, 2025 11:26, edited 4 times in total.
SimSU ··· ·· -- ··· ··-
Volodya
Posts: 296
Joined: Thu 31 Mar, 2005 19:41
Has thanked: 55 times
Been thanked: 1 time

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

Post by Volodya »

Спасибо! Получилось то что надо.
Есть странное для меня поведение. Активная панель левая. Путь на правой D:\Test\1 . Выбираем несколько файлов. Нажимаем F5. Если дописываем путь на правой панели, типа D:\Test\1\2\> - всё работает ожидаемо. Если стираем 1 и пишем 3, то тоже всё хорошо. Если же стираем весь путь и пишем 4\>, то директория 4 создается и показывается на левой панели. Правая же остается без изменений.
Маленькое дополнительное пожелание: сделать аналог * для пассивной панели. Например, ":"
User avatar
SUSim
Posts: 1672
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 11 times
Been thanked: 36 times

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

Post by SUSim »

Volodya,
22 строку
str = tostring(win.GetFileAttr(str)):find("d") and str:sub(-1)=="\\" and str or str.."\\"
надо заменить на
str = tostring(win.GetFileAttr(str)):find("d") and str:sub(-1)~="\\" and str.."\\" or str
это обязательно, если не поможет, то еще раз Напомните мне об этом!
пассивню уже сделал, а потом меня понесло ... кастомизирую диалог :)
Last edited by SUSim on Mon 16 Jun, 2025 14:08, edited 1 time in total.
SimSU ··· ·· -- ··· ··-
User avatar
HaRT
Moderator
Posts: 11290
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 253 times
Been thanked: 392 times

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

Post by HaRT »

SUSim wrote: Fri 13 Jun, 2025 11:09 Функционал по предложению HaRT реализован путем дописывания к целевой строке:
"*" - установить путь на активной панели
"<" - установить путь на левой панели
">" - установить путь на правой панели
Значки — это, конечно, коротко и удобно, но создаст проблемы, если какой-то ещё скрипт тоже захочет использовать такой же механизм задания опций пред-/пост-обработки. Я же как раз предложил такой формат, который будет расширяемым, чтобы им могли пользоваться несколько скриптов сразу.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
SUSim
Posts: 1672
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 11 times
Been thanked: 36 times

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

Post by SUSim »

HaRT, это пока прототип... тем более настраиваем,
Сейчас меня зацепило кастомизация диалогов, Вы же размеры меняете и я пробую применить визуализацию.
А сделать по умолчанию команду через | это да ( по умолчанию ) попробую. Хотя визуально и для мышеводов вроде получается... подождите пожалуйста...
SimSU ··· ·· -- ··· ··-
Volodya
Posts: 296
Joined: Thu 31 Mar, 2005 19:41
Has thanked: 55 times
Been thanked: 1 time

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

Post by Volodya »

SUSim wrote: Mon 16 Jun, 2025 13:07 22 строку
str = tostring(win.GetFileAttr(str)):find("d") and str:sub(-1)=="\\" and str or str.."\\"
надо заменить на
str = tostring(win.GetFileAttr(str)):find("d") and str:sub(-1)~="\\" and str.."\\" or str
Работает.
User avatar
SUSim
Posts: 1672
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 11 times
Been thanked: 36 times

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

Post by SUSim »

HaRT, Volodya
Как-то так пока получилось :)
image.png
image.png
Суффиксы имеют приоритет перед настройками, причем настройки сохраняются для каждого диалога свои...
Attachments
Shell_F5F6F7andGo.lua
Для теста
(14.93 KiB) Downloaded 9 times
Last edited by SUSim on Fri 11 Jul, 2025 15:33, edited 2 times in total.
SimSU ··· ·· -- ··· ··-
User avatar
HaRT
Moderator
Posts: 11290
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 253 times
Been thanked: 392 times

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

Post by HaRT »

SUSim wrote: Fri 11 Jul, 2025 15:31 Как-то так пока получилось
А можно в двух словах идею реализации добавления новых контролов вместо (поверх?) разделителя? Просто не хочется в коде ковыряться.
И хорошо ли это сочетается с Dialog_Maximize?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
SUSim
Posts: 1672
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 11 times
Been thanked: 36 times

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

Post by SUSim »

Сплиттер это тоже текст!
Дальше обработчик событий срабатывает даже и на клик в СПЛИТТЕР.
остальное должно быть понятно:
Поправил координаты и Убрал флаг Сплиттера
item[2] = 5; item[9] = F.DIF_NONE
и вставил текст
item[10] = ItemText(CurAutoGo, CurSetActive)

Текст Правда мертвый и его пришлось генерировать на лету (в обработчике событий), чтобы было похоже...

С Максимизе нет проблем, я же просто текст заменил ;)))
Last edited by SUSim on Fri 11 Jul, 2025 19:59, edited 2 times in total.
SimSU ··· ·· -- ··· ··-
Post Reply

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