シェルで手抜きリアルタイム構文チェック

たまーにある「これもっと早く知っとけばなぁ」系統のコマンド
手抜きではあるのだが、シンプル故にどこでも使えるというのが気に入っている。

watch。

指定秒数毎にコマンドを延々と自動実行してくれるステキなコマンド。
基本的には  watch -n 秒数 "コマンド" の要領で使っている。
その他のオプションは適当に watch --help でもして確認してくれたまえ。

このコマンドを知ったのは、ソースコードを編集してはコマンドラインに戻ってエラーを見てはソースコードに戻って……の繰り返しに嫌気が差して解決策を調べた時。
開発は urxvt + tmux + Vim だから見比べる分には苦ではないのだが、いかんせんシェルを跳びまわるのが面倒で死ねる。
一回一回の手間は数秒くらいなものだが塵も積もれば以下略。
その時は OMake の導入も結構本気で検討したがいちいちまた新しいことを覚える気にもなれないくらいには忙しかったのだ。

というわけでその時の結論、はい。
watch -n 10 "make 1> /dev/null"

十秒毎にmakeを延々走らせる。
適当にシェルを割ってこいつを走らせながらエラーを見比べつつコーディングに集中する
標準出力は特に用がないため捨てている。

手に染み付いたVimの  :wq が定期的に叩かれるためコンパイルして確認する間隔が縮まり、ほぼ行ないしは文単位でコンパイルが通ることの確認ができる。
コーディング中に「あれ最後にコンパイルしたのいつだっけ」からの莫大なエラー文なんて事態がなくなるのが最高に捗る(もちろんうろ覚えの状態でコーディングするのが悪い)。

言うまでもないことだが延々とコンパイルかけてるわけだからコード規模によってはゲロ重な負荷がかかる。
そういう時はハッシュなりタイムスタンプなりを監視して、true なら make という具合に対応したらいいのだろうが、上手い方法が浮かばない。

コメントを残す