El uso de abreviaturas en Emacs es confuso. A pesar de leer el manual y el EmacsWiki , sigo teniendo problemas para usarlos.
Objetivo :
Defina una abreviatura rápida y desechable para una sola sesión de Emacs.
Ejemplo:
Cuando se usa Python y Numpy, las salidas a veces se acortan con puntos suspensivos:
array(['1007.65', '1007.63', '1007.66', ..., '993.40', '993.40', '993.57'],
dtype=object)
Para mostrar la matriz en su totalidad, debe emitir este bocado de una declaración:
with np.printoptions(threshold=np.inf): print(my_arr['field_name'])
¡Esto parece una situación perfecta para un abreviatura!
Esto es lo que hago:
- Escriba
fppara "impresión completa" - Con punto inmediatamente después
penfp, númeroC-x a g(add-global-abbrev) - En el indicador de minibúfer para
Global abbrev for "fp":, ponerwith np.printoptions(threshold=np.inf): print()y presionar<RET> - El minibúfer sale y me devuelve a mi búfer original con un punto después
penfp - Issue
C-x a e(expand-abbrev)
No pasa nada.
Si verifico list-abbrevs, ahí está:
(global-abbrev-table)
"with np.printoptions(threshold=np.inf): print()" 0 "fp"
Entiendo que no necesito abbrev-modehabilitarlo, ya que solo se usa para la expansión automática. Por cierto, la habilitación abbrev-modeaún no se expande fp.
¡Estoy perdido por lo que estoy haciendo mal y agradecería algunos consejos!

M-x report-emacs-bug. Es probable que no seas la única persona que haya hecho esto al revés. ¿Quizás el documento debería incluir un ejemplo?Respuestas:
Definió su abreviatura hacia atrás: "con np.printoptions (umbral = np.inf): ¡print ()" se expandirá a "fp" con lo que ha hecho!
Para definir una abreviatura de varias palabras, debe hacer:
define-global-abbrevfpwith np.printoptions(threshold=np.inf): print()fuente
Qué pasa
C-x a i g(inverse-add-global-abbrev).with np.printoptions(threshold=np.inf): print()y presione RET.C-x a ePor cierto, tengo el modo abreviado activado todo el tiempo y casi siempre ayuda y casi nunca se interpone en mi camino.
fuente