[fml] Очень Быстрые Папки (макрос для Macro Lib)

Здесь обсуждается всё, что касается макросов.
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Очень Быстрые Папки (макрос для Macro Lib)

Post by John Doe »

Latest post of the previous page:

Имеет смысл удалять старые версии макроса, чтобы не путать пользователей читающих тему с начала.
А ещё лучше поддерживать актуальный макрос в каком-то одном посте, и в обновлениях просто давать на него ссылку.
Ещё: вложение это хорошо, но кроме того удобно было бы видеть и сам текст макроса (под спойлером).
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Очень Быстрые Папки (макрос для Macro Lib)

Post by Max Rusov »

Моя версия

Отличия:
1. Практически неограниченное число закладок, благодаря тому что закладки могут иметь многобуквенные мнемоники
2. Поддержка плагинных панелей (для некоторых плагинов, например RegEditor)

Для установки закладки удерживайте RCtrlShift и набирайте ее мнемонику, для перехода к закладке - удерживайте RCtrl. Действие происходит в момент отпускания префиксных клавиш.

Меню закладок выглядит так:
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

Re: Очень Быстрые Папки (макрос для Macro Lib)

Post by sToLp »

Max Rusov wrote:Моя версия
Замечательный макрос! Большое спасибо! По-моему, он стоит целого плагина.

Кстати, он создаёт и вызывает закладки, назначаемые и на более чем трёхзнаковые сочетания. И хотя в меню "Bookmarks" они и не отражаются, но отменно работают.

Но в плагинах ещё можно в путях переменные среды забивать. А в этом макросе такого в принципе возможно добиться?
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Очень Быстрые Папки (макрос для Macro Lib)

Post by Max Rusov »

sToLp wrote:Но в плагинах ещё можно в путях переменные среды забивать. А в этом макросе такого в принципе возможно добиться?
В принципе - можно, функция env есть. Но мне - лениво, можешь сам поправить.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

Re: Очень Быстрые Папки (макрос для Macro Lib)

Post by sToLp »

Max Rusov wrote:мне - лениво, можешь сам поправить
Вам лень, а мне пока не в мочь.
И очень даже любопытно: а многие ли вообще взялись бы сделанный Вами макрос как Вы изволили выразиться "поправить"?
Kirill
Posts: 263
Joined: Thu 04 Aug, 2005 10:27
Location: Kaliningrad
Has thanked: 3 times
Contact:

Re: Очень Быстрые Папки (макрос для Macro Lib)

Post by Kirill »

Max, прости, пожалуйста. Подскажи, как мне воспользоваться MacroLib и данным макросом? Плагин MacroLibстоял. Скачал fml файл в папку Macros. После обновления появилось 6 макросов. А дальше что сделать? Может я неправильно все делал с начала?
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Очень Быстрые Папки (макрос для Macro Lib)

Post by Max Rusov »

Все же описано:
Для установки закладки удерживайте RCtrlShift и набирайте ее мнемонику, для перехода к закладке - удерживайте RCtrl. Действие происходит в момент отпускания префиксных клавиш.
RCtrlShift1 - поставил закладку
RCtrl1 - перешел к закладке

Что не получается?
Kirill
Posts: 263
Joined: Thu 04 Aug, 2005 10:27
Location: Kaliningrad
Has thanked: 3 times
Contact:

Re: Очень Быстрые Папки (макрос для Macro Lib)

Post by Kirill »

По RCtrl1 у меня висит макрос FAR'а. Он скорее всего перекрывает работу MacroLib или у меня не работает?

PS. Убрал встроенный, заработал от MаcroLib. Спасибо. Только не увидел скриншот: у меня только список папок без кодов.
IgorZ
Posts: 790
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 15 times
Been thanked: 93 times

Re: Очень Быстрые Папки (макрос для Macro Lib)

Post by IgorZ »

Попробовал макрос Shell Bookmark. Обнаружил несколько ошибок и недочётов: не все комбинации клавиш работали нормально, при нажатии RCtrl/ Ins в выпадающем меню Cancel работал как Delete, макрос перекрывал стандартные RCtrl1-RCtrl0, что лично мне неудобно. В результате переработал его, частично изменил механизм работы, заодно добавил обработку переменных среды.
При переходе с предыдущей версии для корректной работы меню надо создать индекс (RCtrl/ Ins Enter Rescan list). Тупо проверяет наличие всех возможных комбинаций, поэтому увеличение максимальной проверяемой длины комбинации на 1 увеличивает время работы в 36 раз. Надоест ждать - можно прервать Esc. Как альтернатива - прогнать для 1-2-хсимвольных комбинаций, для более длиных отредактировать переменную BookmarkList вручную (SQLiteDB Вам в помощь!).
Attachments
Bookmark2.fml.7z
(2.63 KiB) Downloaded 151 times
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Очень Быстрые Папки (макрос для Macro Lib)

Post by Max Rusov »

IgorZ wrote:Тупо проверяет наличие всех возможных комбинаций, поэтому увеличение максимальной проверяемой длины комбинации на 1 увеличивает время работы в 36 раз
Теперь то все можно сделать гораздо проще и эффективнее: Macro.Var
User avatar
SUSim
Posts: 1637
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 26 times

Re: Очень Быстрые Папки (макрос для Macro Lib)

Post by SUSim »

ещё идея (спонтанно :) ): можно сделать макрос который развесит один макрос на множество кнопок (и это будут обычные макросы - ими можно будет пользоваться в фаре без плагинов!) , отличие от макролиб будет в размере файла...
SimSU ··· ·· -- ··· ··-
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Очень Быстрые Папки (макрос для Macro Lib)

Post by Max Rusov »

Переписал с использованием новых функций

Shell Bookmark v2

* Меню закладок отображает все закладки с любой длинной мнемоники
* В путях могут использоваться переменные окружения
* Макрос не мешает работе стандартных закладок Far (если они не перекрыты закладками макроса)
* Требуется Far 3 build 2576+, MacroLib v 1.0.17
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Очень Быстрые Папки (макрос для Macro Lib)

Post by Max Rusov »

Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Очень Быстрые Папки (макрос для Macro Lib)

Post by Shmuel »

Max Rusov wrote:LUA версия
Посмотрел сейчас реализацию функции ExpandEnv. Можно проще:

Code: Select all

function ExpandEnv(Str)
  return (Str:gsub("%%(.-)%%", win.GetEnv))
end
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Очень Быстрые Папки (макрос для Macro Lib)

Post by Max Rusov »

Круто, спасибо.

Вот бы еще придумать красивый способ, чтобы в подобных случаях функцию не надо было бы дублировать несколько раз в разных макросах...
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Очень Быстрые Папки (макрос для Macro Lib)

Post by Shmuel »

Max Rusov wrote:Вот бы еще придумать красивый способ, чтобы в подобных случаях функцию не надо было бы дублировать несколько раз в разных макросах...
Использовать библиотеки или автостартующие макросы.
Post Reply

Return to “Обсуждение макросов”