Page 31 of 49

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

Posted: Wed 21 Mar, 2012 18:27
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

Posted: Wed 15 Mar, 2017 11:44
by zg

Latest post of the previous page:

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

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

Posted: Wed 15 Mar, 2017 11:57
by Shmuel
zg wrote: на мой взгляд — всё работает
Надо проверять с помеченными пунктами.

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

Posted: Wed 15 Mar, 2017 12:35
by DrKnS
Shmuel wrote: Надо проверять с помеченными пунктами.
Господа, ну если уже повторили - нельзя сказать нормально, как HaRT на предыдущей странице описал, а не выдавать по подсказке за раз?

4916.

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

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

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

Posted: Thu 16 Mar, 2017 03:19
by abelenki
DrKnS, Shmuel, спасибо! в 4917 макрос Editor_Trimmer.lua снова работает как надо.

ShiftAdd в макросах

Posted: Mon 24 Apr, 2017 05:57
by DeeZ
Пытаюсь переназначить кнопки для макросов 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

ShiftAdd в макросах

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

ShiftAdd в макросах

Posted: Mon 24 Apr, 2017 07:49
by DeeZ
Да. уже заметил что он всегда показывает пусто если это макрос из файла а не записный самим FARом.
Но в МакроБраузере других макро на ShiftAdd нет. больше того, если из макрос-браузера вызвать эту функцию - она не срабатывает. выделения нет.

ShiftAdd в макросах

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

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

Posted: Mon 24 Apr, 2017 08:46
by DeeZ
Поменял хоткеи в 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) то работает. куда копать?

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

Posted: Mon 24 Apr, 2017 14:22
by HaRT
Shmuel wrote: дальнейшие вопросы задавать в теме макросов SimSU
Подклеено.

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

Posted: Mon 24 Apr, 2017 14:47
by Shmuel
HaRT, сегодня только обратил внимание, что данная тема - в разделе "Обсуждение макросов". Уж она-то точно должна быть в разделе "Полезные макросы и скрипты".

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

Posted: Mon 24 Apr, 2017 16:07
by HaRT
Shmuel wrote: Уж она-то точно должна быть в разделе "Полезные макросы и скрипты".
Как по мне, так разброс полезности этих скриптов слишком велик. Но, заметьте, эта тема помечена звездой — такого не каждая удостаивается. А вообще этим занимается уважаемый John Doe.

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

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

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

Posted: Mon 24 Apr, 2017 22:28
by John Doe
Данный набор первым и попал в Полезные, а вернулся в Обсуждение когда тема перестала поддерживаться автором, в частности шапка долгое время была неактуальной.

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

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

Posted: Tue 25 Apr, 2017 07:59
by DeeZ
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")
что не так с Мю (и с ней ли одной) не знаю.