En mis emacs, digamos, uso un "elisp"yasnippet para extender un bloque lisp en modo org. Pero antes de extenderlo, la compañía se activa primero, lo que me da un menú como "1. elisp1, 2. elisp2"sin opción "elisp". Ahora, si uso tabpara extender yasnippet, siempre es molesto que "elisp1"siempre aparezca primero en la pantalla. Por lo tanto "1", primero debo eliminar y hacer la extensión del fragmento de yasnippet.
Entonces, como solución, siempre uso la tecla de flecha izquierda para desactivar primero el menú de finalización de la empresa, pero el cursor ahora irá a "elis|p", así que nuevamente uso la tecla de flecha derecha para mover el cursor al final "elisp|"y extender el fragmento.
Aquí viene mi pregunta: ¿cómo puedo vincular la tabclave en primer lugar yasnippet pero no la compañía para salvarme la vida?
fuente

tabparacompanyyC-oparayasnippet. Puedo describir más si estás interesado.tab. Por lo tanto, no me gustaría cambiar el enlace.C-ohablar sobre cómo podría ampliar abreviaturas y fragmentos y líneas abiertas, etc., si no está interesado.Respuestas:
Esto es lo que creé para mí, enfrentando el mismo problema. Es de la página Wiki de Emacs del modo empresa , pero muy extendida:
Básicamente, esto hace <tab>hacer lo correcto la mayor parte del tiempo. Al presionar la pestaña
Tenga en cuenta que si existe la oportunidad de autocompletar y está editando actualmente en un marcador de posición de fragmento, la situación es ambigua. Como compromiso, estoy obligado C-<tab>a saltar directamente al siguiente marcador de posición.
El hecho de que el nombre del fragmento no aparezca en el menú de la empresa y la existencia de un fragmento que modifique en silencio el comportamiento de la tecla de tabulación no es particularmente agradable, desafortunadamente ... Aunque al menos es posible escribir en su <return>lugar para completarlo. del fragmento.
fuente
Buffer is read-only: #<buffer *magit: ~/.emacs.d/*>. ¿Alguna idea de cómo puedo arreglar eso?magit-section-toggle, está en conflicto con la línea(global-set-key [tab] 'tab-indent-or-complete)anterior. Una solución rápida y sucia sería agregar una marca al comienzo de la funcióntab-indent-or-completeanterior para ver si estamos en modo magit, por ejemplo, para una variable global que se activamagit-mode-hook.whenes prácticamente unif+progntab-indent-or-completecondición `((deriva-mode-p 'magit-mode) (magit-section-toggle (magit-current-section)))`Aquí está el código que estoy usando:
aya-open-linefrom auto-yasnippet hace más que un simpleopen-line:open-linesi todo lo demás fallafuente
C-o, solo cierra el menú de la compañía, por lo que necesito presionar dos veces para extender yasnippet.C-ocon el menú de la empresa activo cerrará el menú y expandirá el fragmento.