aspell với emacs 26.1 trên cửa sổ ms


9

Sau khi cập nhật emacs lên phiên bản 26.1 trên máy windows, tôi nhận được thông báo lỗi sau từ flyspell:

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

Vấn đề là, ngay cả sau khi cài đặt nhị phân windows của aspell 0.6 từ đây , nó vẫn không hoạt động vì rõ ràng

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 [...]

Có ai khác đã có vấn đề này chưa? Là người dùng emacs dựa vào aspell trên windows, hay sử dụng các lựa chọn thay thế như hunspell?


1
Cá nhân tôi sử dụng hunspell trên windows.
InHarmsWay

Bạn có tự xây dựng nó không, hoặc có một nguồn tốt của các cửa sổ nhị phân gần đây không?
B_old

Tôi đã không tự biên dịch, tôi tin rằng tôi đã nhận được nó từ sourceforge.net/projects/hunspell
InHarmsWay

Câu trả lời:


10

Đúng, hunspell là công cụ kiểm tra chính tả để sử dụng với emacs 26.1, vì hiện tại không có cửa sổ nhị phân nào của aspell 0.6 và không ai có thể báo trước khi nào sẽ có. Tôi đã thử hunspell sáng nay với emacs 26.1 trên Windows 10 và nó chạy rất tốt. Bạn sẽ tìm thấy một số mẹo rất hữu ích về cách định cấu hình tệp .emacs cho hunspell tại đây . Chúc một ngày tốt lành !


1
Tôi gặp lỗi Lỗi: ispell-check-version: Sai loại đối số: stringp, nil
Didier A.

9

Bạn có thể cài đặt aspell hoặc hunspell với https://www.msys2.org/ . MSYS2 có các nhị phân riêng cho aspell có sẵn tương thích với Emacs 26.1. Lưu ý bạn cũng có thể cài đặt emacs bằng MSYS2.

Sau khi cài đặt, MSYS2 MinGW 64-bitnên có trong menu bắt đầu của bạn. Khởi chạy, mang đến một thiết bị đầu cuối và tìm kiếm các gói bằng cách sử dụng pacman -Ss aspell.

Có một số lựa chọn. Cuối cùng tôi đã sử dụng hai gói sau để cài đặt aspell và một từ điển tiếng Anh:

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

Bây giờ bạn có thể nhập which aspellvào cùng một thiết bị đầu cuối để tìm vị trí của nó. Nó có thể sẽ ở trong C:\msys64\mingw64\bin.

Thêm đường dẫn đó vào biến môi trường "Đường dẫn" của bạn.

Trong tập cấu hình emacs của bạn (setq ispell-program-name "aspell").

Nếu mọi thứ được thiết lập chính xác, bạn sẽ có thể kích hoạt flyspell-modemà không gặp lỗi như sau trong bộ đệm thư của mình:

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

Tất cả những điều trên cũng áp dụng cho hunspell. Hunspell thậm chí còn cung cấp hướng dẫn trên trang github của họ để xây dựng từ nguồn bằng MSYS2 trên Windows.


Đây là một giải pháp tốt và đơn giản để sử dụng aspellmà không làm tổn hại đến cấu hình hiện tại của bạn.
Dean Seo

Một bài viết tuyệt vời cho thấy một sự hiểu biết thực sự về các vấn đề - và nó cũng hoạt động!
devcom

1

Tôi tránh cài đặt MSYS trên Windows 10 vì người ta có thể tải xuống Ubuntu từ cửa hàng MS và sử dụng ispell và emacs bên trong ứng dụng Ubuntu (sudo apt-get install ispell). Bạn vẫn có quyền truy cập vào các tệp Windows dưới điểm gắn kết / mnt / c.


1
Vui lòng xem xét xây dựng câu trả lời của bạn để chỉ ra cách nó trả lời câu hỏi.
vẽ

0

Các nhị phân Win32 / Win64 cho aspell-0.60.6.1 luôn tồn tại . Bạn có thể có được một độc lập làm việc hoàn toàn với phiên bản Emacs của aspell-0.60.6.1 từ Cygwin. Về cơ bản, tất cả những gì bạn cần từ Cygwin là các tệp sau:

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

Windows 10 của tôi, init.elđược thiết lập như sau:

;;; 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")

Tôi đã thử nghiệm flyspellvới Aspell 0.60 và Emacs 26.1 ngày hôm qua. Tất cả những gì tôi có thể nói là tính năng này chậm và không hoạt động tốt. Theo tôi không khuyến khích vì có các chương trình gốc Windows thay thế nhanh hơn. Mặc dù thực tế đã cài đặt Emacs tinh chỉnh trong windows 10 cho một số phiên bản, tôi nghĩ chương trình này không dành cho tôi. Đối với những người sử dụng nguồn LaTeX, TeXStudio là giải pháp được đề xuất trong Windows (và ngay cả trong Linux).


Bạn không cung cấp bất kỳ liên kết hoặc tài nguyên nào cho các tệp nhị phân. Có vẻ như bạn tự biên dịch nó cho các cửa sổ.
Welgriv

0

Để hoàn thành câu trả lời khác, Cài đặt hunspell thay vì aspell theo cách này:

  1. Tải xuống hunspell win32 tại đây , tìm hunspell-1.3.2-3-w32-bin.zip (ví dụ: ctrl + F hunspell)
  2. Giải nén nó trong một kho lưu trữ nhất định path\to\my\repo(có thể là một kho thông minh C:\Program Files (x86)\hunspell)
  3. Thêm phần này vào tệp init emacs của bạn: (setq-default ispell-program-name "C:/Program Files (x86)/hunspell/bin/hunspell.exe")lưu ý rằng \có thay đổi thành /.

Nếu bạn cần thêm chi tiết, đặc biệt là sử dụng các từ điển khác, hãy làm theo các hướng dẫn như đã đề cập trước đây, nhưng hãy cẩn thận, KHÔNG cần phải thêm hunspell vào cửa sổ PATH của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.