惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
V
V2EX
博客园_首页
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
H
Help Net Security
A
About on SuperTechFans
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Blog — PlanetScale
Blog — PlanetScale
W
WeLiveSecurity
云风的 BLOG
云风的 BLOG
D
Docker
Security Archives - TechRepublic
Security Archives - TechRepublic
Help Net Security
Help Net Security
N
News and Events Feed by Topic
Simon Willison's Weblog
Simon Willison's Weblog
G
Google Developers Blog
A
Arctic Wolf
T
The Blog of Author Tim Ferriss
博客园 - 叶小钗
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Google DeepMind News
Google DeepMind News
博客园 - 三生石上(FineUI控件)
aimingoo的专栏
aimingoo的专栏
Hacker News: Ask HN
Hacker News: Ask HN
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 司徒正美
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Privacy International News Feed
T
Troy Hunt's Blog
T
Tenable Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Recorded Future
Recorded Future
F
Fortinet All Blogs
D
DataBreaches.Net
B
Blog
T
Threat Research - Cisco Blogs
MyScale Blog
MyScale Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
The GitHub Blog
The GitHub Blog
Security Latest
Security Latest
M
MIT News - Artificial intelligence

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派 万字剖析:千问App深度体验报告(2026) - 少数派 在2026年,如何真正防止别人抄袭你的作品 - 少数派 怎么用 50 块搭个 AI 语音助手?我踩了 3 天坑 - 少数派 YeeroAI:让 AI 对话真正成为知识管理的一部分 - 少数派 爬泰山 - 少数派 「旅图显影」 App 更新:这次,我们补上了一点「手感」 - 少数派 假期出门太折磨?我的 23 条经验帮你规划惬意旅行 - 少数派 工作流会变吗 - 少数派 Claude Opus 4.6 怎么用最省钱?我测了 5 种方案 - 少数派 GPT Image 2 让图文并茂不再稀罕 - 少数派 用户侧出发——什么是AI,我要不要学习? - 少数派 找片、转存、整理、播放一条龙!让你的付费网盘值回票价 - 少数派 欢迎试用!日课一问2.0插件 - 少数派 自己做的MDeditor,原本想购买 Typora 试了两次支付不成功,干脆自己做一个 - 少数派 vibe coding了一个 3MB 的小工具,让 ~/Downloads 彻底告别混乱 - 少数派 因为受不了 Mac 的风扇策略,我做了一个风扇控制工具 - 少数派 别只怪模型 - 少数派 Warp 终端的 AI 功能怎么用?我测了一周的体验 - 少数派 AI 写代码老是出 bug?这 5 个配置我后悔没早知道 - 少数派 「新玩意」苹果出相机可能就这样:Sigma BF + 45mm F2.8 DG Contemporary - 少数派 一个面向2030年的AI操作系统是什么样子的:浅谈cola这款有灵魂的Agent - 少数派 别只看写代码 - 少数派 每天解决10个问题,还是一口气攻坚解决400个? - 少数派 AI 交易机器人怎么搭?我用 Claude 跑了一周实盘 - 少数派 Maptoposter Online:把你爱的城市画成艺术海报 - 少数派 Function Calling 怎么用?我测了 3 个模型发现差距真大 - 少数派 Legend Talk:我做了个 AI 圆桌,让 160 位思想家围着你的问题转 - 少数派 如何找到自己的蓝方?在小县城寻找压力测试 - 少数派 语音输入与软件接口|2026年聊AI时,我们都聊些什么(上) - 少数派 混动已经卖爆,纯电又来补刀——钛7闪充版简直“不讲武德” - 少数派 本月玩什么|朋友收藏、识质存在、沙罗周期 - 少数派 为什么要每天坚持输出? - 少数派 Claude API 挂了好几个小时,你的项目有备用方案吗? - 少数派 Function Calling 没你想的复杂——我用它做了个有点用的工具 - 少数派 登录系统立即播放视频或者图片音乐的软件 - 少数派 我为什么创建 FlipHTML5 下载工具 - 少数派 残局没电?多品牌外设电量统一管理软件EasyBluetooth已支持RTSS游戏内显示以及AIDA64 - 少数派 前往通义路的路 - 少数派 太好看了,媲美Sun的个人导航页,NAS部署星云门户 - 少数派 乌黑嘴唇“一键检测”上线了 - 少数派 派早报:Claude AI 接入多个创意软件生态、FILCO 生产方接手品牌等 - 少数派 【更新】BearCLI、Claude 连接器与 MCP 服务器 - 少数派 记了上千条流水,还是看不懂财务?我做了一个让 AI 读懂账本的工作台 - 少数派 MINI R56 升级原厂 Sport 模式 - 少数派 新玩意 | 一棵柠檬树(仿真版) - 少数派 Momenta的“物理AI”野望,需迈过“含摩量”这道关 - 少数派 网页直接投屏控制手机!NAS一键部署PandaScrcpy,流畅丝滑可远程。 - 少数派 众测|邀你一同探索随身 AI 硬件入口 YoooClaw C·ONE - 少数派 2050大会:分享时间是真诚 参会记 - 少数派 iPad 赋能电影创作:国内首部宣纸手绘长片《燃比娃》的幕后故事 - 少数派 AI的审美:我用 8 个大模型给 100 张旅行照片打分 - 少数派 普通人如何破圈?去参加一个本地协会 - 少数派 把极空间的图标全换了,主题DIY全攻略打造你的专属NAS桌面 - 少数派 电子便签墙,帮你实现便签自由 - 少数派 我如何用三个 CLI 工具取代文档创建需求 - 少数派 原来真的有人可以玩一辈子 - 少数派 社区速递 139 | 派友热议三月买了啥、复古单反尼康 Df 体验 - 少数派 06 作品的赏析与评价 - 少数派 TDS REVIEW|索尼 WF-1000XM6 降噪真无线耳机体验 - 少数派 35.98万起售的第二代腾势D9,我看重的不是堆料,而是不凑合 - 少数派 鼠须管 Squirrel 皮肤配置指北 - 少数派 从watch ultra2换到redmi watch6 - 少数派 派早报:阿里巴巴发布视频生成模型 HappyHorse 1.0 等 - 少数派 别迷信1M - 少数派 家人们天塌了!网盘“大封杀”,多个渠道多条路,NAS部署PanHub - 少数派 AI与人勾心斗角!NAS一键部署AI狼人杀,假日休闲必备。 - 少数派 电商必备!Comfyui工作流批量生图插件,一次生成12张!支持Nano banana pro模型 - 少数派 Comfyui工作流配置Gpt-image-2模型教程,0.03/张 - 少数派 OpenClaw第三方APi怎么配置?可使用Gpt-image-2模型 - 少数派 会员社区话题精选 Ep. 103 - 少数派
基于 yabai 和 skhd 的 macOS 窗口管理系统 - 少数派
2022-06-09 · via 少数派

从 2017 年暑假攒钱买了第一台 MacBook Pro 开始,我使用 macOS 已经五年了。随着工作学习需要,也逐渐开始使用多屏工作流。因为随时都需要开很多窗口,如 IDE、文本编辑工具、终端、IM 软件、邮件客户端等,稍没注意就很乱,得不停地切换来找到需要的窗口,很不方便,于是我开始了自己的窗口管理方案探索之路。

窗口管理方案需求

首先,我梳理了一下自己的窗口管理需求,列出了以下几个核心要点:

  • 每次打开一个新窗口后会在当前桌面自动进行智能分屏,如只有单窗口就全屏,两个窗口就二等分,以此类推;
  • 通过快捷键对分屏布局进行调整或恢复初始化布局;
  • 通过快捷键在不同窗口之间跳转;
  • 通过快捷键移动/交换不同窗口位置;
  • 通过快捷键便捷地对当前窗口作一些操作,如全屏、居中、发送到某个特定的桌面等;
  • 切换速度快。

针对这些需求,我开始调研目前比较流行的几款窗口管理工具。

窗口管理工具

市面上已经有很多相对成熟的窗口管理工具解决方案,比如 MagnetBetterTouchTool 附带的窗口吸附功能等,我都有购买使用,核心功能大同小异,总体来说还是觉得不太适合自己的工作流。

Magnet

Magnet 主要依赖于快捷键,尽管可以自己定制符合习惯的快捷键,但记忆成本很高,且如果有多台设备也需要用自己的帐号下载后重新配置才可以继续使用,并不方便。

BetterTouchTool

BetterTouchTool 则是依赖于鼠标移动到窗口各个触发角,优势是不需要自己设置快捷键,仅需将鼠标移动到窗口边缘即可实现分屏。但与 Magnet 有着同样的弊端是,每次打开一个新窗口后还是需要自己手动去实现分屏,在很忙或者窗口很多的时候也常常会忘记,不便于管理。

既然现有的软件都无法完全满足我的需求,作为一个爱折腾的程序员,目标转向了开源社区一些可高度定制化的解决方案。

开源解决方案

Hammerspoon

Hammerspoon 是一个强大的 macOS 自动化工具,可以通过自己编写一些 lua 脚本实现窗口管理功能,并且可以自定义快捷键,除了窗口管理外,还可以实现例如休眠控制、剪贴板工具等丰富的功能。我配置使用了一阵子后,发现和 Magnet 类似,也没办法很好地实现智能分屏(或许有写好的脚本,但需要对很多软件进行单独配置,实现起来比较麻烦),于是也弃用了。

yabai + skhd

经过一番调研,从 YouTuber Josh Medeski 的 <Blazing Fast Window Management on macOS> 视频中找到了一个解决方案,开源、免费、定制化强,仅需一个配置文件就可以完美实现我的所有需求。

yabai 是 macOS 内置窗口管理工具的一个开源拓展,可以通过命令行工具实现自由控制窗口和多显示器。它最主要的特色是使用 binary space partitioning 算法自动修改窗口布局,使我们能够专注于窗口内容,不需要主动进行管理,仅需打开对应软件窗口,实现自动编排,工作流不会受到干扰。

skhd 是一个 macOS 快捷键管理工具,能够通过配置文件来调用绑定其他程序/命令,如 yabai 的窗口管理命令,实现高度定制化的窗口操作。skhd 的实现很注重性能,响应速度很快。

我的窗口管理配置

yabai

安装与基础配置

yabai 的安装很容易,按照其官方 wiki 说明安装即可。

个人推荐通过 brew 进行安装,如果没有安装过 brew 可以先通过官方一键脚本进行安装。

/bin/bash -c"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装完 brew 后,即可继续通过命令进行安装与基本配置。打开终端,输入以下命令:

brew install koekeishiya/formulae/yabai

安装脚本插件:

sudo yabai --install-sa
sudo yabai --load-sa

启动 yabai 服务:

brew services start yabai

注:如果是 macOS Big Sur 或 Monterey 系统,因为需要通过 API 注入的方式来调用脚本,需要配置一下 root 权限与开机自启,官方也提供了详细的操作方法:

编辑 /private/etc/sudoers.d/yabai 文件:

sudo visudo -f /private/etc/sudoers.d/yabai

在打开的文件中添加以下内容:

<user> ALL = (root) NOPASSWD: <path> --load-sa

上述 <> 内的 userpath 可以通过 whoamiwhich yabai 命令获取。

完成以上配置后,后续在 yabai 的 .yabairc 配置文件中加入下述两行:

sudo yabai --load-sa
yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa"

自定义配置

yabai 的配置文件由用户在 $HOME 目录下的 .yabairc 文件进行管理,通过编辑器或命令行工具进行编辑:

vi ~/.yabairc

我已经将我的个人配置放在了 GitHub 代码托管平台,可以点击这里查看,并进行定制化修改。

我的配置基本仅在官方提供的示例上进行了部分修改,使用 bsp 算法智能分屏,并调整了 space 为 15,这样的间距更舒服。我还添加了一些自定义的规则,可以在打开系统配置、解压工具等无法自定义窗口的应用时候忽略。

整体呈现如下(以下效果为打开应用窗口后算法自动编排,且新增窗口会自动重排):

skhd

配置好了 yabai 后,我们已经实现了智能分屏,但是有时候算法提供的窗口位置不满足我们的需求,或是我们需要频繁在各个窗口之间切换/调整,那就需要用到 skhd 工具来定制一些快捷键配置。

安装

skhd 也可以通过 brew 包管理工具进行安装,很方便:

brew install koekeishiya/formulae/skhd

安装完成后启动即可:

brew services start skhd

自定义配置

与 yabai 类似,skhd 的配置是通过 $HOME/.skhdrc 配置文件进行管理的,通过编辑器或命令行工具进行编辑即可。

vi ~/.yabairc

我已经将我的个人配置放在了 GitHub 代码托管平台,可以点击这里查看,并进行定制化修改。简单来说,我配置了与 vim 快捷键操作逻辑类似的配置,实现了以下常用功能:

  • <Option> + hjkl 在不同的窗口之间聚焦
  • <Option> + <Shift> + hjkl 交换不同窗口
  • <Option> + <Shift> + 0 重置窗口布局
  • <Option> + <Shift> + <1~9> 快速将当前窗口移动到特定桌面
  • <Option> + f 全屏
  • <Option> + t 挂起窗口至屏幕中央/取消挂起窗口
  • <Option> + g 设置/取消窗口 space
  • <Option> + r 旋转窗口布局
  • <Option> + e 修改窗口切分方式

其中 hjkl 是 vim 编辑器常用的操作,大家也可以修改为上下左右或其他自己喜欢的键位。

完成以上配置后,我们就实现了 yabai 智能窗口管理以及通过简单的快捷键进行窗口操作,接下来我们对 macOS 系统进行一些配置,来优化一下我们的窗口管理系统吧。

macOS 桌面管理

macOS 提供了多桌面管理的强大功能,可以理解为每个桌面区域都是一个工作区,可以独立摆放不同的窗口,如下图所示:

我们可以通过桌面来区分自己的工作区,如桌面 1 作为自己开发 IDE、终端,桌面 2 作为浏览器查询、写文档,桌面 3 用于处理微信、邮件等通讯工具,桌面 4 作为休闲娱乐、视频播放等,这样我们仅需在几个桌面间切换,实现自己的工作流逻辑,而不需要担心窗口聚焦问题。

为了进一步优化,更快速地完成桌面之间的切换,我们可以通过 AlfredRaycast 等启动器来快速启动/聚焦应用,也可以通过 AltTabManico 等窗口切换软件提供的快捷键对已开启的应用进行快速切换。

除此之外,macOS 系统设置里也提供了自定义切换的快捷方式,我把 <Option> + <1~9> 修改为了特定的桌面,这样平时工作的时候按对应快捷键就可以迅速到对应的工作区,很快就能形成肌肉记忆。

打开 系统偏好设置 - 键盘 - 快捷键 - 调度中心,我们可以为不同的桌面设置对应快捷键,如果没有显示,则可以先打开 9 个空桌面进行配置,之后关闭桌面后仍会保留配置。

除此之外,还有一个我喜欢的小设置,打开 系统偏好设置 - 辅助功能 - 显示 - 显示器 - 减弱动态效果,这样会把不同桌面之间的窗口切换动画效果减弱,提高切换速度,配合我们的自动分屏和快捷键,实现快速强大的多工作区切换。我是速度效率优先,喜欢 macOS 动效的这一步可以不进行设置。

总结

以上就是我当前的 macOS 窗口管理解决方案,我是一个很爱折腾软件和各项配置的人,有时候常常为了一个小小的需求折腾好几天,一直追求自己的最佳实践。

也许很多配置并不能为我在之后的工作中节省非常多的时间,窗口整理切换也就是几秒钟的差异,但当我在日常工作学习中使用自己当初花了很多心思调研和优化的系统后,或当一个突发的需求使用到了我之前的一个折腾过的软件/配置时,会莫名地很开心、很有成就感,这大概就是折腾的意义吧,也希望大家都能享受到这样的快乐。

我在 GitHub 上维护了一个工具箱项目 『GitHub - pseudoyu/yu-tools』,记录了很多其他软硬件的选择,也在不断更新优化,有感兴趣的也欢迎交流,我也会逐步出一些对应的配置/使用教程。

参考资料

关联阅读

> 下载 少数派 2.0 客户端、关注 少数派公众号,解锁全新阅读体验 📰

> 实用、好用的 正版软件,少数派为你呈现 🚀