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

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

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

Post by SUSim » Wed 21 Mar, 2012 18:27

Вычисление математических выражений. © 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
Для теста download/file.php?id=8815 а то замылило другим обсуждением.
Attachments
SimSU20181114.7z
Улучшения по Вашим предложениям
(70.24 KiB) Downloaded 292 times
SimSU20180907.7z
Два синхронных редактора, Фавориты доработаны, остальное по мелочам...
(69.69 KiB) Downloaded 172 times
SimSU20180519.7z
Прошлая весия
(65.59 KiB) Downloaded 235 times
Last edited by SUSim on Tue 10 Sep, 2019 17:08, edited 10 times in total.
SimSU ··· ·· -- ··· ··-

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

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

Post by zg » Wed 15 Mar, 2017 11:44

Latest post of the previous page:

Shmuel wrote:Очень похоже, что в билде 4907 сломалась функция Menu.Show (а может и не только она).
вот я запускаю код lua:=Menu.Show("aaa\nbbb\nccc","aaa\nbbb",8+16,2). на мой взгляд — всё работает. какие мысли это может породить?

Shmuel
Posts: 5921
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 233 times

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

Post by Shmuel » Wed 15 Mar, 2017 11:57

zg wrote: на мой взгляд — всё работает
Надо проверять с помеченными пунктами.

User avatar
DrKnS
Posts: 5430
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 6 times
Been thanked: 250 times

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

Post by DrKnS » Wed 15 Mar, 2017 12:35

Shmuel wrote: Надо проверять с помеченными пунктами.
Господа, ну если уже повторили - нельзя сказать нормально, как HaRT на предыдущей странице описал, а не выдавать по подсказке за раз?

4916.

Shmuel
Posts: 5921
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 233 times

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

Post by Shmuel » Wed 15 Mar, 2017 12:44

DrKnS wrote: а не выдавать по подсказке за раз?
Написать полноценный багрепорт требует времени. Оно не всегда есть.
Я полагал, что для того, кому в первую очередь предназначалась информация, разжёвывание не потребуется.

User avatar
abelenki
Posts: 450
Joined: Thu 02 Jul, 2009 07:39
Location: Perm, Russia
Has thanked: 131 times
Been thanked: 20 times
Contact:

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

Post by abelenki » Thu 16 Mar, 2017 03:19

DrKnS, Shmuel, спасибо! в 4917 макрос Editor_Trimmer.lua снова работает как надо.
Last edited by abelenki on Thu 16 Mar, 2017 03:19, edited 1 time in total.

DeeZ
Posts: 100
Joined: Sat 20 Mar, 2010 18:48

ShiftAdd в макросах

Post by DeeZ » Mon 24 Apr, 2017 05:57

Пытаюсь переназначить кнопки для макросов Shell_SelectingEx.lua на ShiftAdd. Поправил файл:

Code: Select all

return{
  Key       = "AltS";          --Prior       = 50;
  KeyToEdit = "CtrlShiftE";    --PriorToEdit = 50;
  KeySync   = "Divide";        --PriorSync   = 50;
  KeyDay    = "CtrlAltD";      --PriorDay    = 50;
изменил:
  KeyMark   = "ShiftAdd";      --PriorMark   = 50;
  KeyUnMark = "ShiftSubtract"; --PriorUnMark = 50;
  KeyFirst  = "CtrlLeft";      --PriorFirst  = 50;
  KeyPrev   = "CtrlUp";        --PriorPrev   = 50;
  KeyNext   = "CtrlDown";      --PriorNext   = 50;
  KeyLast   = "CtrlRight";     --PriorLast   = 50;
в том же файле из меню выпилил эти макросы

Code: Select all

  item[12]=item[12].."Add"
  item[13]=item[13].."Subtract"
  item[14]=item[14]..""
  item[15]=item[15]..""
  item[16]=item[16].."Multiply"
Но именно ShiftAdd не работает. Если пытаться записать другом макрос на эту последовательность, то показывает что макрос пуст. в чем дело?

Code: Select all

╔════════════ Предупреждение ═════════════╗
║ Макроклавиша 'ShiftAdd' уже определена. ║
║           Последовательность:           ║
║                   ""                    ║
║             Переопределить?             ║
╟─────────────────────────────────────────╢
║             { Да } [ Нет ]              ║
╚═════════════════════════════════════════╝
Far Manager, version 3.0 (build 4040) x86

Shmuel
Posts: 5921
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 233 times

ShiftAdd в макросах

Post by Shmuel » Mon 24 Apr, 2017 06:29

DeeZ wrote:Если пытаться записать другом макрос на эту последовательность, то показывает что макрос пуст. в чем дело?
У вас на ShiftAdd назначен другой макрос (можете проверить в макробраузере).
Этот макрос не пуст - это билды Far до 4783 так показывают.

DeeZ
Posts: 100
Joined: Sat 20 Mar, 2010 18:48

ShiftAdd в макросах

Post by DeeZ » Mon 24 Apr, 2017 07:49

Да. уже заметил что он всегда показывает пусто если это макрос из файла а не записный самим FARом.
Но в МакроБраузере других макро на ShiftAdd нет. больше того, если из макрос-браузера вызвать эту функцию - она не срабатывает. выделения нет.

Shmuel
Posts: 5921
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 233 times

ShiftAdd в макросах

Post by Shmuel » Mon 24 Apr, 2017 08:04

DeeZ wrote: Но в МакроБраузере других макро на ShiftAdd нет
Значит это я вас недопонял сначала.
В этом случае вам следует разбираться с кодом, почему не работает, а дальнейшие вопросы задавать в теме макросов SimSU.

DeeZ
Posts: 100
Joined: Sat 20 Mar, 2010 18:48

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

Post by DeeZ » Mon 24 Apr, 2017 08:46

Поменял хоткеи в Shell_SelectingEx.lua, все работает кроме одного ShiftAdd

Code: Select all

return{
  Key       = "CtrlAltS";      --Prior       = 50;
--  KeyToEdit = "CtrlShiftE";    --PriorToEdit = 50;
  KeyMark   = "ShiftAdd";      --PriorMark   = 50;
  KeyUnMark = "ShiftSubtract"; --PriorUnMark = 50;
--  KeySync   = "Divide";        --PriorSync   = 50;
  KeyFirst  = "CtrlLeft";      --PriorFirst  = 50;
  KeyPrev   = "CtrlUp";        --PriorPrev   = 50;
  KeyNext   = "CtrlDown";      --PriorNext   = 50;
  KeyLast   = "CtrlRight";     --PriorLast   = 50;
--  KeyDay    = "CtrlAltD";      --PriorDay    = 50;
В этом же файле в меню удалил биндинги для ShiftAdd \ ShiftSubtract

Code: Select all

 item[12]=item[12].."Add"
  item[13]=item[13].."Subtract"
  item[14]=item[14]..""
  item[15]=item[15]..""
  item[16]=item[16].."Multiply"
Больше пока макросов нет совсем. те пересекаться не может. В MacroBrowser показывается что сочетание забиндено как нужно за KeyMark. Но если попытаться вызвать из этого же меняю macroBrowser или или по хоткею - не срабатывает. если вызвать из меню всего скрипта (CtrlAltS) то работает. куда копать?
Last edited by DeeZ on Mon 24 Apr, 2017 09:18, edited 1 time in total.

User avatar
HaRT
Moderator
Posts: 9156
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 174 times

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

Post by HaRT » Mon 24 Apr, 2017 14:22

Shmuel wrote: дальнейшие вопросы задавать в теме макросов SimSU
Подклеено.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Shmuel
Posts: 5921
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 233 times

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

Post by Shmuel » Mon 24 Apr, 2017 14:47

HaRT, сегодня только обратил внимание, что данная тема - в разделе "Обсуждение макросов". Уж она-то точно должна быть в разделе "Полезные макросы и скрипты".

User avatar
HaRT
Moderator
Posts: 9156
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 174 times

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

Post by HaRT » Mon 24 Apr, 2017 16:07

Shmuel wrote: Уж она-то точно должна быть в разделе "Полезные макросы и скрипты".
Как по мне, так разброс полезности этих скриптов слишком велик. Но, заметьте, эта тема помечена звездой — такого не каждая удостаивается. А вообще этим занимается уважаемый John Doe.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Shmuel
Posts: 5921
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 23 times
Been thanked: 233 times

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

Post by Shmuel » Mon 24 Apr, 2017 16:18

HaRT wrote: Как по мне, так разброс полезности этих скриптов слишком велик.
Не оспаривая ваше мнение, выскажу своё.
Данный набор макросов представлен как единое целое и занимает одну тему, а не по макросу на тему, как большинство других.
На мой взгляд, в своей совокупности, данный набор не просто должен быть в разделе "Полезных ...", а занимать там первую строчку.

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

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

Post by John Doe » Mon 24 Apr, 2017 22:28

Данный набор первым и попал в Полезные, а вернулся в Обсуждение когда тема перестала поддерживаться автором, в частности шапка долгое время была неактуальной.

Автор шапку обновил, и если никто не считает что она огромна, то можно вернуть в Полезные.

DeeZ
Posts: 100
Joined: Sat 20 Mar, 2010 18:48

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

Post by DeeZ » Tue 25 Apr, 2017 07:59

DeeZ wrote: Поменял хоткеи в Shell_SelectingEx.lua, все работает кроме одного ShiftAdd
Решил проблему переписав функцию в клавиатурные команды
C:\Users\user\AppData\Roaming\Far Manager\Profile\Macros\internal\Shell_ShiftAdd.lua

Code: Select all

Macro {
  description="";
  area="Shell"; key="ShiftAdd";
  flags="NoSendKeysToPlugins";
  action=function()
  Mark= Mark and 1 or 0
  -- panel.select(0,0,2,clip(0)) -- FAR не проверяет пути если они есть.
  -- panel.select(0,1,2,clip(0)) -- FAR не проверяет пути если они есть.
  -- Делаем работу за FAR.
  local FileList=mf.clip(0)
  FileList=(FileList:gsub("[%,%;\r\"]","\n"):upper().."\n"):gsub("\\\n","\n")
  local PanelPath=APanel.Path:upper()
  for FullFileName in FileList:gmatch("[^\n]+") do
    local FilePath=mf.fsplit(FullFileName,0x1+0x2):gsub("\\$","")
    local Name=mf.fsplit(FullFileName,0x4+0x8)
    if FilePath=="" or FilePath==PanelPath then
      Panel.Select(0,Mark,2,Name)
    end
  end
  return true
  end;
}
Так работает.

Но нашел глюки: падает если попробовать выделить файлы в панели, когда в буфере, например, код этой функции - lua падает.

1. скопировать код выше
2. из меню Shell_SelectingEx.lua вызвать " M Пометить из буфера"
3. ошбка

Code: Select all

╔═══════════════════════ Исключительная ситуация ════════════════════════╗
║ Исключение:  C++ исключение (std::exception: string too long)          ║
║ Адрес:       0x000007FEFCD8B16D RaiseException                         ║
║ Функция:     OpenW                                                     ║
║ Модуль:      :\Program Files\Far Manager\Plugins\LuaMacro\LuaMacro.dll ║
╟────────────────────────────────────────────────────────────────────────╢
║      { Выгрузить плагин } [ Стек ] [ Минидамп ] [ Игнорировать ]       ║
╚════════════════════════════════════════════════════════════════════════╝

глюк 2:
не работает пометка\снятие выделения из буфера обмена если в имени была запятая, точка с запятой или еще какие то символы. например "мю" (µ) точно не выделяется.

UPD запятая и точка с запятой нашел гпочему глючат:

Code: Select all

  FileList=(FileList:gsub("[\r\"]","\n"):upper().."\n"):gsub("\\\n","\n")
что не так с Мю (и с ней ли одной) не знаю.
Last edited by DeeZ on Tue 25 Apr, 2017 08:44, edited 2 times in total.

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

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

Post by zg » Tue 25 Apr, 2017 11:02

4943.

Post Reply

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