Quiero que auto-complete
(ac) funcione cuando estoy dentro del AucTeX
modo. Recibo todos los paquetes de MELPA mediante la instalación del paquete.
Este es mi código relevante en el init.el
archivo:
(require 'package)
(package-initialize)
(require 'auto-complete-config)
(ac-config-default)
(global-auto-complete-mode t)
como puede ver, aunque estoy configurando ac
globalmente, no aparece en AucTeX
. Sin embargo, siguiendo las instrucciones en este emacswiki , el ac
modo se mostró en la barra de estado AucTeX
pero no funciona, no se completa automáticamente escribiendo caracteres.
Notas
Emacs 24.4 bajo Windows 7 de 32 bits y se actualizaron los paquetes.
latex
auctex
auto-complete-mode
doctorado
fuente
fuente
ac
hacerlo bienauctex
. Mencionéyasnippet
porque también lo uso para tener algunos fragmentos definidos por el usuario en látex. Entonces, hasta que proporcione su código, no puedo decir siyas
se interpondrá en el caminoac
.yasnippet
para ver si el autocompletado y AUCTeX funcionan juntos como sugirió @giordano. Si es así, entonces el problema es con la inclusión deyasnippet
. Si es así, probablemente sea su configuración de autocompletar.yasnippet
que lo eliminé de mi init.el. El problema probablemente esté en la configuración deauctex
yac
.Respuestas:
Después de una larga investigación en la web y un examen cuidadoso de la
ac
documentación con muchas pruebas en mi máquina para examinar el código línea por línea, se me ocurrió esta solución que también puedeyasnippet
funcionar (optioinal) sin ningún tipo de conflicto.pon esto en tu
init.el
o.emacs
cuidando la secuencia:Notas:
como se menciona en la documentación de
ac
, la adiciónac-modes
y los ganchos deben realizarse antes de cargar(ac-config-default)
.Algunos sugirieron poner un código para jugar con la
TAB
clave que no necesitaba y no recomiendo, ya que de alguna manera destruirá algo más más tarde. Sin embargo, vi a personas poner algo como esto al final justo antesglobal-auto-complete
:Hasta que agregué
(ac-flyspell-workaround)
la finalización automática fue demasiado lenta para pensar en usarla en Auctex ya que uso flyspell. Este error también se mencionó en la documentación. ¡Gracias!Bono ¡
Me alegra saber de la documentación, aunque no está muy claro cómo, que uno puede agregar uno o más diccionarios definidos por el usuario! Intenté esto y funcionó bien.
agregue estas dos líneas justo después de la
require-auto-complete
línea de arriba:Ahora en su
.txt
archivo agregue sus candidatos favoritos para completar. Ahórrese de candidatos de menos de 4 letras, ¡no valen la pena! Simplemente ponga palabras de su gusto separadas por un salto de línea oRET
.Ejemplo de los contenidos en el
.txt
archivo:¡Disfrute de la finalización automática en LaTeX / AUCTeX con Emacs!
fuente
elisp
función para tirar cualquier palabra marcada en un búfer mientras escribía en ese.txt
dictioinario sobre la marcha y agregarlo sin mucho esfuerzo!Como dije en mi comentario anterior, el paquete
auto-complete-auctex
también puede resolver el problema. Probé ambos, y ambos funcionan muy bien. Sería bueno comparar la solución de @doctorate y el paquete anterior haciendo capturas de pantalla. Si escribo$\sig$
, el código de doctorado da algo como estoy el del paquete
auto-complete-auctex
da algo como estoAgregado: Debo mencionar que la solución de @giordano también funciona, aquí una captura de pantalla:
fuente
auto-complete
debería ser el paquete principal, aunqueauto-complete-auctex
podría tener algunas características adicionales. Lo intentaré e informaré si es necesario. GraciasLa siguiente es mi
auto-complete
configuración relacionada:Como puede ver, no hay nada especial para AUCTeX, es la configuración estándar de
auto-complete
. La configuración deac-math
se describe en su sitio web. Si no lo usaac-math
, la única diferencia sensata con su configuración es(add-to-list 'ac-modes 'latex-mode)
.fuente
package-initialize
. Es posible que no le guste, pero no recomiende las malas prácticas como laload-path
gestión manual en sus respuestas.package-initialize
más tarde de todos modos.