Как я могу использовать несколько словарей с проверкой орфографии Emacs? В частности, я хочу использовать британский английский словарь и медицинский английский словарь одновременно.
ispell
spell-checking
hunspell
Divinenephron
источник
источник
flyspell
?flyspell
.flyspell
но не обязательно. Таким образом, ответы могут иметь отношение к большему количеству людей.Ответы:
Hunspell может проверять орфографию с несколькими словарями, и вы можете настроить это для работы с Emacs. Вот как я это делаю на OS X 10.11, с Emacs 25.0. Это не будет работать с более старым Emacsen.
Установите Hunspell
Загрузите словари Hunspell из LibreOffice и OpenMedSpel .
Вставьте словари
~/Library/Spelling/
.Добавьте это к
~/.emacs/init.el
:источник
ispell-hunspell-add-multi-dic
отсутствует в более старых версияхispell.el
, даже в Emacs 24.5. Мне пришлось скачать новейший файл с github.com/emacs-mirror/emacs/blob/master/lisp/textmodes/… и снова скомпилировать его, чтобы он заработал.Symbol’s function definition is void: ispell-hunspell-add-multi-dic
хотя я уверен/usr/share/emacs/25.1.50/lisp/textmodes/ispell.elc
, что функция присутствует. Есть идеи, как это могло случиться? Благодарю.ispell.el
в/usr/share/emacs/site-lisp/
теневом новееispell.el
в Emacs25 ... Смотрите unix.stackexchange.com/questions/28483/... для тех, кто может быть встречая тот же вопрос.Предположим, вы уже загрузили en_US-med.dic и en_US-med.aff и установили hunspell
Шаг 1, запустите
hunspell -D
в оболочке, которая сообщит каталогу, где hunspell ищет словари, скопируйте en_US-med.dic и en_US-med.aff в этот каталог.Шаг 2, вставьте приведенный ниже код в ~ / .emacs,
Фактически мы передаем опцию "-d en_US, en_US-med" в CLI Hunspell, чтобы он мог использовать ДВА словаря "en_US" и "en_US-med" одновременно.
Параметры "-d" описаны в руководстве пользователя hunspell (
man hunspell
в оболочке)Вот цитата из руководства Hunspell:
Протестировано на Emacs 24.3, Debian 7 со словом «фиброхондрит».
Должен работать на Emacs 23+ на любой ОС .
Обратите внимание, что в Windows самый простой способ сообщить исполняемому файлу hunspell путь поиска в словаре - это установить переменную окружения
DICTPATH
(это описано в руководстве по hunspell). Вполне возможно, что исполняемый файл hunspell из Cygwin / MSYS2 распознает путь только в формате UNIX .источник
-d
возможности.helm-flyspell
кажется , как-то использует словарь только с системным языком.