web-dev-qa-db-ja.com

flyspell(ispell)辞書をカスタマイズする

Ispellにカスタム単語を追加する方法は知っていますが、辞書から特定の単語を削除したいと思います。たとえば、assassesは正しい単語ですが、入力することはめったにないので、asassessのタイプミスの可能性があるとしてフラグを立てます。

Ispellは辞書をどこに保存しますか?マニュアルページには場所が記載されていません。また、manページでは、新しい辞書を作成するための手順がたくさんあるように見えます。特定の単語を削除できるのはASCIIファイルだけではありません。与えられた単語なしで新しい辞書を構築しますか?

編集

いくつかのヒントから: http://docstore.mik.ua/orelly/unix/upt/ch29_05.htm

/ usr/share/dict/wordsから始めて、不要な単語を削除し、そこから新しいispell辞書を作成できるようです。しかし、新しい辞書を作るのに苦労しています。 buildhashはここでの重要なプログラムですが、添付ファイルが必要であり、そのファイルを生成する方法がわかりません。

4
mankoff

aspellでこれを解決しました。

  1. ソート済みファイルを作成しますaspell_noスペルチェックで認識させたくない単語が含まれています。

  2. 次のコードを実行します。

aspell dump master | sort > aspell_master
comm -2 -3 aspell_master ~/.aspell_words_list_no > better_master
aspell --lang=en create master ./custom < better_master
Sudo cp custom `aspell config dict-dir`

試して:

echo "some words I do not want spell check to recognize" > test.txt
cat test.txt |aspell list --master=custom

Emacsで動作させる(これを動作させるには、flyspellまたはemacsを再起動する必要があるかもしれません):

(setq ispell-program-name "aspell")
(setq ispell-list-command "list")
(setq ispell-extra-args '("--master=custom"))
5
mankoff