Emacs не может найти flyspell/ispell

На моем Mac (Snow Leopard, 10.6.8) я использую модифицированную версию Emacs 24.2 приведенную здесь, чтобы использовать Emacs Говорит статистика (ESS) с страница загрузки. Emacs работает, но я еще не смог заставить проверку орфографии работать.

Чтобы исправить это, я следую инструкциям этой страницы, чтобы загрузить flyspell. Я скопировал файл flyspell.el в мой каталог /Applications/Emacs.app/Contents/Resources/site-lisp, который, по-видимому, является каталогом моего пути загрузки emacs (обратите внимание, что, например, файл auctex.el находится в этом каталоге).

Затем я изменил свой файл .emacs, добавив:

(autoload 'flyspell-mode "flyspell" "On-the-fly spelling checker." t)
(autoload 'flyspell-delay-command "flyspell" "Delay on command." t)
(autoload 'tex-mode-flyspell-verify "flyspell" "" t)
(add-hook 'LaTeX-mode-hook 'turn-on-flyspell)

Когда я открываю файл .tex и использую M-x flyspell-mode, я могу "автозавершить" его (т.е. нажав вкладку, он даст мне правильные флайппелл-варианты), но когда я нажимаю RET, я получаю:

Searching for program: no such file or directory, ispell

Ни одно из решений, поставленных в этом вопросе или этот вопрос, работало, поэтому я не уверен в чем проблема. Кто-нибудь есть идеи или столкнулся с этой проблемой раньше?

Ответы

Ответ 1

Пожалуйста, прочитайте документацию, предоставленную Emacs, прежде чем пытаться выполнять произвольные инструкции со случайных веб-сайтов.

Emacs 24.2 включает Flyspell. Вы должны не явно установить его. Если вы это сделаете, отмените это, т.е. Удалите flyspell.el из /Applications/Emacs.app/Contents/Resources/site-lisp. В лучшем случае удалите /Applications/Emacs.app полностью и переустановите его, чтобы начать с нуля.

Однако Flyspell нуждается в инструменте проверки орфографии, который не включен в Emacs. В сообщении об ошибке указано, что у вас нет такого инструмента.

Вам нужно установить ASpell проверку орфографии. В OS X лучше всего установить его через диспетчер пакетов homebrew, т.е. brew install aspell --with-lang-en.

Ответ 2

Я использовал homebrew для установки ispell и apsell и получил бы тот, который когда-либо был установлен в ~/.emacs с

[iMac ~]$ cat .emacs
(setq ispell-program-name "/usr/local/bin/aspell")

Существует аналогичное обсуждение этого здесь

Ответ 3

В Windows я должен был сделать следующее, чтобы запустить Ispell-процесс:

  • скачано ispell (http://www.ssc.wisc.edu/~dvanness/ispell.htm)
  • Распакуйте содержимое в папку, которая находится на моем пути (например, Windows или C:\Windows\система
  • скачать aspell (http://aspell.net/win32/)- получить   полная загрузка. см. ссылку на странице. (нужен ли вам   ispell или нет, я не уверен)
  • Добавьте приведенный ниже код в файл init.el

  • Запустите установщик aspell

  • Запустите emacs снова, ошибка не должна появляться.

    (require 'package)
    (add-to-list 'package-archives
             '("MELPA Stable" . "http://stable.melpa.org/packages/") t)
    (package-initialize)
    (package-refresh-contents)
    
    (package-install 'flycheck)
    
    (global-flycheck-mode)
    
    (use-package flycheck
      :ensure t
      :init
      (global-flycheck-mode t))
    
    (setq ispell-program-name "C:\\Program Files (x86)\\Aspell\\bin\\aspell.exe"
    

Вам не все нужно делать, но это то, что сработало для меня на Emacs, работающем в Windows 7.