emacs elisp emmet

Desactivar enlace de clave en emacs



elisp emmet (1)

La forma general de desenlazar una clave (para cualquier mapa de teclas) es definir una vinculación de nil :

(define-key KEYMAP KEY nil)

Para mayor comodidad, también hay dos funciones estándar para desvincular del mapa de teclas global y del mapa de teclas local (que generalmente es el mapa de teclas del modo principal).

  • (global-unset-key KEY)
  • (local-unset-key KEY)

Esos son comandos interactivos, según sus respectivos complementos global-set-key y local-set-key .

En cuanto a su ejemplo específico, probablemente desee algo como esto:

(eval-after-load "zencoding-mode" ''(define-key zencoding-mode-keymap (kbd "C-j") nil))

Por ejemplo, en los códigos de codificación zen, "Cj" sombrea el comportamiento normal de "Cj" ( newline-and-indent )

(define-key zencoding-mode-keymap (kbd "C-j") ''zencoding-expand-line)

Entonces, ¿cómo puedo desactivar esta combinación de teclas y usar Cj para la newline-and-indent nuevamente?

Intenté esto, pero no funciona:

(add-hook ''html-mode-hook (lambda () (progn (zencoding-mode) (local-set-key (kbd "C-j") ''newline-and-indent))))

¿Alguien tiene ideas sobre esto?