Как использовать макрос в user menu (F2)?

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
User avatar
zencd
Posts: 74
Joined: Wed 07 Sep, 2005 13:09
Location: spb

Как использовать макрос в user menu (F2)?

Post by zencd » Sat 15 Aug, 2009 20:12

Не хочу вешать макрос на комбинацию клавиш, но хочу вызывать и редактировать его из меню (F2).

Вбиваю в команду меню такую последовательность, но, само собой, она не запускается должным образом:

Code: Select all

Add * . p a r t * . d l l Enter F6 * . r a r Enter Add * . d l l Enter F6 * . m p 3 Enter
Споможите, куда копнуть?

Примечание модератора:
Связанная тема: Как вызвать макрос из usermenu (F2)
Far version 2.0

Maximus5
Posts: 3292
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

Re: Как использовать макрос в user menu (F2)?

Post by Maximus5 » Sat 15 Aug, 2009 21:20

плагин selmacro вроде должен помочь

User avatar
Wave
Posts: 1759
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 4 times
Been thanked: 14 times

Re: Как использовать макрос в user menu (F2)?

Post by Wave » Sat 15 Aug, 2009 21:35

Code: Select all

macro:post Add * . p a r t * . d l l Enter F6 * . r a r Enter Add * . d l l Enter F6 * . m p 3 Enter
Пользуюсь ФАРом больше 20 лет © собирательный.

User avatar
zencd
Posts: 74
Joined: Wed 07 Sep, 2005 13:09
Location: spb

Re: Как использовать макрос в user menu (F2)?

Post by zencd » Sat 15 Aug, 2009 21:56

Спасибо, Wave! Работает! (-:

Главное - не забыть каретку в конце перевести.
Far version 2.0

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 3 times

Re: Как использовать макрос в user menu (F2)?

Post by Skirda » Sun 16 Aug, 2009 06:15

zencd wrote:Главное - не забыть каретку в конце перевести.
это про что?
We are the Borg. You will be assimilated.
So Say We All!

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

Re: Как использовать макрос в user menu (F2)?

Post by HaRT » Mon 17 Aug, 2009 11:33

Skirda wrote:это про что?
Это про Enter в макросе.
Фар есть инструмент, а не нянька. © 2009 DrKnS

topmo3
Posts: 135
Joined: Mon 21 Aug, 2006 15:36
Has thanked: 7 times
Been thanked: 5 times

Вызов макроса из меню

Post by topmo3 » Wed 29 Aug, 2012 20:10

Подскажите, как вызвать выполнение макроса из пункта пользовательского меню (которое по F2 показывается).
Например есть макрос для сравнения файлов с помощью плагина VisComp.
В нем анализ количества выделенных файлов, составление и вызов плагина с помощью командной строки типа vc:file1 file2.
Он назначен на клавиши CtrlAltV.
Как бы для запуска этого макроса создать отдельный пункт меню?

Спасибо.

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

Re: Вызов макроса из меню

Post by HaRT » Wed 29 Aug, 2012 20:31

FARCmds: far:macro post
Фар есть инструмент, а не нянька. © 2009 DrKnS

Maximus5
Posts: 3292
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

Re: Вызов макроса из меню

Post by Maximus5 » Thu 30 Aug, 2012 00:01

macro:post ...

topmo3
Posts: 135
Joined: Mon 21 Aug, 2006 15:36
Has thanked: 7 times
Been thanked: 5 times

Re: Вызов макроса из меню

Post by topmo3 » Thu 30 Aug, 2012 06:25

Спасибо!
Работает даже без FARCmds.

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

Re: Вызов макроса из меню

Post by HaRT » Thu 30 Aug, 2012 15:50

topmo3 wrote:Работает даже без FARCmds.
Ух ты!
НаучИте и нас тоже! ;-)
Фар есть инструмент, а не нянька. © 2009 DrKnS

topmo3
Posts: 135
Joined: Mon 21 Aug, 2006 15:36
Has thanked: 7 times
Been thanked: 5 times

Re: Вызов макроса из меню

Post by topmo3 » Thu 30 Aug, 2012 18:04

topmo3 wrote:Спасибо!
Работает даже без FARCmds.
Ну хорошо, тогда так:
Работает даже без "FARCmds:"
Last edited by topmo3 on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Вычеркнуто лишнее

tstr
Posts: 522
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 7 times
Been thanked: 6 times

Re: Как использовать макрос в user menu (F2)?

Post by tstr » Fri 10 May, 2013 06:05

нет ли на текущий момент более оптимальной возможности использования макросов в user menu? только вызов внешних функций и возврат значений через переменные окружения?
как минимум, было бы удобно использовать многострочные макросы из user menu, что-то вроде

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

Re: Как использовать макрос в user menu (F2)?

Post by John Doe » Fri 10 May, 2013 08:58

Каждая строка в usermenu - это отдельная команда, поэтому с многострочностью пока не выйдет.
Но: многострочный макрос может храниться например в файле, и запускаться через lm:post @path_to_file

Передать из макроса данные во внешнюю утилиту можно через файл, переменную, или ключом командной строки
Но: возвращать значение из макроса необязательно, можно прямо из макроса организовать запуск утилиты.
tstr wrote:только вызов внешних функций и возврат значений через переменные окружения?
Путей намного больше чем вы думаете, для каждой задачи может быть свой.

tstr
Posts: 522
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 7 times
Been thanked: 6 times

Re: Как использовать макрос в user menu (F2)?

Post by tstr » Fri 10 May, 2013 09:39

о том и речь, что возможностей сейчас хватает, и каждая из них самодостаточна, а вот о бесшовном их совместном использовании пока речи не может идти. именно из-за этого возникает необходимость в "костылях". понятно, что в рабочем варианте всё "настроено и работает", и эти костыли режут глаз только при глобальных переделках.
Но: многострочный макрос может храниться например в файле, и запускаться через lm:post @path_to_file
на каждый элемент меню писать свой файл ( ведь при "lm:post @path_to_file" нельзя указать что конкретно из этого файла вызвать?) - нерационально,
а при вызове утилит из макроса - теряем удобство использования метасимволов,
с другой стороны - нельзя использовать выражения lua в условиях срабатывания команд в user menu и ассоциациях файлов ("IF EXIST" и "IF DEFINED").
Путей намного больше чем вы думаете, для каждой задачи может быть свой.
спасибо, учту. :wink:

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

Re: Как использовать макрос в user menu (F2)?

Post by John Doe » Fri 10 May, 2013 09:46

tstr wrote:( ведь при "lm:post @path_to_file" нельзя указать что конкретно из этого файла вызвать?)
Можно, но немного не так.
tstr wrote:а при вызове утилит из макроса - теряем удобство использования метасимволов
Не теряется, если метасимволы передавать в параметром функции.
Или же наоборот, макрос сам может постить команду для исполнения фару (far.MacroPost)
tstr wrote:с другой стороны - нельзя использовать выражения lua в условиях срабатывания команд в user menu и ассоциациях файлов ("IF EXIST" и "IF DEFINED").
Кстати неплохой виш для мантиса может получиться.

Post Reply

Return to “Нужна помощь”