在Emacs中自动校正单词时,强制flyspell转到单词的末尾

时间:2011-09-08 04:24:27

标签: emacs elisp auctex ispell flyspell

我发现当你执行flyspell-auto-correct-word命令时,flyspell似乎停留在单词的中间是令人讨厌的。这可以改为强制它在运行命令后转到单词的末尾吗?它可能就像设置一个键绑定到auto-complete-word然后move-forward-word一样简单,我知道该怎么做。但是这并不适用于所有情况,因为如果自动完成单词小于键入的单词,它有时会将光标放在单词后面。对此的任何帮助都会很棒。

2 个答案:

答案 0 :(得分:1)

我浏览了(defun flyspell-auto-correct-word ...),我看不到任何好的挂钩或其他自定义点,所以我认为你最好的选择是使用C-h f defadvice

(defadvice flyspell-auto-correct-word (after flyspell-forward-word activate) (flyspell-goto-next-error))

答案 1 :(得分:1)

试试这段代码:

(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附带的版本进行测试。