Macで多彩なアプリを頻繁に切り替える必要があるケースでは、ターミナルをキーボード・ショートカットで起動できると便利です。
MacOS標準機能のAutomatorを活用することで、ターミナルをいつでも最前面に呼び出す機能を実装できます。
Automatorの設定
AutomatorはLaunchpadで検索するか、「その他」から起動できます。
トップメニューの「ファイル」→「新規」を選択すると作成画面が表示されるので、「ワークフロー」を作成します。
左欄にAutomatorのアクション候補が一覧表示されており、今回のアクションは「ユーティリティ」→「アプリケーションを起動」を利用します。
画面右ペインがワークフローの編集領域で、「アプリケーションを起動」をドラッグ&ドロップすると、プルダウンに対象アプリの候補が表示されています。
ターミナル.appはプルダウン下部「その他」→「ユーティリティ」フォルダ内にあります。設定できたら、画面右上の「実行」ボタンで動作確認できます。
Automatorの「アプリケーションを起動」は、対象が起動済みの場合は最前面表示の挙動になるため、複数回実行してもターミナルが乱立しません。
意図した挙動になっていることを確認できたら、「ファイル」→「保存」で名前をつけて保存しておきます。
キーボードショートカットの設定
ショートカットは「システム環境設定」→「キーボード」→「ショートカット」で設定します。
作成したワークフローが「サービス」カテゴリーに追加されているので、右欄を入力状態にして任意のキーボードショートカットを登録します。
Finderや他のアプリと重複するキーの組み合わせで登録すると、動作しないケースが出るため、未登録のキーの組み合わせで登録すべきでしょう。
なお、ターミナルの作業後は Command-M でウインドウ最小化できるため、ここで登録したショートカットと併用することで表示・非表示を手軽に切り替えられます。iTermもターミナルと同様の挙動になりますが、Alacrittyは Command-M が効きません。
ターミナルのIMEを英字モードに固定
起動を手軽にする設定ではありませんが、ターミナル起動時には英字モードに固定されていた方が目的にフィットします。
「システム環境設定」→「キーボード」→「入力ソース」下部の「書類ごとに入力ソースを自動的に切り替える」をONにしておくと、概ね英字モードになります。
厳密に言えば、ターミナルの最後の入力モードを引き継ぐ挙動ですが、概ね英字モードで使うので期待した動作になります。
これにより、日本語の文書を編集している途中でターミナルを呼び出してもIMEを切り替える必要がほとんどなくなります。
まとめ
ターミナルをキーボードショートカットで呼び出せる状態にしておくと、自作スクリプトにアクセスしやすくなり、複雑なワークロードに強くなります。
MacにはPythonを標準状態で利用できるため、argparseを活用したスクリプトを整備すると相当高度なタスクも定型処理でスピードアップします。
シェルコマンドをいつでも手軽に実行するツールは実は意外に少ないのですが、他にはAlfredのPowerpackを購入する手もあります。AlfredはSpotlightに相当する検索機能なども統合されているため、ツール使い分けの必要性も減るメリットがあります。
今回のセットアップはMac標準の機能で完結しているため、どの環境でも再現性が高い点がポイントと言えます。
Chuma Takahiro