我經常按錯誤的按鍵組合並打開一些不起眼的迷你緩衝區模式。我必須按 ESC 三次(我認為),這很煩人。如何讓 emacs 只需按一下 ESC 就退出迷你緩衝區?
答案1
感謝您的所有想法。看起來這應該可以解決問題:
(define-key minibuffer-local-map (kbd "ESC") 'keyboard-escape-quit)
它只適用於 isearch。似乎我必須為每個函數(smex、ibuffer 以及所有其他使用迷你緩衝區的函數)重新綁定它。
答案2
我相信麥角ESC
按照您想要的方式使用密鑰。它還更改了許多其他 Emacs 按鍵綁定 - 但可能以符合您“避免長按 emacsy 按鍵”的願望的方式。
[警告:
我不是 ergoemacs 的專家,但我確實不是推薦使用ESC
這種方式。修飾符和鍵盤ESC
映射在 Emacs 中具有特殊的作用Meta
,否則遲早會遇到麻煩。 (同樣,C-g
它是 Emacs 的基礎,在某些情況下甚至是硬編碼的,因此它不能 100% 被另一個鍵替換。)]
答案3
我通常使用以下組合鍵:-(Ctrl進入X命令模式)K(Kill),然後Enter.
這應該會殺死當前的迷你緩衝區。
答案4
您可能想要的是minibuffer-setup-hook
在每個迷你緩衝區的本地映射中綁定 ESC。
(add-hook 'minibuffer-setup-hook (lambda ()
(local-set-key (kbd "ESC") 'abort-minibuffers))
由於這對每個迷你緩衝區使用本地鍵映射,因此您不必為每個命令的鍵映射重新綁定它 - 本地映射通常會優先於迷你緩衝區命令正在執行的任何操作。