JINRAI とは
Jinrai は、tadashi-aikawa 氏が開発している macOS 向けの「思考の速度で素早くウィンドウの切り替えや認識を行うための Hammerspoon スクリプト」です。
tadashi-aikawa 氏は Obsidian プラグイン界隈でよく知られた開発者で、Various Complements、Another Quick Switcher、Shukuchi などの人気プラグインを手がけておられます。その tadashi-aikawa 氏が Hammerspoon で作成されているのが JINRAI です。
デモ動画 (公式repoより)
1. ウィンドウ操作の基本モデルは40年以上あまり変わっていない
macOS でウィンドウを整理するとき、どうされていますか?
おそらく、つかんで、移動して、スナップして、また別のウィンドウをつかんで……を繰り返していますよね。これは、1984年の初代 Macintosh 以来、大きくは変わっていない操作モデルです。
「ウィンドウをつかんでズルズル」がデフォルト。40年以上たった今も。
2. いろいろなアプローチはありました、が。
もちろん、改善の試みはたくさんありました。
OS 組み込みのスナップ機能(Windows Aero Snap、macOS のタイル機能など)は、決まったグリッドへの素早い配置を提供しました。でも「どのウィンドウを」の選択は依然として手作業、マウス作業です。
タイル型 WM(ウィンドウマネジャー)(i3、yabai など)は、ウィンドウの選択・移動・配置をすべてキーボードで完結させる強力な解決策です。ぼくも何種類も試しました。ただ「常に整列している」「開いているウィンドウが原則すべて画面上に表示される」が前提で、ウィンドウ枚数が増えると逆に扱いづらい面もあります。macOS ではネイティブアプリとの相性問題も悩ましい。
JINRAI の Window Hints(Vimium 的アプローチ)では「どのウィンドウか」をキー入力で確定的に指定できるようになりました。不確実なマウス操作ではなく、一意にフォーカスが移る。これも大きな前進でした。
JINRAI は、この Window Hints を内蔵しています。ただ、Jinrai の面白さは Window Hints だけではありません。
Window Hints起動画面
3. Jinrai Mode——ウィンドウ操作に「モード」を持ち込む
Vim には operator + motion という文法があります。
d + w → 単語を削除
y + $ → 行末までヤンク
「何をするか」と「どこに対して」を組み合わせることで多様な操作を表現するものです。
JINRAI の Jinrai Mode は Vim 文法そのままではありません。順番は逆です。まず対象ウィンドウを選び、それをどこへ配置するかを選びます。
対象ウィンドウを選ぶ
→ 配置する
→ 次の対象ウィンドウを選ぶ
→ 配置する
→ ...
つまり、Vim 的に言えば、
現在の対象 → operator → motion → operator → ...
に近い流れです。
重要なことは、operator + motion の順番を忠実に再現していることではありません。ウィンドウ操作に「モード」を導入し、対象選択と配置操作を連続した文法として扱えるようにしている点です。
私の環境では Ctrl+Esc で Jinrai Mode を起動します。
Ctrl+Esc
→ Jinrai Mode 起動
→ カレントウィンドウが対象になる
→ エリアチューザーが開く
H を押す
→ カレントウィンドウが左半分に配置される
Window Hints が表示される
G を押す
→ Ghostty にフォーカスが移る
エリアチューザーが再び開く
L を押す
→ Ghostty が右半分に配置される
このように、モードを抜けずに、
対象選択 → 配置 → 対象選択 → 配置
を繰り返せます。
Jinrai Mode の面白さは、GUI のウィンドウ操作に Vim 的な「文法を持ったモード操作」を持ち込んだことにあると思います。
Jinrai Modeデモ動画 (公式repoより)
4. 40 年間のウィンドウ操作に、別の文法を持ち込む
GUI のウィンドウ管理は 1980 年代から存在しています。その歴史を振り返ると:
- ドラッグ操作:選択と移動が同時だが、曖昧で遅い(それが良いところでもある)
- スナップ/ショートカット:配置は速いが、対象ウィンドウの選択は別操作
- タイル型 WM:キーボード完結だが、「常時整列・開いているウィンドウが原則すべて画面上に表示される」が大前提
Jinrai Mode がやっていることは、ウィンドウ操作を、単発ショートカットではなく、連続したモード操作として扱えるようにしていることです。
少なくとも私にとっては、非タイル型環境でのウィンドウ操作文法をここまで自然に感じた初めての体験でした。
タイル型 WM のように環境全体を作り直すのではなく、今あるフローティング環境のまま、キーボード中心の編集体験を後付けできる。それが Jinrai Mode の意義です。
5. 何が変わるか
実際に使い続けていると、じわじわ感覚が変わっていきます。
- ウィンドウを整理するためにマウス(トラックパッド)に手が伸びなくなる
- 「散らかったデスクトップ整理」が、モードを抜けず連続してできる
- ウィンドウを「動かすもの」ではなく「編集するもの」として扱う感覚が生まれてくる
何より、操作に「文法」があると感じられることが気持ちいい。Vim に慣れている人ならわかってもらえるのでは、と思います。
6. まとめ
JINRAI の Jinrai Mode は、GUI のウィンドウ操作に Vim 的な「モード操作」の発想を持ち込んだ仕組みです。
Window Hints による確定的な選択を土台に、対象選択と配置をモード内で連続操作できるようにしている。40 年以上あまり変わらなかったウィンドウ操作のモデルに、新しい選択肢が加わりつつあります。
参考リンク
- 公式repo:Jinrai — GitHub
- 作者(tadashi-aikawa 氏):tadashi-aikawa — Bluesky
- Hammerspoon 公式:Hammerspoon


