让我介绍一下我对此的帖子。
我发现缩写是对进行校正的最佳方法SPC
,您只需定义所需的校正即可。为此,我采用以下方法:
- 将以下代码添加到您的init文件中。
- 如果您键入错误的内容,请点击
C-x C-i
并选择提供的更正之一。
- 而已!更正将在那里自动替换,并且从现在开始每次您犯此错误将自动执行。
这是代码
(define-key ctl-x-map "\C-i" 'endless/ispell-word-then-abbrev)
(defun endless/ispell-word-then-abbrev (p)
"Call `ispell-word'. Then create an abbrev for the correction made.
With prefix P, create local abbrev. Otherwise it will be global."
(interactive "P")
(let ((bef (downcase (or (thing-at-point 'word) ""))) aft)
(call-interactively 'ispell-word)
(setq aft (downcase (or (thing-at-point 'word) "")))
(unless (string= aft bef)
(message "\"%s\" now expands to \"%s\" %sally"
bef aft (if p "loc" "glob"))
(define-abbrev
(if p local-abbrev-table global-abbrev-table)
bef aft))))
(setq save-abbrevs t)
(setq-default abbrev-mode t)
手动添加校正可能听起来很麻烦,但实际上并非如此。您只需要敲几个键,您就会发现一些更正将使您走得很远。
此外,另一种选择(每次单词不存在时让ispell为您选择更正
)通常会为您带来错误更正。所以最好还是定义自己的。它甚至解决了您实际上要键入非单词的问题。