はじめに
Vim でブログのエントリを作成したり、技術ドキュメントを作成したりしています。
技術系の内容をまとめていると、アルファベットの単語の登場頻度が多いわけですが、ちょっとしたスペルミスをすることがちらほらあります。
エントリやドキュメントであれば、スペルミスを舌としてもまだマシなのですが、ソースコードにスペルミスがあると(例えばクラス名やメソッド名)それが使われてしまって後戻りできない、ということも時々あります。
これはイカンということで英語のスペルミスを検出するためのプラグインを探して導入してみました。
検証環境
| |
shinglyu/vim-codespellを導入する
Google 検索して最初に見つかった Github 上の Vim プラグインが以下でした。
したがってこれを導入し使ってみることにしました。
shinglyu/vim-codespellのインストール
Github の Install の説明を見るのが一番確実です。
2021-06-20 時点だと、以下の工程を踏むと書かれています。
- [aspell][http://aspell.net/] というツールの導入
- Mac なら
brew install aspellを実行
- Vim プラグインとして、
shinglyu/vim-codespellを導入
プラグインのインストール方法についてはここでは省略します。
Vim のプラグインは Vundle / vim-pathogen / vim-plug / NeoBundle / dein.vim など色々ありますので導入していない場合には検討ください。
shinglyu/vim-codespellを使ってみる
早速使ってみました。 前回のブログエントリのもととなる Markdown を NeoVim で開きます。
その後、 :Codespell コマンドを実行します。
幸いタイポがないためあまり良くわかりませんが、一部の単語が赤色で表示されるようになりました。 辞書登録されていないものはハイライト表示される模様です。
shinglyu/vim-codespellに自分で辞書登録してみる
Ansible や Kubernetes といった技術単語が不正な文字扱いとなってしまっているので、こちらを辞書登録します。
まずはプラグインが配置されているディレクトリに移動します。
ちなみに僕の場合ですが、 SpaceVim を導入しているためプラグインの配置場所がちょっと変わっています。
| |
次に dict ディレクトリに移動します。
| |
*.list という拡張子のファイルがいくつかありますが、これが辞書ファイルになります。登録されているものはスペルミス扱いにしない、という仕様のようです。
既存のファイルと同じように自分用の辞書を追加します。
my.list というファイルを作成し、 ansible と kubernetes という単語を追加します。
| |
作成後は build.sh を実行すれば、*.list ファイルを纏めて cs.dict というファイルに変換してくれます。
| |
これでエラーとならないはず、、、と思っていたら、僕の環境ではこれだけでは正しく動作しませんでした。 SpaceVimを使っている環境だからでしょうか?以下の一手間を加えて初めて正しく反映されるようになりました。
| |
SpaceVim のキャッシュファイルなのでしょうか?あまり仕組みがわかっておらず。
ひとこと
導入して気づいたのですが、以下のプラグインのほうがスター数が圧倒的に多く、早速乗り換えしようと思い始めています。^^;