У меня есть второстепенный режим. Если этот режим активен, и пользователь нажимает DEL, я хочу сделать какое-то действие, но только если выполнено какое-то условие. Если условие выполнено и действие выполнено, я ничего не хочу делать после этого . Но если условие терпит неудачу, я не хочу ничего делать и пусть выполняется действие DEL по умолчанию.Emacs key binding fallback
Не знаю, как я мог это решить. Но я предполагаю, что я мог бы сделать это двумя способами:
1) Я мог бы привязать ключ DEL к функции в малом режиме, а затем проверки, если условия выполняется ВЗ нет. Но откуда узнать, какая команда DELETE для DEL?
2) Я мог бы добавить предзагрузку так. Выполните команду, а затем сломайте цепочку. Но как я сломаю цепочку?
(add-hook 'pre-command-hook
(lambda()
(when (equal last-input-event 'backspace)
;; Do something and then stop (do not execute the
;; command that backspace is bound to)
)))
В каком виде вы бы решили это? Благодаря!
Являются ли del и backspace одинаковыми? – Amos