用 Vim 的词汇,管理你的窗口。

Vimdow 是一款由键盘驱动的 macOS 窗口管理器。按一个快捷键进入命令模式,然后用 h、j、k、l、计数和撤销来移动、缩放、贴边和切换窗口。鼠标留在原处。

获取 Vimdow在 GitHub 查看源码

演示内容

  1. Control–Option–A 进入命令模式。
  2. 每按一次 l,窗口向右移动一步。
  3. 12j 向下移动十二步。
  4. Option–l 固定左上角,向右加宽窗口。
  5. zz 让窗口在显示器上居中。
  6. Control–W 之后按 H,填满左半屏。
  7. u 撤销上一次更改。
  8. Escape 回到普通模式。

为什么做 Vimdow

写 Vimdow 的人从 1998 年起就一直用 Vim,能不碰鼠标就不碰。Mac 上的大多数操作都能靠键盘完成,唯独窗口管理不行:把窗口挪几个点,或者送到另一台显示器,总得把手从主键位上移开。

2013 年的第一版是一个小小的 Objective-C 应用,只为一个用户解决这一个问题。它没有发明一套新快捷键,而是把窗口操作映射到 Vim 已有的词汇上:hjkl 移动,数字重复,0 和 $ 到左右边缘,gg 和 G 到顶部和底部,zz 居中,u 撤销,/ 搜索。2026 年,它用 Swift 6 重写,并配上了经过测试的命令引擎。

Vimdow 和 Vim 一样是模式化的。它不是平铺式窗口管理器,也不会替你排列窗口,只是让你自己排列得更快。它出自一个人的偏好,也分享给所有手上有同样习惯的人。

使用方式

  1. 进入命令模式

    按下 ⌃⌥A 然后松开。在退出之前,按键会发给 Vimdow,而不是最前面的应用。

  2. 移动与缩放

    h j k l 按设定的步长移动当前窗口。先输入数字可以重复,按住不放会平滑连续移动,加上 Option 或 Shift 则变为缩放。

  3. 退出

    按 esc 或 . 回到普通模式,按键重新发给应用。

它能做什么

命令模式速查

默认用 Control–Option–A 进入。在命令前输入数字即可重复。并排显示的两个键依次按下。

按键操作
hjkl向左、下、上、右移动一步
⌥hjkl固定左上角缩放
⇧hjkl固定右下角缩放
12j重复:12j 向下移动十二步
u/⌃r撤销 / 重做当前窗口的上一次更改
0/$移到显示器的左 / 右边缘
gg/G移到顶部 / 底部边缘
zz在显示器上居中
⌃wHJKL填满左 / 下 / 上 / 右半屏
⌃wo填满整个显示器
q1–9聚焦带编号的窗口;再按 Q 显示下九个
//n/N按应用名称搜索;下一个 / 上一个结果
⌃⌥k/⌃⌥l移到上一台 / 下一台显示器
,打开设置
esc/.退出命令模式

按键和 Vim 一样遵循 ANSI 物理键位,因此在 JIS 等其他布局上位置不变。

获取 Vimdow

需要 macOS 14 或更高版本,以及辅助功能权限。

目前还没有二进制下载。Vimdow 需要用 Xcode 27 和 XcodeGen 从源码构建。README 详细说明了配置、构建,以及如何签名以便重新构建后仍保留辅助功能权限。

构建说明发布版本

关于辅助功能权限

macOS 要求所有会移动其他应用窗口的应用申请此权限。Vimdow 只用它做这一件事:不访问网络,没有分析统计,没有任何数据离开你的 Mac。