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!


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

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.