Заставить flyspell идти до конца слова при автозамене слова в Emacs - PullRequest
3 голосов
/ 08 сентября 2011

Меня раздражает, что flyspell, похоже, остается в середине слова, когда вы выполняете команду flyspell-auto-correct-word. Можно ли это изменить, чтобы заставить команду идти до конца слова после выполнения команды? Это может быть так же просто, как установить привязку ключа к auto-complete-word и затем move-forward-word, что я знаю, как сделать. Но это не будет работать во всех случаях, потому что иногда он помещает курсор за словом, если слово автозаполнения было меньше, чем напечатанное слово. Любая помощь в этом была бы великолепна.

Ответы [ 2 ]

1 голос
/ 08 сентября 2011

Попробуйте этот код:

(eval-after-load "flyspell"
  '(defun flyspell-ajust-cursor-point (save cursor-location old-max)
     (when (not (looking-at "\\b"))
       (forward-word))))

Протестировано с версией flyspell 1.7k и версией, поставляемой с Emacs 23.2.

1 голос
/ 08 сентября 2011

Я просмотрел (defun flyspell-auto-correct-word ...) и не вижу там хороших хуков или других пунктов настройки, поэтому я думаю, что вам лучше всего использовать C-h f defadvice:

(defadvice flyspell-auto-correct-word (after flyspell-forward-word activate) (flyspell-goto-next-error))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...