Puede definir su propio modo menor y su mapa clave y hacer que anule todos los demás modos (menor + mayor). Es exactamente por eso que elegí escribir mi propio modo menor.
Pasos para que sus combinaciones de teclas anulen todas las combinaciones:
- Definir su propio modo menor y mapa de teclas como se muestra a continuación.
- Activa tu modo menor globalmente
(define-key my-mode-map (kbd "C-j") #'newline-and-indent)
Del mismo modo, sus otras combinaciones de teclas establecidas en su modo menor anularán las de otros modos.
Recomiendo leer la publicación de blog de Christopher Wellons sobre cómo escribir un modo menor. Ese blog, más la molestia de tener que establecer varias asociaciones de teclas nil
en múltiples modos mayores y menores, me inspiró a escribir mi propio modo menor.
La mejor parte del uso de este enfoque es que cuando desea verificar qué hacen las combinaciones de teclas en la configuración predeterminada de emacs, simplemente apaga su modo menor; luego lo vuelve a encender y recupera sus combinaciones de teclas personalizadas.
;; Main use is to have my key bindings have the highest priority
;; https://github.com/kaushalmodi/.emacs.d/blob/master/elisp/modi-mode.el
(defvar my-mode-map (make-sparse-keymap)
"Keymap for `my-mode'.")
;;;###autoload
(define-minor-mode my-mode
"A minor mode so that my key settings override annoying major modes."
;; If init-value is not set to t, this mode does not get enabled in
;; `fundamental-mode' buffers even after doing \"(global-my-mode 1)\".
;; More info: http://emacs.stackexchange.com/q/16693/115
:init-value t
:lighter " my-mode"
:keymap my-mode-map)
;;;###autoload
(define-globalized-minor-mode global-my-mode my-mode my-mode)
;; https://github.com/jwiegley/use-package/blob/master/bind-key.el
;; The keymaps in `emulation-mode-map-alists' take precedence over
;; `minor-mode-map-alist'
(add-to-list 'emulation-mode-map-alists `((my-mode . ,my-mode-map)))
;; Turn off the minor mode in the minibuffer
(defun turn-off-my-mode ()
"Turn off my-mode."
(my-mode -1))
(add-hook 'minibuffer-setup-hook #'turn-off-my-mode)
(provide 'my-mode)
;; Minor mode tutorial: http://nullprogram.com/blog/2013/02/06/