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

Здесь выкладываются готовые к использованию макросы и скрипты.
User avatar
SUSim
Posts: 1479
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 4 times
Been thanked: 4 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. c Shmuel SimSU
Простое импортирование макроса FAR. © SimSU
Список завершения LuaMacro. © 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
Подсказки к файлам (плагин FarHints © Максим Русов). © 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
Включение/отключение поиска на панели после отпускания RAlt. © SimSU
Сохранение/восстановление выделения файлов. © SimSU
Такой же путь & Текущая папка. © SimSU
Выделение файлов аля Explorer. © SimSU
Работа с пометкой файлов. © SimSU
Расширение функциональных клавиш копирования, переноса, создания папки. © SimSU
Attachments
SimSU_20170901.7z
обновился :) конкретизация позже...
(55.99 KiB) Downloaded 97 times
Last edited by SUSim on Fri 01 Sep, 2017 21:02, edited 5 times in total.
SimSU ··· ·· -- ··· ··-

User avatar
zg
zero-gravity
Posts: 5302
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 47 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: 5222
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 150 times

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

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

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

User avatar
DrKnS
Posts: 4637
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 125 times
Contact:

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

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

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

4916.

Shmuel
Posts: 5222
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 150 times

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

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

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

User avatar
abelenki
Posts: 408
Joined: Thu 02 Jul, 2009 07:39
Location: Perm, Russia
Has thanked: 93 times
Been thanked: 17 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: 97
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: 5222
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 150 times

ShiftAdd в макросах

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

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

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

ShiftAdd в макросах

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

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

Shmuel
Posts: 5222
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 150 times

ShiftAdd в макросах

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

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

DeeZ
Posts: 97
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: 8105
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 67 times
Been thanked: 103 times

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

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

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

Shmuel
Posts: 5222
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 150 times

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

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

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

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

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

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

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

Shmuel
Posts: 5222
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 150 times

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

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

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

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

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

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

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

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

DeeZ
Posts: 97
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: 5302
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 47 times
Contact:

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

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

4943.

Post Reply

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