keymap – ¿Qué significa "menor que" clave "mayor-que" en términos de combinaciones de teclas?

Pregunta:

Estoy tratando de definir un mapa de teclas de prefijo para un modo menor, pero obtengo un resultado que aún no he visto:

`link-grammar-mode' Minor Mode Bindings:
key             binding
---             -------

<C-.>           link-grammar-prefix-map

<C-.> <p>       link-grammar-parse-paragraph
<C-.> <r>       link-grammar-parse-region
<C-.> <s>       link-grammar-parse-sentence

Así es como lo he definido:

(define-prefix-command 'link-grammar-prefix-map)

(define-key link-grammar-prefix-map [s] 'link-grammar-parse-sentence)
(define-key link-grammar-prefix-map [p] 'link-grammar-parse-paragraph)
(define-key link-grammar-prefix-map [r] 'link-grammar-parse-region)

(define-minor-mode link-grammar-mode
  "Enables display of the parse of the natural language text
produced by link-grammar parser library"
  :initial-value nil
  :lighter " LG"
  :keymap '(([C-.] . link-grammar-prefix-map))
  :group 'link-grammar
  (run-hooks link-grammar-hooks)
  (message "link-grammar minor mode activated"))

¿Alguien podría explicar lo que pasó? Puedo ver el mapa agregado a minor-mode-map-alist , pero las teclas no están "activadas".

Respuesta:

Algunos eventos entendidos por Emacs son caracteres que a su vez son solo números enteros. Entonces, una clave que es un número entero puede ser mayor o menor que otra clave similar.

Luego están los eventos que se representan mediante símbolos, por ejemplo, return . Las funciones que toman eventos como argumentos aceptan diferentes representaciones para estos eventos. Para return se puede utilizar "<return>" o [return] . Sin embargo, la representación vectorial solo está destinada a "eventos de símbolo", no puede utilizarla para eventos de carácter. Entonces [s] está mal, no existe tal evento; en su lugar utilice [?s] o "s" .

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım