Я использую собственную версию 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 о действии.
(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(global-set-key (kbd "<f5>") 'my-ispell-save-word)
. Я отлично работаю. Единственное потенциальное несогласие - это то, что слово будет сохраняться столько раз, сколько вы нажмете клавишу F5, даже если слово уже сохранено. Но я не могу по-настоящему подумать о ситуации, когда это будет «плохо». "иметь несколько раз одно и то же слово в вашем личном словаре.read-string
чтобы позволить пользователю вручную вводить слово, которое будет добавлено в личную базу данных, или могут использоваться другие способы выбора слова, которое будет добавлено. emacs.stackexchange.com - лучшее место, где можно получить помощь от ряда опытных пользователей Emacs, в то время как этот форум используется редко (например, 7 просмотров за 5 дней). Подумайте над тем, чтобы создать там новый вопрос о том, что у вас есть и чего вы хотите достичь ...elisp
и может ли что-то уже существовать внутриflyspell.el
и / илиispell.el
для достижения этой цели.Ответы:
Если flyspell помечает слово, которое вы хотите добавить в свой личный словарь, как ошибочное, у flyspell уже есть такая возможность. Просто добавьте ispell-buffer и перейдите к слову для добавления (или перейдите к слову и используйте ispell-word и т. Д.) И нажмите «i» в ответ на запрос flyspell о действии.
источник