Optimale Einstellungen für die automatische Vervollständigung zum Schreiben von Papieren / Prosa in natürlicher Sprache?

9

Wie aus der Frage hervorgeht, versuche ich, das auto-completePaket für das Schreiben von Papieren einzurichten . Ich habe auch installiert ac-ispell. Bisher scheint es mehr oder weniger nutzlos, vor allem, weil es viel zu langsam ist . Es dauert einige Sekunden, bis Vorschläge angezeigt werden.

Hier sind die relevanten Zeilen, die ich derzeit in meinem Init habe und die direkt auf den Empfehlungen in der Dokumentation für diese beiden Pakete basieren:

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

Für den Fall , das hilft, den sich ergebenden Wert für ac-sourcesIS (ac-source-ispell ac-source-ispell-fuzzy ac-source-abbrev ac-source-dictionary ac-source-words-in-same-mode-buffers).

Wenn Sie damit mehr Glück hatten als ich, bitte helfen Sie!

Brian Z.
quelle
Ich habe jetzt eine Ausgabe für den Firmenmodus mit einer sehr langen und detaillierten Version dieser Frage geöffnet . Wenn ich eine gute Auflösung bekomme, werde ich sie hier als Antwort veröffentlichen.
Brian Z

Antworten:

2

Der Predictive-Modus behauptet, das zu sein, wonach Sie suchen, obwohl ich nicht sicher bin, wie er sich mit moderneren Abschluss-Frameworks wie dem Company-Modus vergleichen lässt .

Glühlampenmann
quelle
1
Ich habe sie noch nicht ausprobiert, aber diese sehen nach vielversprechenden Optionen aus, danke!
Brian Z
2

Angenommen, Sie verwenden den Firmenmodus und möchten ihn nur im Textmodus verwenden. Der Organisationsmodus erbt vom Textmodus, sodass Sie nicht für beide Einstellungen einrichten müssen:

(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" ist nur eine einfache Textdatei, in der die Zeilen alphabetisch sortiert sind. Jede Zeile ist ein Wort. (Ein einfaches Textwörterbuch wird von benötigt ispell, siehe https://emacs.stackexchange.com/a/42526/ für technische Details).

Hier ist eine Beispieldatei: https://github.com/redguardtoo/emacs.d/raw/master/misc/english-words.txt

Getestet mit Emacs24.3, 24.4, Company-Mode 0.8.12

Chen Bin
quelle