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

Здесь выкладываются готовые к использованию макросы и скрипты.
User avatar
SUSim
Posts: 1531
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 284 times
SimSU20180907.7z
Два синхронных редактора, Фавориты доработаны, остальное по мелочам...
(69.69 KiB) Downloaded 167 times
SimSU20180519.7z
Прошлая весия
(65.59 KiB) Downloaded 232 times
Last edited by SUSim on Tue 10 Sep, 2019 17:08, edited 10 times in total.
SimSU ··· ·· -- ··· ··-

buniak_a_h
Posts: 1145
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 83 times
Been thanked: 50 times
Contact:

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

Post by buniak_a_h » Thu 15 Nov, 2018 08:57

Latest post of the previous page:

SUSim, удивляет выбор умолчательной "горячей клавиши" для "синхронного редактора". AltE ...
1. Поиск по Alt-буква можно как-то выключить?
2. Если можно, то как заходить в режим Search по-другому? У меня стоит искаробочный AltSearch.lua - он же тоже работать перестанет?

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

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

Post by John Doe » Thu 15 Nov, 2018 09:08

SUSim wrote:
Wed 14 Nov, 2018 16:31
+ поэксплуатируем БАГ FAR - позволяющий вычислить положение окна редактора :)
Полагается на плагины раскраски, а можно ведь и самостоятельно вызвать AddColor ;-)
SUSim wrote:
Thu 15 Nov, 2018 05:02
пока не знаю как сформулировать!
Значения позиций, возвращаемых по ECTL_GETCOLOR не соответствуют значениям, установленным ECTL_ADDCOLOR: в случае когда при открытии редактора были заданы позиции X/Y, то значения оказываются смещены соответственно (но в противоположную сторону).

SUSim wrote:
Thu 15 Nov, 2018 05:02
а то если исправите, то я не знаю как узнать координаты окна редактора.
Расширить структуры EditorInfo и ViewerInfo. Или WindowInfo.
(Пожелание упоминается тут: https://bugs.farmanager.com/view.php?id=3519, но заслуживает и отдельного тикета)

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

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

Post by John Doe » Thu 15 Nov, 2018 09:53

buniak_a_h wrote:
Thu 15 Nov, 2018 08:57
1. Поиск по Alt-буква можно как-то выключить?
Зачем??
И в правильной ли теме вопрос?
buniak_a_h wrote:
Thu 15 Nov, 2018 08:57
2. Если можно, то как заходить в режим Search по-другому? У меня стоит искаробочный AltSearch.lua - он же тоже работать перестанет?
Макросами всё можно. AltSearch.lua не перестанет.

buniak_a_h
Posts: 1145
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 83 times
Been thanked: 50 times
Contact:

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

Post by buniak_a_h » Thu 15 Nov, 2018 09:55

SUSim wrote:
Wed 14 Nov, 2018 16:31
P.P.S. buniak_a_h, после незначительных правок больше не случается у меня, если что пиши, будем разбираться.
По сравнению с Вашим макросом поменял только s.key (прямо в Settings, уж извините).
Работаю сейчас так:
- после вызова макроса первый раз после запуска ФАРа получаю чёрный экран;
- по F12 нахожу окно редактирования временного файла (с отметкой Changed) и перехожу на него;
- жму Esc, подтверждаю выход без сохранения; почему-то предлагается выйти и из ФАР-а - отказываюсь (ещё одна странность: у меня нет макроса, закрывающего ФАР по Esc!);
(как выяснилось сейчас, после закрытия окна-редактора с различиями где-то остаются открытыми редакторы с исходными файлами. Приходится их закрывать тоже. Но с ними легче: на них ФАР переключается стандартными CtrlTab)
- вызываю макрос второй раз; всё работает
Неудобно, но не фатально.
---
Нашёл "странность", присутствующую во всех Ваших скриптах: Вы используете некое поле far.lang . Тут две неприятности: (а) проверка LuaTest выдаёт на них предупреждение и (б) при изменении настроек far.lang не меняется. Ну и вообще непонятно, зачем; чем это лучше, например, вызова Far.GetConfig('Language.Main') и занесения его в local ?
Есть пожелание: "поженить" плагин Visual Compare с Вашим макросом. VC выводит результаты сравнения в диалог с Id="78DBDD6F-74A0-41E4-91FC-DE5707CF63F5" .
Last edited by buniak_a_h on Thu 15 Nov, 2018 10:12, edited 2 times in total.

buniak_a_h
Posts: 1145
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 83 times
Been thanked: 50 times
Contact:

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

Post by buniak_a_h » Thu 15 Nov, 2018 10:05

John Doe wrote:
Thu 15 Nov, 2018 09:53
buniak_a_h wrote:
Thu 15 Nov, 2018 08:57
1. Поиск по Alt-буква можно как-то выключить?
Зачем??
И в правильной ли теме вопрос?
Это, скорее, был не вопрос, а замечание к макросу.
Ну, согласитесь, что вызов макроса сочетанием Alt+буква либо не будет работать, т.к. включается поиск по панели, либо сделает поиск файла, начинающегося с "E" (без AltSearch.lua) невозможным (если он сможет "перехватить" это кнопкосочетание). Точнее, неудобным: сначала придется "искать" другую букву, потом стирать её в области поиска и жать "E".
John Doe wrote:
Thu 15 Nov, 2018 09:53
buniak_a_h wrote:
Thu 15 Nov, 2018 08:57
2. Если можно, то как заходить в режим Search по-другому? У меня стоит искаробочный AltSearch.lua - он же тоже работать перестанет?
Макросами всё можно. AltSearch.lua не перестанет.
Может, и можно, хотя я не смог. Важно другое: если действительно выключить поиск по сочетаниям Alt+буква, то AltSearch работать тоже не будет, т.к. он состоит из последовательности Keys('Alt<'), а она как раз и будет выключена.
Считаю мои замечания справедливыми. Уж извините. Дождусь, что ответит автор.
Last edited by buniak_a_h on Thu 15 Nov, 2018 10:07, edited 1 time in total.

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

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

Post by John Doe » Thu 15 Nov, 2018 10:20

buniak_a_h wrote:
Thu 15 Nov, 2018 10:05
Точнее, неудобным: сначала придется "искать" другую букву, потом стирать её в области поиска и жать "E".
Это верно.
Однако ради расширения списка удобных хоткеев кто-то может посчитать возможным пожертвовать таким использованием быстрого поиска.
Который кстати всё ещё останется потенциально доступным, хотя бы посредством AltSearch.lua.
buniak_a_h wrote:
Thu 15 Nov, 2018 10:05
Важно другое: если действительно выключить поиск по сочетаниям Alt+буква, то AltSearch работать тоже не будет, т.к. он состоит из последовательности Keys('Alt<'), а она как раз и будет выключена.
Неверно.
На данный момент можно выключить быстрый поиск только макросом. При этом AltSearch.lua может работать.

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

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

Post by John Doe » Thu 15 Nov, 2018 10:28

Посмотрел на Editor_Pair.lua
Из того, что бросилось в глаза:
- переменная NewFocus нигде не инициализируется
- функция Quit пытается выйти откуда-то, эмулируя нажатие F10. Подозреваю легаси код какой-то.
- функция Switch совсем уж сомнительна
Перебирает окна (ACTL_GETWINDOWINFO) начиная с 0, а 0 это текущее окно.
Далее переключается в найденное (ACTL_SETCURRENTWINDOW), и даже не знаю что будет если передатьтуда 0.
При этом ищет по Id, который вовсе не обязан быть уникальным среди всех окон (только среди редакторов).

Дальше не углублялся.

buniak_a_h
Posts: 1145
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 83 times
Been thanked: 50 times
Contact:

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

Post by buniak_a_h » Thu 15 Nov, 2018 11:18

John Doe, А то я уж думал, что мне кажется... Я предполагал ранее, что имеются неинициализированные переменные.

buniak_a_h
Posts: 1145
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 83 times
Been thanked: 50 times
Contact:

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

Post by buniak_a_h » Thu 15 Nov, 2018 12:17

John Doe wrote:
Thu 15 Nov, 2018 10:28
переменная NewFocus нигде не инициализируется
Интересно...
Если проинициализировать NewFocus=true, то макрос валит LuaFar (по-моему).
Если проинициализировать NewFocus=false, то работает как я описал (что естественно), НО!!!
Event {id="40ac379b-d286-4f86-bad4-efad334f4e14"; --Получение фокуса одним из окон
никогда не будет выполняться!

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

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

Post by John Doe » Thu 15 Nov, 2018 12:29

buniak_a_h, нет смысла анализировать отдельно эту переменную, проблема в том, что скрипт вообще работает неаккуратно, и лучше подождать пока автор с этим разберётся.
А там уже или ваша проблема уйдёт, или можно продолжить.

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

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

Post by John Doe » Thu 15 Nov, 2018 12:58

SUSim wrote:
Wed 14 Nov, 2018 16:31
20181011
1. Editor_ShowWhiteSpace.lua Подсветка табуляции и перевода строк. © SimSU
+ поэксплуатируем БАГ FAR - позволяющий вычислить положение окна редактора :)
А для чего в этом скрипте может понадобиться вычислять положение окна?

User avatar
SUSim
Posts: 1531
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 5 times
Been thanked: 9 times

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

Post by SUSim » Thu 15 Nov, 2018 20:33

у меня в комплекте макрос для поиска только по RAlt.
я и знакомые к такому поиску сильно привыкли!
а вот левый все разрешили под хоткеи...
Last edited by SUSim on Thu 15 Nov, 2018 20:35, edited 1 time in total.
SimSU ··· ·· -- ··· ··-

buniak_a_h
Posts: 1145
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 83 times
Been thanked: 50 times
Contact:

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

Post by buniak_a_h » Fri 16 Nov, 2018 08:09

SUSim wrote:
Thu 15 Nov, 2018 20:33
у меня в комплекте макрос для поиска только по RAlt.
я и знакомые к такому поиску сильно привыкли!
а вот левый все разрешили под хоткеи...
Жаль... У меня левая рука плохо действует. На Ctl ещё попадаю, а вот на буковки - с трудом.
Ладно, придётся терпеть...

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

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

Post by John Doe » Fri 16 Nov, 2018 08:11

SUSim wrote:
Thu 15 Nov, 2018 05:02
а то если исправите, то я не знаю как узнать координаты окна редактора.

Code: Select all

zg 15.11.2018 15:00:02 +0200 - build 5317
 1. ECTL_GETCOLOR неправильно возвращала координаты.
Для активного редактора можно использовать ACTL_GETCURSORPOS.
Тоже хак конечно.

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

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

Post by John Doe » Fri 16 Nov, 2018 10:23

buniak_a_h wrote:
Fri 16 Nov, 2018 08:09
Ладно, придётся терпеть...
Переназначить же

User avatar
SUSim
Posts: 1531
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 5 times
Been thanked: 9 times

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

Post by SUSim » Sat 17 Nov, 2018 07:25

Вот блин! Добавьте возможность узнать координаты редактора!!! а то изобретать костыли не айс...

Кстати если на экране 2 редактора, то при клике мышью в неактивный активный все равно считает что кликнули в него!
SimSU ··· ·· -- ··· ··-

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

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

Post by John Doe » Sat 17 Nov, 2018 09:24

SUSim wrote:
Sat 17 Nov, 2018 07:25
Добавьте возможность узнать координаты редактора!!!
Используйте багтрекер. В этой теме это останется просто воплем.
SUSim wrote:
Sat 17 Nov, 2018 07:25
если на экране 2 редактора, то при клике мышью в неактивный активный все равно считает что кликнули в него!
Продемонстрируйте

Post Reply

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