Интерактивные программы проверки орфографии, доступные для emacs

Недавно я переключился на emacs24 и обновился до Ubuntu 12.04. Я не могу заставить hunspell снова работать правильно. Я считаю, что hunspell лучше, чем aspell в целом. Hunspell хочет использовать только австралийский словарь, а не английский словарь США, иначе моя система зависнет. С aspell у меня нет проблем с переключением словарей или запуском режима flyspell.

Мой вопрос: как люди настраивают интерактивную орфографию в emacs24?? По-прежнему использую ispell и flyspell или любые другие предпочтительные настройки. Вы используете hunspell с emacs24? Я могу продолжать пытаться заставить это работать, но хочу подтвердить, что в других местах у людей нет никаких проблем.


person J Spen    schedule 24.07.2012    source источник


Ответы (1)


Я использую hunspell на OS X (установленный через homebrew) с Emacs 24, собранным из bzr. Соответствующие части моего .emacs приведены ниже. Однако я не переключал словари, поэтому я не могу помочь с этим. Мне потребовалось некоторое время, чтобы все настроить, и это было давно, поэтому я не помню, почему все так, как есть.

(setq-default ispell-program-name "hunspell")
(setq ispell-dictionary "american"
  ispell-extra-args '() ;; TeX mode "-t"
  ispell-silently-savep t
  )

(setq flyspell-mode-map nil)

(add-hook 'ispell-initialize-spellchecker-hook
      (lambda ()
    (setq ispell-base-dicts-override-alist
          '((nil ; default
         "[A-Za-z]" "[^A-Za-z]" "[']" t
         ("-d" "en_US" "-i" "utf-8") nil utf-8)
        ("american" ; Yankee English
         "[A-Za-z]" "[^A-Za-z]" "[']" t
         ("-d" "en_US" "-i" "utf-8") nil utf-8)
        ("british" ; British English
         "[A-Za-z]" "[^A-Za-z]" "[']" t
         ("-d" "en_GB" "-i" "utf-8") nil utf-8)))))
person Ivan Andrus    schedule 24.07.2012
comment
Всегда получаю эту ошибку, когда у меня аналогичная настройка, потому что я пробовал все на интерактивной странице заклинаний, чтобы заставить ее работать: запуск нового процесса Ispell [американский] ... ispell-init-process: не удается открыть файлы аффиксов или словарей для словаря с именем американский @(#) Международная версия Ispell 3.2.06 (но на самом деле Hunspell 1.3.2). ######### Кажется, работает только в том случае, если я использую словарь по умолчанию, для которого установлено значение «Австралийский». Я не могу понять, как это изменить. Я не думаю, что он ищет словарь в правильном каталоге. Как мне это изменить?? - person J Spen; 25.07.2012
comment
реализованная ошибка связана с debian-ispell.el и его настойчивым требованием контролировать настройку списка словарей ispell. Единственный способ - переопределить список ispell-local-dictionary-list, который я смог выяснить, но просто удалил файлы, чтобы устранить проблему, и установил базовые файлы ispell и flyspell. - person J Spen; 25.07.2012
comment
Тогда вы должны сообщить об ошибке в Debian. Я рад, что ты разобрался. - person Ivan Andrus; 25.07.2012
comment
Сделаю. Кратко посмотрел на изменение пакета, и я просто думаю, что обновление местоположения по умолчанию для библиотек, когда установлен hunspell, вероятно, должно помочь. Надеюсь, заставить его загрузить правильные библиотеки. Rw-hunspell определяет правильные библиотеки, но не устанавливает ispell напрямую, я думаю, из-за некоторых ловушек в debian-ispell, судя по его внешнему виду. Я постараюсь представить ошибку. - person J Spen; 25.07.2012
comment
Оффтоп, но я видел, как вы написали что-то, как игнорировать регионы, на которые кто-то ссылался там, связанные с ispell, и думаю, что то, что я хочу сделать, относительно легко изменить, но не знаю, как это сделать. Нужно только проверить, что первый текст в строке равен #+, тогда, если он находится в списке меток, переменная, которую я бы установил, не проверяет область проверки орфографии: stackoverflow.com/questions/11646880/ - person J Spen; 25.07.2012
comment
Где находятся ваши словари? - person garyp; 23.08.2014