в Emacs flyspell-mode, как добавить новое слово в словарь?

В Aquamacs в режиме flyspell, когда flyspell помечает слово как написанное с ошибкой, я могу щелкнуть правой кнопкой мыши, чтобы добавить слово в свой словарь, если оно действительно написано правильно.

В GNU Emacs на OSX, когда flyspell-mode выделяет слово, которое, по его мнению, написано с ошибкой, как я могу добавить это слово в словарь? Глядя в документацию, я не вижу функции типа flyspell-learn-word или ispell-add-word-to-personal-dictionary.


person incandescentman    schedule 28.02.2014    source источник
comment
Определена ли функция flyspell-correct-word-before-point, попробуйте вызвать ее с помощью (C-c $) с точкой на неправильном слове, это дает возможность сохранить слово.   -  person    schedule 01.03.2014
comment
Есть ли способ сделать это без навигации по выпадающему меню?   -  person incandescentman    schedule 01.03.2014
comment
Есть ли способ добавить соединение, подобное половинчатому? Только Hearted получает волнистую красную подчеркивание, а flyspell пытается добавить Hearted в словарь.   -  person Ryo    schedule 05.11.2020


Ответы (2)


Функция, которую вы ищете, это flyspell-correct-word-before-point. По умолчанию он привязан к клавишам C-c$. Переместите точку на неправильное слово и выполните команду. Вы получите всплывающее меню с возможными исправлениями и возможностью сохранить слово в свой словарь.

Если вам нужна одна команда для сохранения текущего слова, это то, что я смог извлечь из flyspell.el.

(defun my-save-word ()
  (interactive)
  (let ((current-location (point))
         (word (flyspell-get-word)))
    (when (consp word)    
      (flyspell-do-correct 'save nil (car word) current-location (cadr word) (caddr word) current-location))))
person Community    schedule 01.03.2014
comment
Но куда сохраняется новое слово? - person strongwillow; 11.05.2016
comment
@strongwillow, в ~/.aspell.LANG.pws для aspell или ~/.ispell_DICTNAME для ispell. См. emacs .stackexchange.com/questions/17237/ - person tlegutko; 01.05.2017

Вероятно, вы можете использовать M-$ для открытия предложений, а затем i для сохранения в словарь. Вам будет предложено подтвердить.

Источник

person Gauthier    schedule 15.05.2018
comment
это три шага, тогда как принятое выше решение - один шаг - person incandescentman; 30.05.2018
comment
чтобы избежать подтверждения и просто сохранить его: (setq ispell-silently-savep t) - person Mingwei Zhang; 18.06.2019