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.