Edited at

英語の文章を aspell でスペルチェック

More than 3 years have passed since last update.


  • この記事を読むと、コマンドラインから英語文章のスペルチェックが出来るようになります。

  • スペルチェックで無視したい単語を、チームで共有することができるようになります。


動機

英語の単語、病的なまでにスペルミスするので、スペルチェッカーに頼りたい。

md で英文書いてて、コマンドラインからスペルチェックしたい。


aspell

aspell というものがあるらしい。

$ aspell -l en -c <file>

でスペルチェックできます。ありがとう。

-l en で英語を指定している。

怪しいスペルをインクリメンタルにサジェストしてくれて、

無視するか、aspell が出してる候補に置き換えるか、自分で書きかえるか。とか選択肢ができる。

例えば、CUI という単語には以下のようにサジェストしてくれる。

スクリーンショット 2016-09-06 18.58.54.png


専門用語問題

IT系の専門用語はスペルチェックに引っかかりやすい。

そういうのは、毎回引っかかってしまうので、ちょっと効率が悪い。

そこで、Add をつかう。これもスペルミスがサジェストされた時に出て来る選択肢の中にある。 a とタイプすると使える。

Add すると、その単語は個人辞書(personal dictionary)に登録される。

一度、個人辞書に登録されると、次回から同じ単語が出て来ても無視されるようになる。

個人辞書は .aspell.<言語の種類>.pws という名前のファイル。

英語だと .aspell.en.pws


個人辞書の共有

チームで英文のドキュメントを管理しているので、個人辞書を共有したい。

個人辞書はデフォルトではホームディレクトリに生成される。

ドキュメントは GitHub で管理してるので、リポジトリのトップに個人辞書を置く。

-p オプションで個人辞書のパスを指定する運用にする。

$ aspell -p `git rev-parse --show-toplevel`/.aspell.en.pws -l en -c <file>

git rev-parse --show-toplevel で リポジトリのトップディレクトリの絶対パスが返ってくる。

だいぶコマンドが長くなったので、短くしたいと思っている。


Git で管理してるのでバックアップファイル不要

デフォルトでは、スペルを書きかえると、ドキュメントのバックアップが作成される。やさしい。

でも、ドキュメントは既に git の管理下にあるので、バックアップは不要なのです。

そこで --dont-backup オプションをつけて、生成されないようにする。

$ aspell --dont-backup -p `git rev-parse --show-toplevel`/.aspell.en.pws -l en -c <file>


URL

URL はデフォルで無視されるので、ありがたい。

できれば、markdown モードも欲しい。

これでもいいかもしれない。

https://www.npmjs.com/package/markdown-spellcheck


Install

Mac はこんな感じ

brew install aspell