Spell-Checking
自定義flyspell(ispell)字典
我知道如何將自定義單詞添加到 ispell,但我想從字典中刪除某些單詞。例如,雖然
ass
andasses
是正確的單詞,但我很少輸入它們,並希望將它們標記為和 的可能拼寫as
錯誤assess
。ispell 在哪裡儲存它的字典?手冊頁不提供位置。此外,手冊頁使建構新字典看起來有很多步驟,而且它不僅僅是一個 ASCII 文件,我可以在其中刪除某些單詞。任何建議如何在沒有給定單詞的情況下建構新字典?
編輯
從一些提示:http ://docstore.mik.ua/orelly/unix/upt/ch29_05.htm
看來我可以從 /usr/share/dict/words 開始,刪除我不想要的單詞,然後從中製作一個新的 ispell 字典。但是,我在製作新詞典時遇到了麻煩。
buildhash
是這裡的關鍵程序,但它需要一個附加文件,我不知道如何生成該文件。
我解決了這個問題
aspell
。
- 創建一個排序文件
aspell_no
,其中包含您不希望拼寫檢查辨識的單詞。- 執行以下程式碼:
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"))