Сейчас в наборе макросов от SimSU 44 макрофайла в каждом из которых определено не меньше 5 макроклавиш. Уверен, что не найдется ни одного человека, который способен запомнить такое большое количество клавиш. Думаю, что даже сам автор не использует все макросы, входящие в его набор. Поэтому мне приходится, каждый раз после обновления макросов заменять некоторые макросы с Macro на NoMacro. И не дай бог я где-то забуду это сделать. Фар может начать вести себя совершенно хаотичным образом. Понять, что проблема в макросах можно только запустив Фар с ключом /m. Никакой возможности понять, является ли данная клавиша горячей клавишей фара, макроклавишей или обычной клавишей нет. Если макрос, повешенный на клавишу вообще то полезен, но в данную минуту тебе мешает, никакой возможности вернуть на время одной клавише действие по умолчанию нет.
Поэтому вместо макроклавиш я предпочитаю использовать usermenu. У меня на клавишу Ctrl-K повешен макрос, вызывающий меню. Сочетания подобные Ctrl-K r я набираю не задумываясь на автомате. Если я забыл про какую то клавишу, подсказка у меня будет сразу перед глазами. При таком подходе у меня три проблемы:
1. Меню для панелей и редактора очень похожи. Мне бы хотелось иметь или какой-нибудь механизм наследования меню, или includes, или условия для пунктов usermenu (для редактора выполнить текущий файл, как lua программу, для панелей передать фай под курсором в lm;post; некоторые пункты меню имеют смысл только для редактора или только для панелей)
2. Вызов lua функций из меню выглядит довольно неуклюже.
Code: Select all
lm:post func(params)
Кто нибудь еще сталкивался с подобными проблемами? Как Вы их решали?