Сохранить слово с помощью ispell (flyspell) одним нажатием клавиши


1

Я использую flyspell и хочу добавить слово в свой личный словарь ($ HOME / .aspell.en.pws) одним нажатием клавиши («F5»).

Я думал, что-то вроде:

(global-set-key (kbd "<f5>") 'my-save-word)

Но я не могу найти правильную команду.


1
Я использую собственную версию flyspell и ispell в течение нескольких лет и не помню, сделал ли я что-то особенное, чтобы эта функция работала. Таким образом, мне неудобно оставлять ответ, пока кто-то не проверит и не понравится: у (defun my-ispell-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)) (setq ispell-pdict-modified-p nil))) меня есть другие проекты на моей пластине в данный момент, и я не могу проверить его в ванильном Emacs
lawlist

Я только что проверил ваш код (добавление (global-set-key (kbd "<f5>") 'my-ispell-save-word). Я отлично работаю. Единственное потенциальное несогласие - это то, что слово будет сохраняться столько раз, сколько вы нажмете клавишу F5, даже если слово уже сохранено. Но я не могу по-настоящему подумать о ситуации, когда это будет «плохо». "иметь несколько раз одно и то же слово в вашем личном словаре.
ppr

Другой интересующий меня вариант - сохранить слово без перехода к нему. Я использую flyspell-lazy, чтобы избежать проблем с задержкой flyspell (он запускает flyspell только после периода бездействия). Так что я вижу слово, выделенное часто после завершения абзаца. Есть ли способ сохранить последнее «неправильное» слово в словарь без навигации по нему? Есть такая функция для автокоррекции (Cc;).
имп

Можно выполнить поиск по текстовому файлу и посмотреть, существует ли уже слово, которое может быть чувствительным к регистру, если это необходимо. Также можно использовать что-то вроде того, read-stringчтобы позволить пользователю вручную вводить слово, которое будет добавлено в личную базу данных, или могут использоваться другие способы выбора слова, которое будет добавлено. emacs.stackexchange.com - лучшее место, где можно получить помощь от ряда опытных пользователей Emacs, в то время как этот форум используется редко (например, 7 просмотров за 5 дней). Подумайте над тем, чтобы создать там новый вопрос о том, что у вас есть и чего вы хотите достичь ...
адвокат

1
Я не удивлюсь, если Aspell уже поставляется с командной строкой, эквивалентной проверке того, было ли слово уже добавлено в личный словарь, который пользователь может запросить, elispи может ли что-то уже существовать внутри flyspell.elи / или ispell.elдля достижения этой цели.
юрист

Ответы:


0

Если flyspell помечает слово, которое вы хотите добавить в свой личный словарь, как ошибочное, у flyspell уже есть такая возможность. Просто добавьте ispell-buffer и перейдите к слову для добавления (или перейдите к слову и используйте ispell-word и т. Д.) И нажмите «i» в ответ на запрос flyspell о действии.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.