emacs melpa
Autocompletar de Emacs: no activar en RET en sugerencia en línea (1)
Estoy muy contento con el autocompletado, pero una cosa me molesta:
Estoy configurado para mostrar la sugerencia en línea de inmediato, pero el menú con 0,9 s de retraso. Escribo las primeras letras, por ejemplo, "del", que se completan de inmediato automáticamente en línea para "eliminar". Si quería escribir "borrar", presiono TAB
y está bien. Pero, ¿qué pasaría si realmente quisiera escribir "del" y una línea nueva, aquí presionando RET
nuevamente se completa automáticamente para "eliminar".
¿Cómo puedo forzar que RET
sea una nueva línea si solo se muestra una sugerencia en línea? Una vez que se muestra el menú de autocompletar, quiero que vuelva a ser la clave de activación como siempre.
¡Gracias!
Al agregar las siguientes líneas después de otras configuraciones para el modo de auto-complete
, puede habilitar la finalización mediante RET solo cuando se muestre el menú de finalización:
(define-key ac-completing-map "/C-m" nil)
(setq ac-use-menu-map t)
(define-key ac-menu-map "/C-m" ''ac-complete)
ac-completing-map
es un ac-completing-map
teclas donde RET se vincula de forma predeterminada a ac-complete
, y ac-menu-map
es un ac-menu-map
teclas para completar en el menú de finalización. El ac-menu-map
teclas ac-menu-map
está habilitado cuando la variable ac-use-menu-map
es t
.
Para su información, la finalización puede detenerse presionando Cg en cualquier momento. Entonces también podrá presionar Cg y RET para ingresar a una nueva línea con las ataduras de RET intactas. Además, puede usar Cj en lugar de RET cuando desee ingresar una nueva línea. Cj no se une a ac-complete
de manera predeterminada.