Vimdow GitHub

macOS 14 以降に対応

ウインドウ操作を、Vim 流に。

Vimdow は、キーボードで操作する macOS 用のウインドウマネージャです。ショートカットひとつでコマンドモードに入れば、h、j、k、l や回数指定など、指になじんだ Vim の操作でウインドウの移動やリサイズ、配置、切り替えができます。マウスに手を伸ばす必要はありません。 アプリを名前で開いたり、使っているウインドウ以外を暗くしたりもできます。

Homebrew で簡単にインストール

brew install rath/tap/vimdow

ZIP をダウンロードGitHub でソースを見る

デモの内容

  1. Control–Option–A でコマンドモードに入ります。
  2. l を押すたびに、設定した移動量だけ右へ動きます。
  3. 12j で、下へ12回分まとめて移動します。
  4. Option–l で、左上の角を固定したまま幅を広げます。
  5. zz で、画面の中央に移動します。
  6. u で、直前の操作を取り消します。
  7. Control–W に続けて H で、画面の左半分いっぱいに広げます。
  8. Q でウインドウに番号が付き、2 で2つ目のウインドウに切り替わってコマンドモードを抜けます。
  9. もう一度コマンドモードに入り、Control–W に続けて L で、右半分いっぱいに広げます。
  10. Escape でノーマルモードに戻ります。

Vimdow を作った理由

Vimdow の作者は1998年から Vim を使い続けていて、できることならマウスには触りたくないと考えています。Mac の操作はたいていキーボードで済みますが、ウインドウの管理だけは例外でした。ウインドウを数ポイントずらしたいときも、別のディスプレイへ移したいときも、そのたびにホームポジションから手を離すしかありませんでした。

2013年に作った最初のバージョンは、この不満を作者ひとりのために解消する、小さな Objective-C のアプリでした。新しいショートカットを覚えるのではなく、ウインドウ操作を手になじんだ Vim のキーに割り当てました。hjkl で移動、数字で繰り返し、0 と $ で左右の端、gg と G で上下の端、zz で中央、u で取り消し、/ で検索。2026年には Swift 6 で書き直し、コマンド処理にはテストも備えました。

Vimdow は、Vim と同じくモードを切り替えて使うツールです。タイル型のウインドウマネージャではないので、ウインドウを自動で並べることはしません。自分で並べる操作を速くするためのものです。ひとりの好みから生まれたツールですが、Vim の操作が指に染みついている人なら誰でも使えるように公開しています。

使い方

  1. コマンドモードに入る

    ⌃⌥A を押して、指を離します。コマンドモードを抜けるまで、キー入力は最前面のアプリではなく Vimdow に届きます。

  2. 移動とリサイズ

    h j k l で、アクティブなウインドウを設定した移動量ずつ動かします。先に数字を入力すればその回数だけ繰り返し、キーを押し続ければ滑らかに動き続けます。Option か Shift を一緒に押すと、移動ではなくリサイズになります。

  3. モードを抜ける

    esc か . を押すとノーマルモードに戻り、キー入力は再びアプリに届くようになります。

できること

コマンドモード早見表

コマンドモードには Control–Option–A(初期設定)で入ります。コマンドの前に数字を入力すると、その回数だけ繰り返します。2つ並んだキーは、続けて順番に押します。

キー動作
hjkl左・下・上・右へ1回分移動
⌥hjkl左上の角を固定してリサイズ
⇧hjkl右下の角を固定してリサイズ
12j繰り返し(例:12j で下へ12回分移動)
u/⌃rアクティブなウインドウの操作を取り消し / やり直し
0/$画面の左端 / 右端へ移動
gg/G上端 / 下端へ移動
zz画面の中央へ移動
⌃wHJKL画面の左 / 下 / 上 / 右半分に広げる
⌃wo画面全体に広げる
q1–9番号で選択;Q で次のページ;3秒間入力がなければ解除
m現在のウインドウをマーク/解除し、コマンドモードを終了
⌃⌥[/⌃⌥]マークしたウインドウを切り替え(通常モードでも使用可能)
⌃⌥dフォーカスされたウインドウ以外をすべて暗くする(通常モードでも使用可能)
//n/Nアプリ名で検索、次 / 前の候補へ移動
⌃⌥k/⌃⌥l次のディスプレイへ移動
,設定を開く
esc/.コマンドモードを抜ける

キーは ANSI 配列での物理的な位置で決まっているため、JIS 配列などほかの配列でも押す場所は変わりません。

よくある質問

Vimdow を入手

Vimdow 1.3.1 は macOS 14 以降の Apple Silicon と Intel Mac に対応しています。Developer ID で署名し、Apple の公証を受けています。

Vimdow.zip をダウンロードリリースノートソースからビルド

  1. ダウンロードした zip ファイルから、Vimdow.app を「アプリケーション」フォルダへ移します。

  2. アプリを開き、「システム設定」→「プライバシーとセキュリティ」→「アクセシビリティ」で許可します。

  3. ⌃⌥A を押してコマンドモードに入ります。

Homebrew でもインストールできます。アプリを開き、アクセシビリティの権限を許可してください:

brew install rath/tap/vimdow

変更履歴

アクセシビリティの許可について

ほかのアプリのウインドウを動かすアプリには、macOS がこの許可を求めます。Vimdow がこの許可を使うのはウインドウの操作だけです。ネットワークには接続せず、利用状況も収集しないので、Mac の外に情報が出ることはありません。