¿Configuraciones óptimas para autocompletar para escribir artículos / prosa en lenguaje natural?


9

Como sugiere la pregunta, estoy tratando de configurar el auto-completepaquete para escribir documentos. También lo he instalado ac-ispell. Hasta ahora parece más o menos inútil, principalmente porque es demasiado lento . Las sugerencias tardan varios segundos completos en aparecer.

Estas son las líneas relevantes que tengo actualmente en mi init, que se basan directamente en las recomendaciones en la documentación de estos dos paquetes:

(require 'auto-complete-config)
(ac-config-default)
(add-to-list 'ac-modes '(org-mode text-mode LaTeX-mode))

(custom-set-variables
 '(ac-ispell-requires 4)
 '(ac-ispell-fuzzy-limit 2))

(eval-after-load "auto-complete"
  '(progn
     (ac-ispell-setup)))

(add-hook 'git-commit-mode-hook 'ac-ispell-ac-setup)
(add-hook 'mail-mode-hook 'ac-ispell-ac-setup)
(add-hook 'org-mode-hook 'ac-ispell-ac-setup)
(add-hook 'text-mode-hook 'ac-ispell-ac-setup)
(add-hook 'LaTeX-mode-hook 'ac-ispell-ac-setup)

(global-auto-complete-mode t)

En caso de que esto ayude, el valor resultante para ac-sourceses (ac-source-ispell ac-source-ispell-fuzzy ac-source-abbrev ac-source-dictionary ac-source-words-in-same-mode-buffers).

Si has tenido mejor suerte con esto que yo, ¡por favor ayuda!


Ahora he abierto un problema para el modo empresa con una versión muy larga y detallada de esta pregunta. Si obtengo una buena resolución, la publicaré como respuesta aquí.
Brian Z

Respuestas:



2

supongamos que usa el modo empresa y solo quiere usarlo en modo texto. org-mode hereda de text-mode, por lo que no necesita configuración para ambos:

(require 'company)
(add-hook 'after-init-hook 'global-company-mode)

(defun text-mode-hook-setup ()
  ;; make `company-backends' local is critcal
  ;; or else, you will have completion in every major mode, that's very annoying!
  (make-local-variable 'company-backends)

  ;; company-ispell is the plugin to complete words
  (add-to-list 'company-backends 'company-ispell)

  ;; OPTIONAL, if `company-ispell-dictionary' is nil, `ispell-complete-word-dict' is used
  ;;  but I prefer hard code the dictionary path. That's more portable.
  (setq company-ispell-dictionary (file-truename "~/.emacs.d/misc/english-words.txt")))

(add-hook 'text-mode-hook 'text-mode-hook-setup)

"english-words.txt" es solo un archivo de texto sin formato donde las líneas se ordenan alfabéticamente. Cada línea es una palabra. (Diccionario de texto sin formato es requerido por ispell, ver https://emacs.stackexchange.com/a/42526/ para los detalles técnicos).

Aquí hay un archivo de muestra: https://github.com/redguardtoo/emacs.d/raw/master/misc/english-words.txt

Probado con Emacs24.3, 24.4, modo empresa 0.8.12

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.