
如果你使用 Mac 工作,可能经常遇到这样的场景:
给客户回邮件,开头结尾永远是那几句客套话,每次都要重新打一遍;填表格时,邮箱、手机号、公司地址反复输入,一天下来能敲几十次;写代码时,同一段样板代码换个项目又要重写;聊天时想发个 👍,还得先把 emoji 面板翻出来。
这些输入都不难,难的是它们一直在重复。系统自带的"文本替换"功能理论上能解决,但它只能做最简单的纯文本替换,在很多第三方软件里还经常失灵。老牌的文本扩展工具大多要付费,免费的又往往年久失修。
今天推荐一款免费开源的文本扩展工具:Espanso。
它做的事情很简单:在任何软件里,你敲下几个字母组成的缩写,它帮你把预设好的整段文字自动"打"出来。
01|它不是输入法,而是一个"缩写翻译官"
Espanso 的核心概念叫 Match(匹配规则):一个 trigger(触发词)对应一段 replace(替换内容)。
比如定义一条规则:触发词 :email,替换内容是你的邮箱地址。之后在浏览器、邮件客户端或聊天窗口敲下 :email,它就会瞬间变成完整地址。

:espanso,自动展开为 "Hi there!"。图源:项目官方文档。冒号前缀是约定俗成的做法:日常打字几乎不会以冒号开头连敲字母,所以 :br、:addr 这样的触发词既好记,又不容易误触。
需要说明的是,Espanso 不是输入法,也不做联想和纠错。输入法的联想是"猜你想说什么",Espanso 是"你说什么我都照办"。
02|关键在于"全局":在任何软件里都能用
很多编辑器自带代码片段(snippets)功能,VS Code、Xcode 都有。但它们的生效范围只限编辑器内部:切到浏览器填表单、切到聊天软件回消息,片段就用不了了。
Espanso 工作在系统层面。它常驻后台监听键盘输入,一旦识别到触发词,就把替换内容"键入"到当前获得焦点的输入框里。浏览器地址栏、终端、PDF 阅读器的备注、聊天窗口——只要是能打字的地方,它都生效。
这是它和编辑器片段最本质的区别:片段跟着软件走,Espanso 跟着你走。

03|它不只是替换文字:日期、脚本和表单都能展开
如果只能做静态替换,它和系统自带功能拉不开差距。它的替换内容支持"变量",这才是关键。
动态日期是最常用的变量。定义一个 :today,展开的是当天日期;:now 展开当前时间。写日报、周报、会议纪要时,日期再也不用手动敲。
脚本输出是给进阶用户准备的:替换内容可以是一段 shell 或 Python 脚本的执行结果,比如敲 :ip 打出本机内网 IP,敲 :uuid 生成一个新的 UUID。
表单则解决"半固定"文本的问题。比如一封催款邮件,只有称呼、金额、日期三处要改,触发后会弹出小表单,填完三个字段再生成完整邮件。
它甚至支持图片展开和正则表达式触发:用正则定义触发规则,可以匹配一整类写法,而不用逐个定义。
04|缩写太多记不住?搜索栏可以兜底
Espanso 提供了全局搜索栏:按下 Option+Space 呼出,输入关键词模糊搜索所有规则,回车即插入。想不起缩写时,靠"搜"也能把它找出来。

另外:误触展开后立刻按 Backspace 可撤销;在输入密码等场景,可从菜单栏一键暂停。
05|配置是文本文件:对极客友好,对新手是一道门槛
这是 Espanso 最有争议的一点:它没有"点点鼠标配规则"的图形主界面,所有规则都写在 YAML 文本文件里。
新规则加在 match/base.yml,长这样:
- trigger: ":br" replace: "Best Regards,\nJon Snow"
保存后自动热重载,不用重启。规则多了可按用途拆成多个文件,也支持按应用分别生效(比如在 Slack 里禁用 emoji 展开)。
对习惯文本配置的人来说,这是优点:规则就是文件,可以用 git 做版本管理、备份和分享。官方还维护了一个 Hub(规则包商店),比如 espanso install basic-emojis,装完敲 :ok 就能打出 👍。
对不写代码的人来说,这确实是门槛。YAML 对缩进敏感,少个空格规则就失效。虽然有 EspansoEdit 这样的第三方图形编辑器,以及 VS Code 的 schema 校验插件(写错会有语法提示),但"打开一个 yml 文件写规则"这一步,本身就会劝退一部分人。

平心而论,Espanso 是把"易用性"换成了"透明和可控"。愿不愿意做这笔交换,是选择它的第一个分水岭。
06|它故意不做的事:不上云、不要账号
Espanso 把 "Privacy-first" 写在特性第一位:100% 本地运行,没有遥测,没有账号体系,所有规则都只存在你电脑上的配置文件里。
好的一面是:键盘输入是权限最高的一类数据,而这些数据从不离开本机;没有云服务器,就没有泄露和滥用的位置。
另一面是:它也没有官方的云同步。想在两台电脑上用同一套规则,得自己把配置文件放进 iCloud Drive,或者用 git 同步。
值得一提的是,2026 年的新版本加入了可选的使用统计(opt-in,默认关闭)。连统计都要做成"默认不开",可见作者对"不打扰"的坚持。
07|它适合谁?又不适合谁?
如果你的工作符合下面任何一条,Espanso 值得安装:
- 客服、运营、HR、销售:每天回复大量固定话术的人,省下的击键数最直观;
- 开发者:样板代码、常用命令、UUID、时间戳,一套规则全系统通用;
- 写文档、写周报的人:日期变量和表单模板能省掉很多机械劳动;
- 对隐私敏感的人:键盘监听类工具里,本地运行、无账号、全开源的并不多。
但下面几种情况,它可能不是你的菜:
- 只想"装完点几下鼠标就用":它的配置方式注定需要一点学习成本;
- 只需要一两个简单替换:系统自带的文本替换够用了,不必上重武器;
- 指望它做中文联想、云词库:它不是输入法,不做"猜词"这件事。
08|免费开源,而且一直在维护
Espanso 在 GitHub 开源(GPL-3.0),2019 年发布至今。项目完全免费,没有付费版、没有功能锁、没有订阅,捐赠全凭自愿。
2026 年仍在持续发版(2.3.x 系列),三平台维护。考虑到它监听键盘的高权限属性,"一直在维护"本身就是一种安全感。
官方资料:
- 官方网站:https://espanso.org/;
- GitHub 源码:https://github.com/espanso/espanso;
- 使用文档:https://docs/;
- 规则包商店:https://hub.espanso.org/。
最后聊聊我的看法
Espanso 最值得推荐的地方,不是功能多,而是它对"文本输入"这件事的理解:重复输入是一种税,而收税的不该是你的手指。
它用"缩写"这个最朴素的交互,解决了一个真实存在但很少被正视的痛点。代价是配置不够亲民——但它没有为"好上手"做一个半吊子的图形界面,而是把能力完整交给你,用到多深你自己决定。
如果你每天有一部分时间花在重复打字上,Espanso 值得你花十分钟配置,然后把它忘掉——让它替你记得。
推荐指数:★★★★☆(4.5/5)
安装和使用
要求 macOS 10.13 或以上(Intel 和 Apple Silicon 都支持),去 GitHub Release 页下载 DMG,拖进应用程序文件夹就行:
项目地址:https://github.com/espanso/espanso
Homebrew:brew install espanso
如果没有外网的,可以直接我们公众号下载,会更方便!
首次打开时,macOS 会要求授予"辅助功能"权限(如下图),这是它监听键盘所必需的,不授权就无法工作,授权后建议重启一次 Espanso。
