2

次のようなバッファの内容があるとします

teh msot |

カーソルは にあり|ます。通常、1回押すだけで修正msotできます(flyspell-auto-correct-previous-word)。私が望むのは、に修正することです。つまり、前の間違いの前に。(または一般的にn番目の呪文)mostC-;tehthe

flyspell-auto-correct-previous-word数値引数を取っ ているようですが、意図した結果が得られていません。

私は何が欠けていますか?

アップデート:

なぜこれが必要なのか、私が研究ノートを書いているとき、flyspell はいくつかの科学用語を間違ってマークしてしまいます。したがって、1 つまたは 2 つの偽マークをスキップする必要があります。

4

1 に答える 1

1

Ch f flyspell-auto-correct-previous-wordは、数値引数が「位置」と呼ばれることを教えてくれます。それはあなたが探しているもののようには見えません。位置は、バッファー内の位置を参照している可能性があります。フライスペルのソースコードを見ると、パラメーターが意図的な方法で使用されていないことがわかります(オーバーレイが何であるかはわかりません...)

;*---------------------------------------------------------------------*/
;*    flyspell-auto-correct-previous-word ...                          */
;*---------------------------------------------------------------------*/
(defun flyspell-auto-correct-previous-word (position) 
  "*Auto correct the first mispelled word that occurs before point."
  (interactive "d")

  (add-hook 'pre-command-hook 
        (function flyspell-auto-correct-previous-hook) t t)

  (save-excursion
    (unless flyspell-auto-correct-previous-pos
      ;; only reset if a new overlay exists
      (setq flyspell-auto-correct-previous-pos nil)

      (let ((overlay-list (overlays-in (point-min) position))
        (new-overlay 'dummy-value))
[SNIP]

また、(対話型の「d」)は、対話型の呼び出しの場合に、ポイントの現在の位置が位置に割り当てられていることを示します。matthias

于 2012-05-20T21:36:04.820 に答える