emacsでスペルチェックを行うためのオプションは何ですか


19

私は現在、Emacsで多くの非プログラミングタスクを行っているため、スペルチェックは再び大きな関心事の1つになりました。

Emacsのスペルチェックのオプションに関連する質問はまだないことに気づいたので、ここに行きます。

Emacsでスペルチェックを行うオプションは何ですか?

具体的には、

  • 一般的な目的のスペルチェック、つまりタイプミスに対する賢明な提案、単語のスペル修正
  • 選択的なスペルチェック用。たとえば、汎用スペルチェックですが、コメントのみ
  • 私が忘れていた、または気づいていないが、あなたは考えることができます(スペルチェック関連、当たり前...)

編集:別の質問で「他の」ものを分岐しました。emacsでより良いテキストを書くためのオプションは何ですか


1
このページをお勧めします:Emacsのスペル
ルーク

1
現状では、この質問は広すぎます。2番目の箇条書き(スペルチェックの選択)に制限することをお勧めします。また、文法については別に質問することをお勧めします。
ジル 'SO-悪であるのをやめる'

最初の2つの項目のみがスペルチェックに関するものです。文法と言語はスペルチェックではなく、最後の3つの項目はまったく異なる質問になります。
マラバルバ

1
元の質問が広すぎたり、大きく異なる2つの質問で構成されていたりすることには同意しませんが、2番目の部分は分岐しました。この質問は今あるのみスペルチェック、文法チェック、より良い文章を書くことについて、他の1程度。
エレマキル

回答:


10
  • 一般的な目的のスペルチェックには、一般的な選択肢がかなりあります
    1. ispelland friends:emacsに組み込まれ、通常で呼び出されispell-bufferます。オンデマンドでのみスペルをチェックします。
    2. flyspell-mode:また、組み込みでオンザフライのスペルチェックを提供し、ミスを強調します。
    3. speck-mode:MELPAから入手でき、入力後に一時停止すると単語のスペルをチェックします。また、同じバッファ内で複数の辞書を使用できるなど、flyspellモードとは異なる特徴がいくつかあります。(免責事項:私はこのモードを長い間使用していました)

すべての上記のような専用のスペルチェックプログラムを必要とすることに注意aspellまたはhunspell、適切な辞書を。これらのモードは、コマンドラインプログラムへの便利なemacsインターフェイスのみを提供します。

  • 選択的なスペルチェックの場合、チェックする必要がある単語を選択する関数を配線することによりflyspell-mode、変数を使用してカスタマイズできflyspell-generic-check-word-predicateます。リストされた例は簡単ですがflyspell-prog-mode、コードバッファ内のコメントのみをチェックするように使用してください。

1
まず、ご回答いただきありがとうございます。GillesとMalabarbaのコメントに続いて、私は質問を2つの部分に分けました。したがって、weasel-word新しい質問に対する回答として、回答の2番目の部分(についての部分)を投稿することをお勧めします。元の質問にリンクがあります。
エレマキル

wcheckリストに追加してください。それは非常に良いですflyspellが、最近とても良くなったので、私はwcheckもう使いません。
ラスマス14年

OSXの場合、Aquamacsと呼ばれる高度にカスタマイズされたEmacsのバージョンには、ネイティブOSXスペルチェッカー(ユーザーが追加したOSXユーザー辞書の単語を含む)のサポートが組み込まれています。これは、他のEmacsバージョンでは提供できない特別なアイテムです。
法律家

6

@Vamsiの答えは、すでに汎用および選択的なスペルチェックをカバーしています。しかし、パーソナライズされた自動修正はどうですか?@Malabarbaのブログにこのトピックに関する素晴らしい投稿があります。基本的な考え方は、スペルミスの単語と適切な修正のペアをAbbrevsとして保存することです。これを簡単に実行できるコード(のわずかに変更されたバージョン)を次に示します。

(defun 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 ((before (downcase (or (thing-at-point 'word) "")))
        after)
    (call-interactively 'ispell-word)
    (setq after (downcase (or (thing-at-point 'word) "")))
    (unless (string= after before)
      (define-abbrev
        (if p local-abbrev-table global-abbrev-table) before after))
      (message "\"%s\" now expands to \"%s\" %sally."
               before after (if p "loc" "glob"))))

(define-key ctl-x-map (kbd "C-i") 'ispell-word-then-abbrev)
(setq save-abbrevs t)
(setq-default abbrev-mode t)

これを配置すると、簡単にできます

  1. C-x C-iスペルミスの単語の後にヒット
  2. 修正を選択し、
  3. 二度と心配しないで

これは、今後Emacsがスペルミスのある単語を修正で自動的に置き換えるためです。これがどれほど便利かを言葉で表すのは難しいです!


Emacsの新しい自動修正機能を強化する場合は、ここで定義さている略語をabbrev_defsファイルに追加できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.