multi-compile.el は名前が示すとおり、 M-x compile にメジャーモードやファイル名に応じて複数のコンパイルコマンド(アクション)を持たせるものです。 昔からある smart-compile.el に似ていますが、コンパイルコマンドを1つしか指定できません。 その点こちらの方が優位です。 シェルでhelm/anything風候補選択を行うpeco を使えば同じ効果は得られますが、こちらはEmacsで閉じています。 これを使うには multi-compile-alist にメジャーモード・ファイル名とアクションを設定する必要があります。 コマンドは以下のテンプレートが使えますが、 multi-compile-template を指定すれば自由に増やせます。 アクションの選択インターフェースは multi-compile-completion-system に指定します
![multi-compile.el : M-x compileに複数の選択肢を!コンパイルにテストに実行なんでもあれ](https://cdn-ak-scissors.b.st-hatena.com/image/square/a3c046ab7bfe74ed8ae2defb7fd7fd66affc6210/height=288;version=1;width=512/http%3A%2F%2Femacs.rubikitch.com%2Fwp-content%2Fuploads%2F2016%2F09%2Femacs.jpg)