Emacs на Win32 с hunspell - личный словарь не сохраняется
Итак, у меня есть рабочая установка для Emacs (v23.3.1) в Windows 7 с использованием hunspell после следования инструкциям в вики.
http://www.emacswiki.org/emacs/InteractiveSpell
Когда я проверяю правописание документа (M-x ispell
), emacs дает мне возможность вставлять помеченное слово в личный словарь нажатием клавиши 'i'
или же 'u'
, В конце он спрашивает меня, хочу ли я сохранить измененный личный словарь, и я выбираю да.
Проблема в том, что личный словарь не сохраняется на диск, а выделенные ранее слова снова помечаются в новом сеансе.
Попробовал следующие вещи, рекомендованные в другом месте, но безрезультатно:
(setq ispell-personal-dictionary (развернуть имя-файла "~/personal-dictionary.txt"))
У кого-нибудь есть решение или обходной путь для этого? Если вы можете сохранить в личном словаре, пожалуйста, напишите соответствующие биты из вашего .emacs
2 ответа
Я думаю, что проблема может заключаться в том, что, хотя вы указали ispell, где хранится ваш личный словарь, вы не предоставили эту информацию в hunspell.
Со страницы руководства:
-p dict
Установите путь личного словаря. По умолчанию это $HOME/.hunspell_default. При установке -d или переменной окружения DICTIONARY личный словарь будет иметь значение $HOME/.hunspell_dicname
Я использую Hunspell, скомпилированный с Cygwin, и использую словарь en-GB. Если я установлю значение ispell-personal-dictionary
в "c:/cygwin/home/luke.girvin/.hunspell_en_GB"
Все слова, которые я добавляю в свой личный словарь с помощью ispell, сохраняются правильно.
Таким образом, простой способ решить вашу проблему - изменить имя вашего личного файла словаря на то, что Hunspell ожидает по умолчанию.
В качестве альтернативы, вы можете использовать -p
возможность сообщить Hunspell, какой файл словаря вы хотите использовать, возможно, путем настройки ispell-cmd-args
,
Кроме того, существует ли файл словаря на самом деле? Я обнаружил, что Emacs не будет создавать этот файл для меня, но он обновит существующий пустой файл.
Попробуйте использовать личную папку для "специальных" программ Windows. Проблема в том, что только пользователи с правами администратора могут писать в C:\Program Files
и если вы сохранили в нем emacs и вызвали его с обычными шансами пользователя, вы не сможете писать туда.
Решение: просто создайте новую папку, как C:\Programs\
и положил туда emacs. Таким образом, ваш пользователь будет иметь права на запись в папку.
Это скорее обходной путь, но для некоторых приложений это проще.