Forza Flyspell ad andare alla fine della parola quando si è autocorrettazione in emacs
Domanda
Ho trovato fastidioso che Flyspell sembri rimanere nel mezzo della parola quando fai il comando flyspell-uto-correct-word. Questo può essere cambiato per costringerlo ad andare alla fine della parola dopo aver eseguito il comando? Potrebbe essere semplice come impostare un legame chiave per la parola automatica e quindi spostarsi in una parola che so come fare. Ma questo non funzionerà in tutti i casi perché a volte mette il cursore dietro la parola se la parola auto-completa era più piccola della parola digitata. Qualsiasi aiuto su questo sarebbe fantastico.
Soluzione
Prova questo codice:
(eval-after-load "flyspell"
'(defun flyspell-ajust-cursor-point (save cursor-location old-max)
(when (not (looking-at "\\b"))
(forward-word))))
Testato con Flyspell versione 1.7K e con la versione spedita con EMACS 23.2.
Altri suggerimenti
Ho guardato attraverso il (defun flyspell-auto-correct-word ...)
E non riesco a vedere buoni ganci o altri punti di personalizzazione lì, quindi penso che la tua scommessa sia usare C-h f defadvice
:
(defadvice flyspell-auto-correct-word (after flyspell-forward-word activate) (flyspell-goto-next-error))