AeroSpace 虚拟工作区配置与操作指南
本节为 modules/home-manager/darwin-files/aerospace 的项目说明。先看下方摘要,再按需展开具体专题。
展开完整 README 原文
AeroSpace 虚拟工作区配置与操作指南
本目录包含了基于 AeroSpace 的 macOS 虚拟工作区(Virtual Workspaces)核心配置与高级扩展指南。
1. 架构与设计原则
- 纯浮动工作区模式 (Pure Floating Mode):
- 全局禁用了自动平铺(Tiling),保留 macOS 原生自由拖拽、缩放窗口的浮动习惯。
- 仅利用 AeroSpace 强大的虚拟工作区树与内存隐藏/唤醒机制,实现类似 Linux i3 / Hyprland 的多桌面切换体验。
- 彻底解决 macOS 原生 Spaces 缺陷:
- 零动画瞬间切换(1~5ms 瞬时换帧,无任何左右滑动延迟);
- 窗口绝对不跟随(切工作区时,当前窗口 100% 留在原地,绝不跟随跨工作区);
- 前台应用切 Tab 屏蔽(
Cmd+1~9 不会触发浏览器/编辑器的标签页切换);
- 完全无需禁用 SIP(基于官方 Accessibility API,系统升级稳定)。
2. 快捷键速查表 (Cheat Sheet)
(1) 跨工作区切换与窗口传送
| 快捷键 |
对应操作 |
行为说明 |
Cmd + 1 ~ 9 |
workspace 1 ~ 9 |
秒切工作区 1 ~ 9(当前程序绝不跟随,前台应用不切 Tab) |
| `Option(Alt) + `` |
workspace-back-and-forth |
在“最近使用的工作区”与“当前工作区”之间来回闪切 |
Cmd + Shift + 1 ~ 9 |
move-node-to-workspace N --focus-follows-window |
将当前窗口发送到工作区 N(并跟随切换过去) |
Cmd + Ctrl + 1 ~ 9 |
move-node-to-workspace N |
静默将当前窗口发送到工作区 N(自己留在原地) |
(2) 窗口状态与焦点闪切
| 快捷键 |
对应模块 |
行为说明 |
Option(Alt) + F |
Hammerspoon 增强 |
切换窗口最大化 / 还原(完美记忆原始坐标 X, Y 与尺寸,绝不跑偏到左上角) |
Option(Alt) + Tab |
AeroSpace |
在“当前窗口”与“上一个激活的窗口”之间瞬间来回闪切(支持同工作区与跨工作区,如工作区 2 的 Kitty $\leftrightarrow$ 工作区 4 的 Telegram) |
Option(Alt) + Shift + Tab |
AeroSpace |
同上(窗口级 Back-and-Forth 闪切) |
(3) 配置重载
| 快捷键 |
功能 |
Cmd + Shift + R |
重新加载 aerospace.toml 配置文件 |
3. 应用自动归位路由 (App Routing)
当前已配置的开机/启动自动归位规则:
| 应用程序类别 |
包含软件 |
自动归位目标 |
窗口模式 |
| 终端开发环境 |
Kitty (net.kovidgoyal.kitty), Alacritty (org.alacritty) |
工作区 2 |
纯浮动 |
| 虚拟机与沙箱 |
UTM (com.utmapp.UTM) |
工作区 3 |
纯浮动 |
| 社交通讯软件 |
Telegram (ru.keepcoder.Telegram), WeChat 微信 (com.tencent.xinWeChat), QQ (com.tencent.qq), Discord (com.hnc.Discord) |
工作区 4 |
纯浮动 |
| 其他常规应用 |
浏览器、编辑器、音乐等 |
当前激活工作区 |
纯浮动 |
4. 文件清单与部署目标
| 源文件 (nixos-config) |
部署目标 |
说明 |
modules/home-manager/darwin-files/aerospace/aerospace.toml |
~/.config/aerospace/aerospace.toml |
AeroSpace 主配置文件 |
modules/home-manager/darwin-files/aerospace/README.md |
本文件 |
模块说明、快捷键与高级玩法手册 |
5. 常用维护命令
# 检查配置语法是否正确
aerospace reload-config --dry-run
# 立即应用并重新加载配置
aerospace reload-config
# 查看当前所有工作区与窗口分布
aerospace list-workspaces --all
aerospace list-windows --all