Hammerspoon 确实是一款功能极其强大的自动化工具。将 MBP 升级到 macOS 26.1 之后,由于不再提供启动台(Launchpad),我索性借此机会对常用应用做了一轮精简:把一些高频但相对“工具型”的需求,尽量用 Hammerspoon 脚本替代,以减少常驻应用数量并统一操作入口。当前主要落地在以下几个方向。
⸻
1. 替代右键助手(部分功能)
(1)快速新建文本文件
以往我常通过右键助手实现“右键新建文本.txt”。现在改为使用命令 + Hammerspoon 绑定全局快捷键,实现在指定目录或当前路径下快速创建文本文件。对日常临时记录、配置片段留存等场景更直接,也减少了对上下文菜单的依赖。
(2)按规范打包并归档 ZIP
工作中我需要将更新内容打包为 ZIP 发送给运维,同时也希望本地保存的压缩包具备清晰的归档结构,便于后续线上割接记录与本地包实现一一对应。此前右键助手支持“创建压缩包并保存到指定文件夹”,现在将这一流程改为通过脚本实现,并结合全局快捷键触发:
• 自动压缩指定内容
• 按预设规则命名
• 输出到固定归档目录
整体流程更可控,也更符合规范化管理需求。
⸻
2. 替代 Magent 等窗口管理工具
Hammerspoon 的窗口管理属于成熟玩法。通过自定义快捷键,可实现常见的窗口布局能力(如左右分屏、四象限、最大化、跨屏移动等),基本覆盖日常使用场景,因此可以直接替代 Magent 这类独立窗口管理应用,从而进一步减少常驻软件。
⸻
3. 状态栏定制:RSS 未读提醒与快速打开
我之前使用 Reeder Classic 订阅内容,主要原因之一是它提供了较好用的桌面小组件。由于 Reeder Classic 在 iOS 端收费,我转而使用开源的 NetNewsWire。NetNewsWire 在 macOS 侧缺少我习惯的小组件形态,于是我用 Hammerspoon 做了一个状态栏提示项:
• 每 1 小时请求一次订阅未读状态
• 状态栏显示未读数/状态
• 点击即可直接打开 NetNewsWire
相比桌面小组件,这种入口常驻可见、触发更快,实际使用反而更顺手。
⸻
4. 网络位置自动切换:按 Wi-Fi 环境调整配置
我习惯下班把电脑带回家(即使不一定使用)。公司内网需要配置固定 IP、网关等参数;居家网络则不需要。macOS 的“网络位置(Location)”机制可以解决这一问题,但手动切换操作频繁且容易忘记。
因此我通过脚本实现了根据当前连接 Wi-Fi 自动切换网络位置:
• 连到公司 Wi-Fi → 自动切换到公司网络位置
• 连到家庭 Wi-Fi → 自动切换到家庭网络位置
从体验上几乎做到了“无感切换”,省去了大量重复操作。
⸻
后续如果有新的高频场景或更通用的脚本方案,我会再继续补充与优化。