- この記事を読むと、コマンドラインから英語文章のスペルチェックが出来るようになります。
- スペルチェックで無視したい単語を、チームで共有することができるようになります。
動機
英語の単語、病的なまでにスペルミスするので、スペルチェッカーに頼りたい。
md で英文書いてて、コマンドラインからスペルチェックしたい。
aspell
aspell
というものがあるらしい。
$ aspell -l en -c <file>
でスペルチェックできます。ありがとう。
-l en
で英語を指定している。
怪しいスペルをインクリメンタルにサジェストしてくれて、
無視するか、aspell が出してる候補に置き換えるか、自分で書きかえるか。とか選択肢ができる。
例えば、CUI
という単語には以下のようにサジェストしてくれる。
専門用語問題
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