Como fazer o emacs sair do minibuffer com um toque de ESC?

1

Eu freqüentemente pressiono a combinação errada de teclas e abro algum modo obscuro do minibuffer. Eu tenho que pressionar ESC três vezes (eu acho), o que é muito chato. Como eu faço o emacs sair do minibuffer com apenas um toque de ESC?

    
por The Unfun Cat 12.08.2014 / 08:40

4 respostas

2

Acredito que os ergoemacs usam a tecla ESC da maneira que você deseja. Ele também muda muitas outras combinações de teclas do Emacs - mas provavelmente de formas que concordam com o seu desejo de "evitar keypresses longas do emacsy".

[ Advertência: Eu não sou especialista em ergoemacs, e eu não recomendo usar ESC dessa maneira. O ESC tem um papel especial no Emacs, que usa o modificador Meta e os mapas de teclado, e tratá-lo de outra forma está causando 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.)]

    
por 13.08.2014 / 05:48
1

Eu costumo usar a seguinte combinação de teclas: Ctrl - X (entrar no modo de comando) K (Kill), então Digite .

Isso deve matar o mini-buffer atual.

    
por 12.08.2014 / 09:52
0

Obrigado por todas as suas ideias. Parece que isso deve fazer o truque:

(define-key minibuffer-local-map (kbd "ESC") 'keyboard-escape-quit)

Funcionou apenas para pesquisa. Parece que eu teria que revinculá-lo para cada função (smex, ibuffer e todos os outros que usam o minibuffer).

    
por 13.08.2014 / 05:59
0

Eu quero fazer algo semelhante: pressione ESC para cancelar a função salvar buffers-kill-terminal durante o prompt "Salvar arquivo".

Eu tentei religar o ESC em muitos keymaps do minibuffer, conforme mencionado em este Q & A . No entanto, ainda não consigo cancelar o prompt "Salvar arquivo" por ESC.

Depois de cavar alguns códigos-fonte elisp, descobri que query-replace-map é o pai-de-mapa-chave de map-y-or-n-p, que é usado por save-buffers-kill-terminal. Então, minha correção final é:

(define-key query-replace-map (kbd "<escape>") 'keyboard-quit)

Note que desativa todos os atalhos com meta-chave.

    
por 10.02.2017 / 11:46

Tags