¿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!

Brian Z
fuente
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

El modo predictivo afirma ser lo que está buscando, aunque no estoy seguro de cómo se compara con los marcos de finalización más modernos como el modo de empresa .

hombre incandescente
fuente
1
No los he probado todavía, pero estas parecen opciones prometedoras, ¡gracias!
Brian Z
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

Chen Bin
fuente