flyspell e ispell danno troppi suggerimenti ortografici

Sep 16 2020

Sto usando la flyspellmodalità con aspellsotto il cofano. Emacs 27.1 installato utilizzando Homebrew su macOS Mojave. Questo comportamento si verifica sia con la mia configurazione normale che con emacs -Q.

Ho esaminato il M-x customizepiù attentamente possibile nelle sezioni flyspelle ispell, ma non ho trovato nulla di utile.

Quando faccio clic con il pulsante destro del mouse su una parola errata, ricevo molti più suggerimenti di quanti ne desidero:

Voglio forse una dozzina di suggerimenti.

M-x ispell-buffer allo stesso modo dà troppi suggerimenti.

Sembra una cosa di Emacs perché l'esecuzione aspellmanuale sullo stesso file nel terminale fornisce un numero molto più ragionevole di suggerimenti (qui, 8):

Risposte

Reid Sep 18 2020 at 05:33

Emacs sta invocando aspellcome:

aspell -a -m -B --encoding=utf-8

-aè la "modalità pipe" . Date queste informazioni, posso riprodurre il comportamento nel terminale:

$ echo dbux | aspell -a -m -B --encoding=utf-8
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.8)
& dbux 47 0: DBUS, Dix, debugs, dubs, debug, box, tux, DBMS, ibex, bxs, daubs, dibs, debuts, deluxe, dybbuks, Durex, Debs, boxy, bugs, dabs, debs, dobs, dub's, dybbuk, tubs, dab's, deb's, DCS, TWX, TeX, Tex, tax, tbs, tex, DC's, TB's, Tb's, daub's, debut's, dybbuk's, Debs's, dibs's, bug's, BC's, Bk's, tub's, Doug's

L'utilizzo della modalità di suggerimento "ultra" anziché quella predefinita "normale" fornisce cinque suggerimenti anziché 47:

$ echo dbux | aspell -a -m -B --encoding=utf-8 --sug-mode=ultra
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.8)
& dbux 5 0: DBUS, debugs, dybbuks, dybbuk's, debarks

Questo può essere configurato in Emacs con l'aggiunta --sug-mode=ultradi Ispell Extra Argsa M-x customize; per me funziona:

Preferirei comunque ottenere la dozzina migliore dalla modalità normale, ma probabilmente è meglio di quanto non fosse.

chenbin Sep 18 2020 at 18:51

Assicurati di aver installato aspell dictionary. Uso apt install aspell aspell-endsu Debian / Ubuntu.

Quindi utilizzare M-x flyspell-bufferper il controllo ortografico del buffer corrente. Flyspell è un pacchetto indipendente che utilizza alcune API di ispell. La maggior parte degli utenti usa flyspell invece di ispell in questi giorni.

Vedere https://blog.binchen.org/posts/what-s-the-best-spell-check-set-up-in-emacs.html per i dettagli.

Puoi creare un dizionario personale di testo semplice ~/.aspell.en.pwsper aspell,

Ecco il contenuto del campione ~/.aspell.en.pws,

personal_ws-1.1 en 3
ABN
AC
ACN