MacOS 效率提升神器之 Hammerspoon

Jun 20, 20233 min read

此文最后修改于 395 天前,可能包含很多不再适用的废话,阅读需谨慎~

Hammerspoon 是一个 macOS 上的自动化工具,简单来说它允许你通过 lua 脚本控制系统亮度、声音、鼠标、键盘、窗口、wifi 等...

怎么安装

可以直接在 GitHub Release 下载,解压后将程序拖入到 /Applications 文件夹中即可,打开后你需要授权系统辅助功能权限

怎么使用

Hammerspoon 会生成一个 ~/.hammerspoon/init.lua 文件,这便是编写脚本的地方,lua 是一个很简单的脚本语言,你可以在此处学习一下简单语法,而后可以跟着官方教程快速入门

一个 Hello World 示例

LUA

该脚本意思是按下 + + + W 时在屏幕上显示一句 Hello World!

Hammerspoon 对外暴露了大量 api,就像瑞士军刀一样,你可以在此处找到所有的 api 索引,至于能用它们实现什么就看各位的创意了

Spoon

Hammerspoon 中有个 Spoon 概念,在此处学习更多, 它是为了便于用户间共享脚本而存在的,作者可以将自己的脚本封装成别人可调用的方式(类似插件),而后其他人便可将该 Spoon 集成进自己的脚本中, 你可以从此处访问到官方维护的所有 Spoons

为什么不是 Alfred 或 Raycast

AlfredRaycast 也是 macOS 上大名鼎鼎的软件,咋还需要一个 Hammerspoon 呢?

  1. Alfred 不能根据某个 App 活动触发某些任务,它更多使用场景是用热键触发某些任务
  2. Raycast 我感觉不好用,尽管它颜值高,但是它执行任务需要多一步这是最蛋疼的,况且我也不知道它是否可以执行自动化任务

自用脚本

分享一些我自己的脚本

  • input-method-indicator - 给输入法设置一个指示器,这样应用全屏时也能一眼看到你此时的输入法是哪个了,可以取代 ShowyEdge
  • auto-switch-input-method - 根据 App 切换对应输入法,再也不用担心把「npm」打成「你配吗」
  • ring - 环形 app 启动器,快速访问常用 app,绝对能提升效率
  • caffeinated - 防止屏幕进入休眠
  • wifi-mute - 连接到公司 wifi 后自动静音扬声器
  • defeating-paste-blocking - 有些网站禁止粘贴,该脚本可以模拟系统输入事件绕过限制

查看脚本源码 👉 https://github.com/xiaojundebug/hammerspoon-config

结语

自从用了 Hammerspoon 后我已经将原本的 Input Source ProShowyEdge 给卸载了

浏览量

最后修改于

Jun 20, 2023
Made withbyXiaojun Zhou