Configurações ideais para preenchimento automático de papéis / prosa em linguagem natural?

9

Como a pergunta sugere, estou tentando configurar o auto-completepacote para escrever documentos. Eu também instalei ac-ispell. Até agora, parece mais ou menos inútil, principalmente porque é muito lento . As sugestões levam vários segundos para aparecer.

Aqui estão as linhas relevantes que tenho atualmente no meu init, baseadas diretamente nas recomendações na documentação desses dois pacotes:

(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)

Caso isso ajude, o valor resultante para ac-sourcesé (ac-source-ispell ac-source-ispell-fuzzy ac-source-abbrev ac-source-dictionary ac-source-words-in-same-mode-buffers).

Se você teve mais sorte com isso, então eu ajude!

Brian Z
fonte
Agora eu abri um problema para o modo empresa com uma versão muito longa e detalhada dessa pergunta. Se eu conseguir uma boa resolução, postarei como resposta aqui.
Brian Z

Respostas:

2

O modo preditivo afirma ser o que você está procurando, embora não tenha certeza de como ele se compara às estruturas de conclusão mais modernas, como o modo empresa .

homem incandescente
fonte
11
Ainda não os experimentei, mas estas parecem opções promissoras, obrigado!
Brian Z
2

suponha que você use o modo empresa e deseje usá-lo apenas no modo texto. O modo org herda do modo texto, portanto, você não precisa de configuração 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" é apenas um arquivo de texto simples, onde as linhas são classificadas em ordem alfabética. Toda linha é uma palavra. (É necessário um dicionário de texto sem formatação ispell, consulte https://emacs.stackexchange.com/a/42526/ para obter detalhes técnicos).

Aqui está um arquivo de exemplo: https://github.com/redguardtoo/emacs.d/raw/master/misc/english-words.txt

Testado com Emacs24.3, 24.4, modo empresa 0.8.12

Chen Bin
fonte