私は、ALE(Asynchronous Lint Engine)で、Syntasticをやめました

エセなvim使いの私ではあるが、やはりプログラミングでも普段使いしているvimで、イマドキのIDEなんかに負けじと構文チェッカーを活用して開発効率をあげようぜ、ということでSyntasticを使っていたのだが…。

Syntasticはすばらしい。
多くのプログラミング言語に対応し、設定例を紹介したブログやウェブなども多い。
ということで、ずっと使って来た。

が、いかんせん……

重い!

Syntasitcは保存時にチェックが走るぽいのだが(すんません、あんまり細かく追ってない)、その際にだいたい数秒固まったりする。
–startuptimeオプションで計測したら、やはりSyntasticの起動でかなりを食っていた。

他に……ないのかね?
ということで探したら、Asynchronous Lint Engine(ALE)というものがあることを知る。

deinを使って入れば、簡単。VundleやNeoVimでも同じかも?(よく知らない)
以下はdeinの例。.vimrcに記述すればいい。

.vimrcに買いて、:call dein#install()とかすれば大丈夫。
それ以外だと、たぶんgit cloneでGitHubからリポジトリクローンを特定のディレクトリに持って来たりすれば大丈夫だと思われる。英語が読めなくても、Installationを眺めれば、どうすればいいか判断できると思われる。

使う言語ごとにlinter(lintコマンド)を指定すればいいのだが、デフォルトで対応しているものが要されていて、Syntasticsばりに多い。
またfixerという、コード自動整形ツールを指定して修正させることもできる。
linterやfixerに、それぞれコマンドラインオプションを指定することも可能だが、このドキュメントについては:help ale-optionsで見ることができる。

ちなみに、私は普段使いでPHP、C/C++、趣味ベースでPythonやGoを使っているので、以下のような感じの設定になっている。Objective-Cはキライなので使わないが、とりあえず設定している程度なので気にしないように。

pylintについてはPythonの環境によってPython2かPython3かが変わってくるので、言語環境については各自確認されたい。ここでは触れない。

最後の行は自動コード整形のコマンドで、:ALEFixを実行すれば可能だが、めんどくさいのでCtrl+A, Ctrl+Fと押した時にコマンドが実行されるようにしておいた。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください