Costumo pressionar a combinação errada de teclas e abrir algum modo obscuro de minibuffer. Tenho que pressionar ESC três vezes (eu acho), o que é muito chato. Como faço para que o emacs saia do minibuffer com apenas um toque de ESC?
Responder1
Obrigado por todas as suas idéias. Parece que isso deve funcionar:
(define-key minibuffer-local-map (kbd "ESC") 'keyboard-escape-quit)
Só funcionou para isearch. Parece que eu teria que religá-lo para cada função (smex, ibuffer e todas as outras que usam o minibuffer).
Responder2
Acredito queergoemacsusa a ESC
chave da maneira que você quiser. Ele também altera muitas outras combinações de teclas do Emacs - mas provavelmente de maneiras que concordam com o seu desejo de "evitar pressionamentos longos de teclas do emacsy".
[Embargo:
Não sou especialista em ergoemacs, e simnãorecomendo usar ESC
dessa forma. ESC
tem um papel específico no Emacs em relação ao Meta
modificador e aos mapas de teclado, e tratá-lo de outra forma é causar problemas mais cedo ou mais tarde. (Da mesma forma, C-g
é fundamental para o Emacs e é até mesmo codificado em alguns casos, portanto não é 100% substituível por outra chave.)]
Responder3
Eu costumo usar a seguinte combinação de teclas: Ctrl- X(entrar no modo de comando) K(Matar), então Enter.
Isso deve eliminar o minibuffer atual.
Responder4
O que você provavelmente deseja é usar minibuffer-setup-hook
para vincular o ESC no mapa local de cada minibuffer.
(add-hook 'minibuffer-setup-hook (lambda ()
(local-set-key (kbd "ESC") 'abort-minibuffers))
Como isso usa o mapa de teclas local para cada minibuffer, você não precisa vinculá-lo novamente para o mapa de teclas de cada comando - o mapa local geralmente terá precedência sobre o que quer que o comando do minibuffer esteja fazendo.