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

Здесь обсуждается всё, что касается макросов.
Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 11 times

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

Post by Max Rusov »

Latest post of the previous page:

Моя версия

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

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

Меню закладок выглядит так:

User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 12 times

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

Post by sToLp »

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

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

Но в плагинах ещё можно в путях переменные среды забивать. А в этом макросе такого в принципе возможно добиться?

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 11 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: 107 times
Been thanked: 12 times

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

Post by sToLp »

Max Rusov wrote:мне - лениво, можешь сам поправить
Вам лень, а мне пока не в мочь.
И очень даже любопытно: а многие ли вообще взялись бы сделанный Вами макрос как Вы изволили выразиться "поправить"?

Kirill
Posts: 262
Joined: Thu 04 Aug, 2005 10:27
Location: Kaliningrad
Has thanked: 1 time
Contact:

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

Post by Kirill »

Max, прости, пожалуйста. Подскажи, как мне воспользоваться MacroLib и данным макросом? Плагин MacroLibстоял. Скачал fml файл в папку Macros. После обновления появилось 6 макросов. А дальше что сделать? Может я неправильно все делал с начала?

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 11 times

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

Post by Max Rusov »

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

Что не получается?

Kirill
Posts: 262
Joined: Thu 04 Aug, 2005 10:27
Location: Kaliningrad
Has thanked: 1 time
Contact:

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

Post by Kirill »

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

PS. Убрал встроенный, заработал от MаcroLib. Спасибо. Только не увидел скриншот: у меня только список папок без кодов.

IgorZ
Posts: 660
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 12 times
Been thanked: 52 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 123 times

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 11 times

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

Post by Max Rusov »

IgorZ wrote:Тупо проверяет наличие всех возможных комбинаций, поэтому увеличение максимальной проверяемой длины комбинации на 1 увеличивает время работы в 36 раз
Теперь то все можно сделать гораздо проще и эффективнее: Macro.Var

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

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

Post by SUSim »

ещё идея (спонтанно :) ): можно сделать макрос который развесит один макрос на множество кнопок (и это будут обычные макросы - ими можно будет пользоваться в фаре без плагинов!) , отличие от макролиб будет в размере файла...
SimSU ··· ·· -- ··· ··-

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 11 times

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

Post by Max Rusov »

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

Shell Bookmark v2

* Меню закладок отображает все закладки с любой длинной мнемоники
* В путях могут использоваться переменные окружения
* Макрос не мешает работе стандартных закладок Far (если они не перекрыты закладками макроса)
* Требуется Far 3 build 2576+, MacroLib v 1.0.17

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 11 times

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

Post by Max Rusov »


Shmuel
Posts: 5976
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 25 times
Been thanked: 257 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: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 11 times

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

Post by Max Rusov »

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

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

Shmuel
Posts: 5976
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 25 times
Been thanked: 257 times

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

Post by Shmuel »

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

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 11 times

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

Post by Max Rusov »

Библиотеки - придется выносить функцию в отдельный файл. Для данного макроса это черезмерное усложнение.
Как может помочь автостартующий макрос - не понял :(

Post Reply

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