aspell mit emacs 26.1 unter ms windows


9

Nach dem Aktualisieren von Emacs auf Version 26.1 auf einem Windows-Computer wird von flyspell die folgende Fehlermeldung angezeigt:

Error enabling Flyspell mode:
(c:/Program Files (x86)/Aspell/bin/aspell.exe release 0.60 or greater is required)

Das Problem ist, auch nach der Installation einer Windows-Binärdatei von Aspell 0.6 von hier aus funktioniert es anscheinend immer noch nicht

The Aspell 0.60 library is binary compatible with the Aspell 0.50 library. 
For this reason I chose _not_ to increment the major version number (so-name) of the shared library by default [...]

Hat jemand anderes dieses Problem schon gehabt? Verlassen sich Emacs-Benutzer auf Aspell unter Windows oder verwenden sie eher Alternativen wie Hunspell?


1
Ich persönlich benutze Hunspell unter Windows.
InHarmsWay

Erstellen Sie es selbst oder gibt es eine gute Quelle für aktuelle Windows-Binärdateien?
B_old

Ich habe mich nicht kompiliert, ich glaube, ich habe es von sourceforge.net/projects/hunspell
InHarmsWay

Antworten:


10

Ja, hunspell ist DIE Rechtschreibprüfung für Emacs 26.1, da es derzeit keine Windows-Binärdatei von Aspell 0.6 gibt und niemand vorhersagen kann, wann es eine geben wird. Ich habe heute Morgen Hunspell mit Emacs 26.1 unter Windows 10 ausprobiert und es lief perfekt. Sie werden einige sehr nützliche Tipps , wie Sie Ihre Datei .emacs für hunspell konfigurieren hier . Einen schönen Tag noch !


1
Ich erhalte Fehler Fehler: ispell-check-version: Falsches Typargument: stringp, nil
Didier A.

9

Sie können Aspell oder Hunspell unter https://www.msys2.org/ installieren . MSYS2 verfügt über native Binärdateien für Aspell, die mit Emacs 26.1 kompatibel sind. Beachten Sie, dass Sie Emacs auch mit MSYS2 installieren können .

Nach der Installation MSYS2 MinGW 64-bitsollte in Ihrem Startmenü sein. Starten Sie das, wodurch ein Terminal aufgerufen wird, und suchen Sie mit nach Paketen pacman -Ss aspell.

Es gibt mehrere Möglichkeiten. Am Ende habe ich die folgenden zwei Pakete verwendet, um Aspell und ein englisches Wörterbuch zu installieren:

pacman -S mingw64/mingw-w64-x86_64-aspell
pacman -S mingw64/mingw-w64-x86_64-aspell-en

Jetzt können Sie which aspellim selben Terminal den Standort eingeben . Es wird wahrscheinlich in sein C:\msys64\mingw64\bin.

Fügen Sie diesen Pfad Ihrer Umgebungsvariablen "Pfad" hinzu.

In Ihrem Emacs-Konfigurationssatz (setq ispell-program-name "aspell").

Wenn alles korrekt eingerichtet ist, sollten Sie in der Lage sein, zu aktivieren, flyspell-modeohne dass in Ihrem Nachrichtenpuffer ein Fehler wie der folgende angezeigt wird:

Error enabling Flyspell mode:
(Searching for program No such file or directory aspell)

All dies gilt auch für Hunspell. Hunspell bietet auf seiner Github-Seite sogar Anweisungen zum Erstellen aus dem Quellcode mit MSYS2 unter Windows.


Dies ist eine nette und unkomplizierte Lösung, aspellohne Ihre aktuelle Konfiguration zu beeinträchtigen.
Dean Seo

Ein ausgezeichneter Beitrag, der ein echtes Verständnis für die Probleme zeigt - und der auch funktioniert!
Devcom

1

Ich vermeide die Installation von MSYS unter Windows 10, da man Ubuntu aus dem MS Store herunterladen und ispell und emacs in der Ubuntu-Anwendung verwenden kann (sudo apt-get install ispell). Sie haben weiterhin Zugriff auf die Windows-Dateien unter dem Mount-Punkt / mnt / c.


1
Bitte überlegen Sie, wie Sie Ihre Antwort ausarbeiten können, um zu zeigen, wie sie die Frage beantwortet.
Drew

0

Win32 / Win64-Binärdateien für aspell-0.60.6.1 waren schon immer vorhanden . Sie können eine eigenständige Version von Aspell-0.60.6.1 von Cygwin erhalten, die vollständig mit der Emacs-Version von aspell-0.60.6.1 funktioniert. Grundsätzlich benötigen Sie von Cygwin nur die folgenden Dateien:

bin\aspell.exe

bin\cygaspell-15.dll

bin\cyggcc_s-seh-1.dll

bin\cygiconv-2.dll

bin\cygintl-8.dll

bin\cygncursesw-10.dll

bin\cygstdc++-6.dll

bin\cygwin1.dll

lib\aspell-0.60

share\doc\ aspell + aspell-LANG (Optional)

share\info\ files aspell.info.gz and dir

share\man\man1\aspell.1.gz

Mein Windows 10 init.elist wie folgt eingerichtet:

;;; Use Aspell for spell checking

(setq-default ispell-program-name "C:/Emacs/bin/aspell.exe")


;; Custom hotkeys for spell checking in emacs.

(global-unset-key (kbd "M-$"))  ;unbind emacs default key for ispell-word

(global-set-key (kbd "<f7>") 'ispell-word)

(global-set-key (kbd "C-<f7>") 'flyspell-mode)

;;; Specify which dictionary to use at startup (english, ...). Uncomment one of the following lines:

;(setq ispell-dictionary "english")

Ich habe flyspellgestern mit Aspell 0.60 und Emacs 26.1 getestet . Ich kann nur sagen, dass diese Funktion langsam ist und nicht gut funktioniert. Meiner Meinung nach nicht zu empfehlen, da es alternative schnellere native Windows-Programme gibt. Trotz der Tatsache, dass die Emacs-Installation in Windows 10 für mehrere Versionen optimiert wurde, denke ich, dass dieses Programm nichts für mich ist. Für Benutzer von LaTeX-Quellen ist TeXStudio die empfohlene Lösung unter Windows (und sogar unter Linux).


Sie nicht bieten einen Link oder Ressourcen , um die Binärdateien. Es sieht so aus, als hätten Sie es selbst für Windows kompiliert.
Welgriv

0

Um andere Antworten zu vervollständigen, installieren Sie hunspell stattdessen wie folgt:

  1. Laden Sie die Hunspell Win32 Binairy hier herunter und suchen Sie nach Hunspell-1.3.2-3-w32-bin.zip (Beispiel: Strg + F Hunspell).
  2. Entpacken Sie es in einem bestimmten Repository path\to\my\repo(ein intelligentes kann sein C:\Program Files (x86)\hunspell)
  3. Fügen Sie dies Ihrer Emacs-Init-Datei hinzu: (setq-default ispell-program-name "C:/Program Files (x86)/hunspell/bin/hunspell.exe")Beachten Sie, dass sich die \in geändert haben /.

Wenn Sie weitere Details benötigen, insbesondere wenn Sie andere Wörterbücher verwenden, befolgen Sie diese Anweisungen wie oben erwähnt. Beachten Sie jedoch, dass Sie Ihrem Windows-Pfad KEINEN Hunspell hinzufügen müssen.

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.