Skip to main content
  1. Entry/

アプリケーションを素早く切り替えるためにやっていること

最近「アプリケーションを切り替える」という話題1についてよく目にする気がするので、自分がやっていることを書いてみる。 なお、ここで言う切り替えとは、デスクトップ上でアクティブにするアプリケーションを切り替えることを指している。

使用するアプリケーションを絞る #

前提として、普段使用するアプリケーション、いわゆる一軍アプリ2の種類を絞っている。 具体的には9以下にしている(なぜ9なのかは後述)。 仕事でソフトウェアエンジニアとしてPCを使う分にはそれだけあれば十分だし、 趣味でコードを書いたりその他の作業をする場合も、それらのアプリケーションで事足りる。

一軍アプリが多数あり、それらを組み合わせないと支障が出る人には合わない方法なのであしからず。

アプリケーションごとにショートカットキーを割り当てる #

やっていることは単純で、一軍アプリそれぞれに専用のショートカットキーを割り当てている。 ショートカットキーはすべて Cmd+Shift+Ctrl との組み合わせ。

キー アプリケーション 役割
K Toggl タイムトラッキング
R Dash ドキュメントビューアー
H Zed エディタ
T Alacritty ターミナル
N Zen ブラウザ
M Claude AIクライアント
W 1Password パスワードマネージャ
V Slack コミュニケーション

ショートカット用の文字としてなぜこれらを選んでいるのか不思議に思うかもしれないが、これは自分が使っているキーボード配列が Dvorak (をちょっといじったやつ) にしているから。 この配列だと、すべて右手の人差し指・中指・薬指で押せる位置にある34。 無理無く素早く押せる範囲にショートカットキーを収めるために、一軍アプリを9以下に抑えている、というわけ。

ショートカット用のキーは右手側に固めている

ウィンドウ操作もショートカットキーで #

ウィンドウのサイズを変えたり、サブディスプレイに移動する操作にもショートカットキーを割り当てている。 タイル型ウィンドウマネージャー・・・とはちょっと違うが、ささっと欲しいレイアウトに組み替えられるので快適。

サイズ変更 #

すべて Cmd+Shift+Ctrl との組み合わせ。

キー 操作
右1/2 → 右2/3 → 右1/3 → 右1/2 → …
左1/2 → 左2/3 → 左1/3 → 左1/2 → …
最大化
画面中央に表示
F11 ウィンドウに対して縦横60%にリサイズ
F12 ウィンドウに対して縦横80%にリサイズ

は現在のウィンドウ幅によって次のサイズが決まる。 ウィンドウ幅がディスプレイサイズに対して 1/3 であれば、次はディスプレイサイズ 1/2 になる、という具合。

ウィンドウ移動 #

こちらは Ctrl+Shift との組み合わせ。

キー 操作
次のディスプレイに移動
前のディスプレイに移動
ウィンドウを操作している様子

ショートカットキーを何で処理するか #

ショートカットキーの割り当て自体は10年以上変えていないが、それを処理するアプリケーションは何度か乗り換えている。

はじめは Spark を使っていた。

その後ウィンドウ操作も行いたくなったので BetterTouchTool に乗り換え。

しばらくはこれで問題なく生活していたが、設定類をコード管理したくなったのと、macOS を Tahoe にした頃からなんだかやたらと CPU を消費するようになったので、Hammerspoon に移行した。

Hammerspoon は Lua で設定を定義できるので、dotfiles 類と同じように git 管理して GitHub で公開している。

dotfiles リポジトリの設定反映は nixで行っている ので、新規マシンをセットアップする際は clone して make setup && make switch するだけでよい。

その他のアプリケーション #

一軍アプリ以外の切り替えは適当。 Cmd+Tab で適当に切り替えたり、Spotlight でアプリ名を入力して切り替えたりしている。 使用頻度が低いのでそれでも問題ない。

まとめ #

アプリケーションの切り替えは個別にショートカットキーを割り当てることで行っている。 このスタイルは10年以上変えていないが、その分手に染み付いているというのもあり、また必要十分の操作ができているので、当面は変えることはなさそう。

ショートカットキーを処理する方法は都度変えてきたが、これは実装ではなくインターフェイスに依存しているようでおもしろい。 というのにこれを書いている時に気づいた。

余談1 #

ウィンドウの初期位置を再現するために Display Maid を使っているが、これも Hammerspoon に移行しようかと考えているところ。

余談2 #

最近はコーディングエージェントの台頭により、Dash(ドキュメントビューアー)の出番はめっきり減ってしまった。 さらに、Zed(エディタ) の中で内蔵ターミナルを使っているというのもあり、Alacritty(ターミナル)の出番も減ってきている。 使用するアプリケーションが減る分には問題ないので、むしろ歓迎したい。

余談3 #

デスクトップ単位のワークスペースの導入はしていない。 昔仕事で複数プロジェクトを行ったり来たりする必要があった時代に使っていたこともあったが、最近はその必要がなくなったのと、必要があれば Zed のウィンドウと Zen のワークスペースを切り替えることで事足りている。 これらをまとめて切り替えるショートカットキーはあると便利そうなので、そのうち試してみるかもしれない。


  1. AeroSpaceでtagベースなworkspace管理をする - unknownplace.org📘至高のウィンドウ切り替えを目指して『JINRAI(迅雷)』をつくった - Minerva など ↩︎

  2. 使用している各アプリケーションについては 開発環境現状確認 2026年版 を参照 ↩︎

  3. G は現在欠番。タスク管理ツール(Todoist)を割り当てていたが、 タスク管理を Obsidian で行う ようになって不要になった ↩︎

  4. このキーレイアウトの図、Gemini とかでサクッと描けるかと思ったら、キーがずれたりレイアウトがイマイチだったりして結局 Excalidraw で描いた ↩︎