notepad++ Как назначить два макроса на одну и ту же клавишу?

Использование графического интерфейса: я назначил макрос, чтобы позволить мне выбрать текущую строку, на которой находится мой курсор. Я назначил его «ctrl+a» и переназначил «выбрать все» на «ctrl+alt+a». Теперь я хочу, когда я нажимаю «ctrl + a» во второй раз, чтобы выделить оставшуюся часть абзаца. В настоящее время эти команды доступны при нажатии следующих клавиш:

Инструкция:
1. Home->shift+end -- выделяет одну строку
2. Home->shift+end->shift+end -- выделяет соединенные строки

Итак, 1. назначается «ctrl + a», но я застрял на этом этапе. Как назначить ctrl+a при втором нажатии, чтобы выделить связанные строки/абзац? Подробности/конкретика в терминах непрофессионала будут оценены. Опять же, я использовал только параметры графического интерфейса, я не знаком с дополнительными параметрами кода. Обратите внимание, что это не позволяет мне использовать
ctrl+a->shift+end.

Я не слишком хорошо знаком с привязкой макросов и горячих клавиш, поэтому я не знаю, является ли это ограничением или есть обходной путь, кроме написания программы для его исправления.

Не кодер, но из того, что я знаю о Lua, я придумал:

is_press=false
если btn(ctrl+a) и !is_press, то btn(Home->shift+end) is_press=true end
если btn(ctrl+a) и is_press, то btn(Home->shift+ end->shift+end) is_press=false end

Я мог бы назначить 2. на ctrl+shift+a как отдельный макрос, если ничего не помогает.


person kite    schedule 25.03.2020    source источник


Ответы (1)


Короткий ответ: я не думаю, что это возможно с помощью одного ярлыка/макроса.

За кулисами Scintilla делает выбор. После того, как вы сделали выбор, возвращение на «домой» во второй раз приведет к сбросу расширения переноса слов.

person Adam Hawkes    schedule 26.03.2020
comment
Будет ли работать внешняя программа, такая как autohotkey? Я не знаком с общими правилами макросов/горячих клавиш и т.д. - person kite; 28.03.2020
comment
Наверное! AutoHotKey довольно изящный. У него есть условные выражения, которые могут выполнять такое поведение. См. A_PriorHotkey. Но поищите вокруг, я уверен, что это решенная проблема. - person Adam Hawkes; 30.03.2020