Хоткеи для макросов в виде key sequences (как в mc)
Хоткеи для макросов в виде key sequences (как в mc)
Приветствую.
Нехватает возможности задавать хоткеи для макросов ввиде последовательности нажатия клавиш (key sequences). Это наверно ближе к обсуждению расширения макро-фунциональности... Вот например, для вызова диалога поиска - "Esc, ?" (точнее "Esc, Shift /") чтобы выполнить макрос "Alt F7".
Если честно, мне надо только для этого конкретного случая (поиска), привык - постоянно нажимаю вместо "Alt F7"... Наверно это все-таки удобно, раз руки сами нажимают =)
Думаю, кто работает в unix/linux такую возможность оценит отнозначно.
P.S.
Был подобный тикет на мантисе.
Нехватает возможности задавать хоткеи для макросов ввиде последовательности нажатия клавиш (key sequences). Это наверно ближе к обсуждению расширения макро-фунциональности... Вот например, для вызова диалога поиска - "Esc, ?" (точнее "Esc, Shift /") чтобы выполнить макрос "Alt F7".
Если честно, мне надо только для этого конкретного случая (поиска), привык - постоянно нажимаю вместо "Alt F7"... Наверно это все-таки удобно, раз руки сами нажимают =)
Думаю, кто работает в unix/linux такую возможность оценит отнозначно.
P.S.
Был подобный тикет на мантисе.
Last edited by John Doe on Mon 13 Sep, 2010 09:16, edited 1 time in total.
Reason: P.S.
Reason: P.S.
serg.
- Andrey Budko
- Posts: 1203
- Joined: Fri 01 Apr, 2005 14:03
- Contact:
Re: Использование дополнительных клавиш для макросов
1. "Сложные" горячие клавиши - как было в Turbo|Borland Pascal и т.п. - для увеличения кол-ва макроклавиш и их систематизации
Ctrl-K ... - операции с блоками
Ctrl-K B - поментить начало блока
Ctrl-K K - поментить конец блока
Ctrl-K Н - снять выделение с блока
2. Вложенные вызовы
Макрос состоит из нажатий клавиш, которым может быть назначен, а потом и изменен, свой макрос
Ctrl-K ... - операции с блоками
Ctrl-K B - поментить начало блока
Ctrl-K K - поментить конец блока
Ctrl-K Н - снять выделение с блока
2. Вложенные вызовы
Макрос состоит из нажатий клавиш, которым может быть назначен, а потом и изменен, свой макрос
Re: Использование дополнительных клавиш для макросов
Я думаю после релиза станет возможным...bvv941152 wrote:1. "Сложные" горячие клавиши - как было в Turbo|Borland Pascal и т.п. - для увеличения кол-ва макроклавиш и их систематизации
"%%i=блаблабла;... eval(%%i)" - не оно?bvv941152 wrote:2. Вложенные вызовы
Макрос состоит из нажатий клавиш, которым может быть назначен, а потом и изменен, свой макрос
We are the Borg. You will be assimilated.
So Say We All!
So Say We All!
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Re: Использование дополнительных клавиш для макросов
Никогда не понимал, как можно пользоваться этими убогими сочетаниями, но оно, как бы, возможно уже сейчас:Skirda wrote:Я думаю после релиза станет возможным...bvv941152 wrote:1. "Сложные" горячие клавиши - как было в Turbo|Borland Pascal и т.п. - для увеличения кол-ва макроклавиш и их систематизации
Макрос на CtrlK:
%key=waitkey(); $if %key==B метим_начало_блока $else $if %key==K метим_конец_блока $else ...
Re: Использование дополнительных клавиш для макросов
смущаетDrKnS wrote:... но оно, как бы, возможно уже сейчас:
Макрос на CtrlK:
%key=waitkey(); ...
всмысле что будет нового после релиза?Skirda wrote:Я думаю после релиза станет возможным...
Re: Использование дополнительных клавиш для макросов
Похоже это работающий вариант, но если учесть что таких комбинаций может быть несколько десятков (или даже сотен - за что и боролись), то писать такие макросы слишком муторно - процесс явно нуждается в автоматизации.DrKnS wrote: Никогда не понимал, как можно пользоваться этими убогими сочетаниями, но оно, как бы, возможно уже сейчас:
Макрос на CtrlK:
%key=waitkey(); $if %key==B метим_начало_блока $else $if %key==K метим_конец_блока $else ...
Что касается "убогих сочетаний", то можно пользоваться и другими типа: F11 М С или F11 В Enter - т.е. использовать плагины пометки блоков (у меня плагины: М - "Манипулятор блоков"; В - "Выделить сплошной блок"), и задать для этого более короткие сочетания клавиш, но на всё коротких клавиш НЕ ХВАТИТ... Да и с комбинациями трудно только первые 137 раз...
А вообще, как оказалось, для редактора (только!) вроде есть плагин FARKeys
Re: Использование дополнительных клавиш для макросов
Я очевидно плохо знаком с языком написания макросов (если это он), но я не не понял что значит "eval(%%i)" и в папке Far-а таких конструкций не нашел, поэтому попытаюсь объясинить на простом примере чего мне хотелось бы:Skirda wrote:"%%i=блаблабла;... eval(%%i)" - не оно?bvv941152 wrote:2. Вложенные вызовы
Макрос состоит из нажатий клавиш, которым может быть назначен, а потом и изменен, свой макрос
1) Предпложим есть макрос: CtrlU = "У AltY была AltQ , он ее AltZ , она CtrlT , он ее CtrlE ."
2) Если для комбинаций AltY, AltQ, AltZ, CtrlT и CtrlE макросы не заданы, то при нажатии на CtrlU будет выведено:
"У была , он ее , она , он ее .".
3) Если задать макросы
AltY = "попа"
AltQ = "собака"
AltZ = "любил"
CtrlT = "съела кусок мяса"
CtrE = "убил"
то при нажатии CtrlU уже получится: "У попа была собака, он ее любил, она съела кусок мяса, он ее убил."
4) А если изменить
AltQ = "машина"
CtrlT = "стала ему не по карману"
CtrE = "продал на запчасти"
то получаем "У попа была машина, он ее любил, она стала ему не по карману, он ее продал на запчасти."
Более интересен фариант не с набором простеньких словесных констркций, а например такой:
a) поиск в списке имен файлов с последущей обработкой: переименование, перенос или архивация
заем можно будет сделать почти то же самое, но наоборот
b) поиск в списке имен файлов с последущей обработкой: обратное переименование, перенос или РАЗархивация
А ещё быть может стоит сделать возможность задавать в диалоге число повторов для клавиш, в том числе и тех для которых задан макрос. Вложенные вызовы - тоже позволяют "задать число повторов", но в диалоге это немного проще и быстрее.
Re: Использование дополнительных клавиш для макросов
Ну у меня вот такой монстрик имитирующий закладки и комментирование а-ля один из вариантов раскладок клавиатуры в Visual Studio. Повешен на CtrlK, соотв-но:
CtrlK CtrlK - добавить закладку
CtrlK CtrlN - к следующей, если следующей нет, то к первой
CtrlK CtrlP - наоборот
CtrlK CtrlD - удалить текущую
CtrlK CtrlL - удалить все
CtrlK CtrlC - комментировать (требует плагин "Single-line comments")
CtrlK CtrlU - наоборот.
С помощью Macro Editor поддерживать его вполне легко.
CtrlK CtrlK - добавить закладку
CtrlK CtrlN - к следующей, если следующей нет, то к первой
CtrlK CtrlP - наоборот
CtrlK CtrlD - удалить текущую
CtrlK CtrlL - удалить все
CtrlK CtrlC - комментировать (требует плагин "Single-line comments")
CtrlK CtrlU - наоборот.
С помощью Macro Editor поддерживать его вполне легко.
Re: Использование дополнительных клавиш для макросов
http://api.farmanager.com/ru/macro/index.htmlbvv941152 wrote:Я очевидно плохо знаком с языком написания макросов (если это он), но я не не понял что значит "eval(%%i)" и в папке Far-а таких конструкций не нашел
http://api.farmanager.com/ru/macro/macr ... tions.html
Re: Использование дополнительных клавиш для макросов
Ну... например такое (вполне себе работающий макрос... из будущего ):dolzenko_ wrote:всмысле что будет нового после релиза?Skirda wrote:Я думаю после релиза станет возможным...
Code: Select all
%k=waitkey(0,1);
$if(%k==B || %k==b || %k==CtrlB)
editor.sel(2,0)
$else
$if(%k==K || %k==k || %k==CtrlK)
editor.sel(2,1)
$else
$if((%k==C || %k==c || %k==CtrlC) && Selected)
CtrlC
$else
$if((%k==Y || %k==y || %k==CtrlY) && Selected)
CtrlD
$else
$SendKey "F1"
$end
$end
$end
$end
We are the Borg. You will be assimilated.
So Say We All!
So Say We All!