2026 年使用 Raycast 作为文本扩展器:免费替代 TextExpander
发布于 2026 年 3 月 9 日 • 阅读需 10 分钟
TextExpander 每月 3.33 美元。aText 一次性 4.99 美元,但已经很久没有更新了。Typinator 售价 24.99 美元。Espanso 免费,但需要维护 YAML 配置文件。与此同时,如果你已经在 Mac 上运行 Raycast,那么这个内置的文本扩展引擎功能齐全,而且完全免费。
Raycast 片段可以让你输入短关键词,比如 ;;sig,立刻扩展成完整的邮件签名、自动填充今天日期的代码模板,或者带有光标定位的 PR 描述。本文将带你逐步淘汰付费文本扩展器,转向 Raycast。如果你还不了解 Raycast 是什么,建议先从那里开始。
开发者为何从 TextExpander 转向 Raycast
在 macOS 上,TextExpander 曾经是文本扩展的黄金标准,持续了十多年。但如今形势已变,开发者转向 Raycast 的理由如下:
- 无需额外运行应用 — 如果你把 Raycast 当作启动器,片段功能已经内置,少一个菜单栏图标、一条占用内存的进程。
- 无订阅费用 — Raycast 片段在免费计划下完全可用。片段数量、扩展次数不限。
- 核心功能相同 — 关键词触发、自动扩展、日期/时间/剪贴板/光标的动态占位符,覆盖了 90% 的实际使用场景。
- 更适合开发者 — Raycast 面向开发者,片段创建界面快捷、键盘驱动、无需在臃肿的设置面板中摸索。
TextExpander 唯一仍占优的是高级功能,例如填充表单(片段触发时弹出字段)、嵌套片段(引用其他片段)和 JavaScript 宏。如果你每天都离不开它们,TextExpander 仍是首选。否则,Raycast 已经绰绰有余。
在 Raycast 中设置文本扩展
上手只需不到一分钟。如果你已经 安装了 Raycast,就可以直接开始。
- 用
Cmd+Space(或你设置的快捷键)打开 Raycast - 输入 “Create Snippet” 并按回车
- 给片段起个 名称(例如 “邮件签名”)
- 设定一个 关键词触发(例如
;;sig) - 填写 扩展文本 — 触发关键词后要替换的内容
- 保存
现在,无论在 VS Code、Slack、Mail、Chrome、终端还是其他任何允许输入的 App 中输入 ;;sig,关键词立刻消失,被完整的片段内容替代。无需确认对话框,也没有延迟,只是稳稳工作。
;; 前缀是默认习惯,但你可以用任何前缀。选一个你日常不会误输入的,这样片段不会误触发。
动态占位符:片段的强力来源
静态文本替换只是基础。真正让 Raycast 片段对开发者工作流程有价值的,是 动态占位符——扩展时实时解析的变量。想深入了解所有片段能力,请阅读我们的 Raycast 片段完整指南。
日期与时间
{date}— 系统区域设置下的当前日期{date:YYYY-MM-DD}— ISO 格式(如 2026-03-10){date:MMMM D, YYYY}— 长格式(如 2026 年 3 月 10 日){time:HH:mm}— 24 小时制时间(如 14:30)
剪贴板
{clipboard} 占位符会插入你最近复制的内容。复制一个链接,输入 ;;mdlink,它就会扩展成 [{cursor}]({clipboard}) —— 自动填好了链接地址,光标准备好输入链接文字。
光标位置
{cursor} 告诉 Raycast 扩展后光标要落在哪。任何需要在特定位置继续输入的模板都离不开它。
随机 UUID
{uuid} 每次触发都会生成一个新的 UUID,适合测试数据、占位符 ID 或模拟内容。
开发者最常用的片段示例
我使用 Raycast 作为主要文本扩展工具已超过一年,以下是我最常触发的片段。挑几个适合你工作流的,直接偷用。
代码模板
;;log→console.log('{cursor}', );— 具标签的调试日志;;imp→import { {cursor} } from '';— ES 模块导入;;af→const {cursor} = async () => { };— 异步箭头函数;;try→ 包含console.error的 try/catch 代码块;;ust→const [{cursor}, set] = useState();— React useState;;uef→useEffect(() => { {cursor} }, []);— React useEffect;;pyf→def {cursor}():\n pass— Python 函数模板
Git 命令与 PR 模板
;;commit→feat({cursor}):— 约定式提交前缀;;fixc→fix({cursor}):— 修复提交前缀;;wip→WIP: {cursor} [skip ci];;pr→ 包含 “变更内容”、“原因”、“如何测试” 与 “截图” 的完整 PR 模板,且通过{date:YYYY-MM-DD}自动填入日期;;lgtm→LGTM! Looks good to merge. Nice work on {cursor}.
邮件与常用回复
;;email→ 你的邮件地址;;sig→ 含姓名、职称与链接的完整邮件签名;;thanks→Thanks for the quick response! {cursor};;ooo→ 含{date}返回日期的离开办公室回复模板;;followup→Hi {cursor},\n\nJust following up on our conversation from {date:MMMM D}. Let me know if you have any questions.\n\nBest,
会议与日常工作模板
;;standup→## Standup {date:YYYY-MM-DD}\n**Yesterday:** {cursor}\n**Today:**\n**Blockers:** None;;meeting→ 含日期、与会人员、议程、行动项的会议记录模板;;retro→ 含 “做得好”、“可改进”、“行动项” 的迭代回顾模板;;now→{date:YYYY-MM-DD} {time:HH:mm}— 立即时间戳;;todo→- [ ] {cursor}— Markdown 勾选框
Raycast vs TextExpander vs aText:全面对比
以下是 2026 年 Raycast 与最流行付费文本扩展工具的对比。
| 功能 | Raycast | TextExpander | aText |
|---|---|---|---|
| 价格 | 免费 | $3.33/月 | $4.99 一次性 |
| 平台 | macOS | macOS、Windows、iOS | macOS |
| 自动扩展 | ✓ | ✓ | ✓ |
| 日期/时间变量 | ✓ | ✓ | ✓ |
| 剪贴板变量 | ✓ | ✓ | ✓ |
| 光标定位 | ✓ | ✓ | ✓ |
| 填充表单 | — | ✓ | ✓ |
| 嵌套片段 | — | ✓ | — |
| JavaScript/脚本宏 | — | ✓ | — |
| 富文本 / 图片 | — | ✓ | ✓ |
| 云同步 | Pro 计划 | ✓ | iCloud |
| 团队共享 | 团队计划 | ✓ | — |
| 与启动器捆绑 | ✓ | — | — |
| 片段导入 | ✓ | ✓ | ✓ |
结论:Raycast 在所有核心文本扩展功能上与 TextExpander 不相上下。TextExpander 的强项——填充表单、嵌套片段、脚本——属于高阶用户功能,大多数开发者几乎用不到。如果你每年为 TextExpander 支付 40 美元,而主要用于模板文本扩展,那就是多花冤枉钱。
如何将 TextExpander 片段导入 Raycast
已有大量 TextExpander 片段?无需重新手动创建。迁移步骤如下:
- 从 TextExpander 导出:打开 TextExpander → 文件 → 导出 → 选择 CSV 格式,记录缩写、内容和标签。
- 导入 Raycast:打开 Raycast → 输入 “Import Snippets” → 选择你的 CSV 文件。
- 映射字段:将 TextExpander 的列(缩写 = 关键词、内容 = 片段正文、标签 = 名称)映射到 Raycast 字段。
- 审核与调整:纯文本片段导入时不会出错。使用 TextExpander 专用填充字段(
%filltext%)或嵌套引用的片段不能自动迁移——需要简化或使用 Raycast 的{cursor}与{clipboard}占位符重建。 - 在不同应用中测试几个片段,确保它们按预期工作。
如果来自 Espanso,请导出 YAML 配置并手动在 Raycast 中重建片段。虽然没有直接导入路径,但 Espanso 配置可读性高,小型库迁移起来相对简单。
使用分类组织片段
当片段超过 30 个时,组织方式很重要。Raycast 允许你将片段分组为 类别(也称为集合)。开发者推荐的结构:
- 代码 — 语言专属模板、console.log 模式、函数模版
- Git — 提交前缀、PR 模板、分支命名约定
- 沟通 — 邮件签名、Slack 回复、代码审查评论
- 会议 — 站会模板、回顾格式、会议记录结构
- 个人 — 地址、电话号码、邮箱、常用链接
分类不会改变关键词行为——每个片段仍在任何地方正常触发。但在 Raycast 中打开“搜索片段”时,你可以按组筛选,而不用在未排序列表中滚动。它也让导出、与团队成员共享特定集合更方便。
片段的云同步与 Pro 功能
Raycast 免费计划中的片段存储在本地 Mac 上。对仅使用一台机器的人来说,这已足够。但如果你在个人 MacBook 和办公 Mac 之间切换(或刚迁移设备),片段不会自动同步。
Raycast Pro 提供片段云同步,创建或编辑的每个片段都会立即在所有 Mac 上可用。结合 Pro 的其他功能 — AI 命令、无限扩展、定制主题 — 对进阶用户来说非常值得升级。
当前最佳 Raycast Pro 优惠 可获得 80% 折扣并含 14 天免费试用。不需要优惠码 —— 通过我们的链接自动应用折扣。
充分发挥 Raycast 文本扩展的技巧
- 保持关键词简短且易记 —
;;sig比;;emailsignature更快。关键在于速度。 - 使用一致的前缀策略 —
;;c-代表代码,;;g-代表 Git,;;e-代表邮件。记忆关键词更容易。 - 结合剪贴板与光标 — 复制上下文后触发同时包含
{clipboard}与{cursor}的片段,即时生成模板内容。 - 每季度审查 — 删除三个月未用的片段。精简的库速度更快。
- 用“搜索片段”作为参考 — 忘记关键词?打开 Raycast,输入 “Search Snippets”,浏览或搜索整个库。
- 与剪贴板历史搭配 — Raycast 的剪贴板历史可以调出旧复制内容,再触发使用
{clipboard}的片段。强力组合。
想进一步优化 Raycast 工作流?看看我们的 Raycast Pro 评测 和 开发者必备 Raycast 扩展合集。
定价:你实际上需要支付多少
下面是专门针对文本扩展的真实花费:
- 单台 Mac,个人使用:Raycast 免费。无限片段,支持所有动态占位符。费用:0 美元。
- 多台 Mac,需要云同步:Raycast Pro。片段可在所有设备之间同步,还附带 AI、主题等功能。费用:起价 8 美元/月(或通过 当前折扣 显著更低)。
- 团队级片段库:Raycast Teams。共享片段自动同步到所有成员。费用:按席位定价。
相比之下,TextExpander 个人版每月 3.33 美元,团队版每月 8.33 美元 —— 只是为了文本扩展。Raycast 则是一款集合了数十种功能(而你很可能已经在使用)的工具,其中的文本扩展只是其中之一。
常见问题解答
Raycast 可以完全取代 TextExpander 吗?
对于大多数用户来说,可以。Raycast 片段处理关键词触发的文本扩展、动态占位符(日期、时间、剪贴板、光标位置)和片段组织——所有这些都是免费的。TextExpander 在填充表单、嵌套片段和 JavaScript 宏方面仍有优势。但如果你主要使用文本扩展来处理模板代码、邮件模板以及快捷方式,Raycast 足以满足你的所有需求,无需订阅。
Raycast 文本扩展是免费的吗?
是的。Raycast 片段完全免费,创建片段数量没有限制。关键词触发、自动扩展、动态占位符和片段分组在免费计划下都可用。Raycast Pro 提供云同步,让你的片段在多台 Mac 上保持一致,团队计划则可以共享片段库。
如何将 TextExpander 片段导入 Raycast?
将 TextExpander 片段导出为 CSV 文件,然后在 Raycast 的片段设置中使用导入功能。将 CSV 列(缩写、内容、标签)映射到 Raycast 字段并审核导入的片段。纯文本片段可平滑迁移。使用 TextExpander 专用功能(如填充字段或嵌套扩展)的片段可能需要手动调整。
Raycast 支持哪些动态占位符?
Raycast 片段支持多个动态占位符:{date} 与 {date:FORMAT} 可输出任意格式的当前日期,{time} 与 {time:FORMAT} 提供当前时间,{clipboard} 插入剪贴板内容,{cursor} 设置扩展后光标位置,{uuid} 生成随机 UUID。这些占位符可以在同一个片段内组合,构建强大的模板。
Raycast 文本扩展在所有应用中都有效吗?
Raycast 片段几乎在所有接受文本输入的 macOS 应用中都有效——代码编辑器如 VS Code 和 IntelliJ、终端如 iTerm2 和 Warp、浏览器、邮件客户端、Slack、Notion 等。Raycast 在系统范围监控按键,一旦检测到关键词就立即替换为扩展文本。