小岳
2026-05-20
点 赞
0
热 度
1
评 论
0

espanso:一个用 Rust 写的跨平台文本扩展器,让你告别重复打字

  1. 首页
  2. espanso:一个用 Rust 写的跨平台文本扩展器,让你告别重复打字

文章摘要

摸鱼小助手

不知道你有没有这种感觉——每次写邮件都要重复打「以下是我司联系信息:xxx」,每次填表单都要手动输入公司地址,每次在终端里敲长命令都要靠肌肉记忆。

我也是。直到我开始用 espanso,一个开源的文本扩展工具。

它解决什么问题

简单说,espanso 是一个「快捷短语」工具。你输入一段短触发词,它自动替换成一大段文字。

举几个我每天都在用的例子:

触发词          →  展开结果
:sign           →  陈小明 | 产品经理 | 138xxxx8888
:addr           →  北京市朝阳区xxx大厦B座10层
:greet          →  您好!感谢您的反馈,我会尽快处理。
:ssh            →  ssh -i ~/.ssh/key.pem ubuntu@your-server.com

看起来简单?用起来是真香。

截图感受一下

在终端里使用 espanso 的样子——你可以看到触发词如何实时展开:

espanso in terminal

跨平台支持——macOS、Windows、Linux 全部支持,配置文件通用:

espanso cross-platform

为什么是 espanso

市面上文本扩展工具其实不少,TextExpander、Espanso、Bunch 等等。我之前买过 TextExpander,但月费制让我很膈应——一个本地工具凭什么收订阅费?

espanso 让我种草的理由:

1. 开源免费,数据在自己手里

Rust 写的,性能好,内存占用极低。没有云服务,所有配置存在本地 YAML 文件里。想迁移?复制粘贴就行。

2. 支持变量和脚本

不只是简单的文字替换,你可以:

# 当前日期
:date   →  2026-05-20

# 剪贴板内容
:clip   →  (当前剪贴板内容)

# 运行脚本返回结果
:shell  →  $(ls -la ~/Documents)

3. 跨设备同步配置

配置文件是纯文本,用 Git 管理或者放在 iCloud/Dropbox 里,不同设备自动同步。没有封闭生态。

4. 触发词智能提示

打字时会有一个小弹窗提示匹配的触发词,不用记全部——记住前缀就行。

5. 窗口级过滤

可以设置某些 App 不触发扩展,比如密码管理器、游戏——不会干扰正常工作流。

快速上手(5 分钟跑起来)

macOS

brew install espanso
espanso install
espanso daemon

Windows (winget)

winget install espanso

Linux

# Arch
sudo pacman -S espanso

# Ubuntu/Debian
sudo apt install espanso

安装完成后,配置文件在 ~/.config/espanso/default.yml,用任意编辑器打开配置。

我的配置示例

# ~/.config/espanso/default.yml

matches:
  # 邮件签名
  - trigger: ":sig"
    replace: |
      陈小明
      产品经理 @ XXX 公司
      Email: chenxiaoming@xxx.com
      手机: 138xxxx8888

  # 日期快捷输入
  - trigger: ":today"
    replace: "{{date}}"

  # 常用命令
  - trigger: ":gs"
    replace: git status
  
  - trigger: ":ga"
    replace: git add .

  # 剪贴板
  - trigger: ":clipboard"
    replace: "{{clipboard}}"

  # 退出语句
  - trigger: ":bye"
    replace: |
      感谢您的耐心!
      
      陈小明
      
      --
      此邮件由 espanso 自动发送 :)

{{date}}{{clipboard}} 是内置变量,可以直接用。

高级玩法

配合 Shell 脚本

- trigger: ":weather"
  replace: "{{shell: curl -s wttr.in/Shanghai?format=3}}"

输入 :weather,自动显示上海天气——当然前提是有网。

图片扩展(需要一定配置)

- trigger: ":logo"
  replace: "$IMAGES/logo.png"

把常用图片定义成触发词,适合需要频繁插入特定图片的场景(比如设计师)。

分组管理

# 默认配置
matches:
  - trigger: ":sig"
    replace: "默认签名"

# 通过 .yml 导入其他分组
include:
  - path: work.yml
  - path: personal.yml

把工作和生活分开,用 espanso switch --group work 切换。

适合谁用

✅ 强烈推荐:

  • 每天要打大量重复文字的人(客服、销售、行政)
  • 开发者(快速输入长命令、代码模板)
  • 写作者(常用固定句式)
  • 表单填写者(固定地址、银行账号等信息)

❌ 可能不合适:

  • 打字本来就很快的人(边际收益低)
  • 完全不想配置的人(需要一点学习成本)
  • 需要复杂富文本的(比如要在不同地方插入不同格式)

我的感受

用了 espanso 大半年,我每天大概节省 30-40 分钟的重复打字时间。最爽的是写技术文档——以前要查了复制,现在 :docker 直接展开完整的 docker-compose 模板。

配置文件越来越长,300+ 条触发词,是真的停不下来。

相关链接

  • GitHub:https://github.com/federico-terzi/espanso
  • 官网:https://espanso.org
  • 文档:https://espanso.org/docs/

--

实测:macOS 下首次安装需要在「系统偏好设置 → 隐私与安全性」授权键盘监控,放心,espanso 是开源的,代码可查。


本站站长,主角光环,怎么滴,你还想攻击你的站长吗,真是好big的狗胆

小岳

intp 逻辑家

站长

具有版权性

请您在转载、复制时注明本文 作者、链接及内容来源信息。 若涉及转载第三方内容,还需一同注明。

具有时效性

目录

欢迎来到摸鱼干货栈,这里为您提供开源与摸鱼源码

64 文章数
5 分类数
0 评论数
5标签数
最近评论