Espanso:开源跨平台文本扩展工具上手指南
介绍基于 Rust 开发的跨平台开源文本扩展工具 Espanso,带你了解其核心功能、配置方法与快速上手技巧。
是什么
Espanso 是一款由 Federico Terzi 发起、采用 Rust 语言编写的开源跨平台文本扩展工具。所谓文本扩展工具,是指在后台静默运行的实用程序,它能实时监听输入的指定关键词,并立即将其替换为预设的展开内容。用户无需手动重复输入冗长的邮件回复、样板段落或复杂的技术代码片段,只需键入简短的触发缩写,应用便会自动将其转换为完整文本。
该项目采用隐私优先的架构设计,完全在本地设备上运行,既无后台追踪,也不会通过远程遥测监控用户的击键操作。虽然项目最初由 Federico Terzi 开发,但目前由一个小型核心团队负责维护,成员包括 Federico Terzi、Archigos、首席维护者 Auca、n8henrie 与 smeech,同时还有更广泛的开源贡献者群体共同参与。
Espanso 汲取了 Unix 的传统哲学,采用基于文件的配置理念。所有的软件设置、扩展规则与模版均保存在直观的 YAML 文本文件中,而不是存放在封闭的专有数据库中。这种设计不仅让配置清晰透明、高度模块化,也极大地方便了在不同设备之间进行编辑和复用。
能做什么
从核心功能来看,Espanso 旨在减少几乎所有桌面应用程序中的重复输入。其核心机制围绕“匹配”(match)展开,即在输入的“原因”(触发关键词)与输出的“结果”(替换文本或操作)之间建立直接关联。
Espanso 支持丰富多样的扩展与自动化能力:
- 基础与多触发词扩展: 触发词可以定义为简短的字符串,如
:date、e'、signature或>>up。用户也可以为完全相同的替换内容指定多个不同的触发词。 - 全局生效与特定应用配置: 文本扩展默认在桌面的各类文本框中通用,但也支持针对具体软件单独定制。用户可以设置过滤规则,使特定代码片段文件仅在指定软件(如 Visual Studio Code 等代码编辑器)中加载,或在 Slack 等沟通工具中禁用特定扩展(如 Emoji)。
- 动态脚本与 Shell 命令: 除了纯文本,替换内容还可以执行自定义脚本与 Shell 命令,便于用户在文档中动态插入执行结果。
- 表单与交互式变量: Espanso 支持表单功能,允许用户在插入文本前填写动态输入框或设定变量。
- 日期扩展: 可以通过设置好的触发词自动插入当前的动态日期值。
- 图片与 Emoji: 软件不仅支持将关键词扩展为 Emoji 表情,还可以扩展为图片。
- 正则表达式触发: 用户可以使用正则表达式定义基于模式匹配的触发规则,从而处理更灵活的扩展场景。
- 内置搜索栏: 如果忘记了具体触发词,用户可以通过快捷键(Windows 和 Linux 为
ALT+SPACE,macOS 为Option+Space)或状态栏图标唤出交互式搜索栏。在搜索栏开头输入>还能使用内置的管理与报告命令。 - 安全与控制选项: 软件具备退格撤销功能,如果在替换后立即按下 Backspace 键,即可撤销此次扩展并还原刚输入的触发词。此外,用户还可以设置专门的快捷键或通过菜单随时暂停扩展功能。
- 通过 Espanso Hub 进行包管理: 借助内置的包管理器与公共的 Espanso Hub,用户可以直接安装社区共享的扩展包(例如现成的 Emoji 词典),或发布自己的扩展包供他人使用。
根据项目 README 说明,得益于 Rust 语言编写的代码库,该工具具备快速且可靠的性能表现。
怎么开始
上手 Espanso 主要包括:确认后台进程是否运行、测试默认触发词,以及学习如何定义自定义匹配规则。
检查服务状态
安装完成后,首先检查 Espanso 是否已处于运行状态:
- 在 Windows 和 macOS 上,查看系统托盘或菜单栏状态区是否有 Espanso 图标。
- 在 Linux 上,打开终端并通过运行以下命令检查进程状态:
espanso status
如果软件尚未运行:
- Windows: 从“开始”菜单打开 Espanso;若使用的是便携版,则运行
START_ESPANSO.bat。 - macOS: 从“应用程序”文件夹启动该程序(并在出现系统安全提示时予以授权)。
- Linux: 运行以下命令启动后台守护进程:
espanso start
测试默认触发词
在程序保持运行的状态下,打开任意常用文本输入软件(例如记事本或 TextEdit),并输入:
:espanso
该关键词会立即消失,并自动展开为:
Hi there!
查找与编辑配置文件
Espanso 在主配置目录下划分了两个核心子目录:
match/:定义 Espanso 执行什么动作和片段,全新安装默认包含match/base.yml。config/:定义扩展规则如何运作,用于管理全局选项以及针对具体应用的覆盖配置,全新安装默认包含config/default.yml。
若要查询当前系统中的配置目录路径,请运行:
espanso path
不同操作系统对应的默认路径为:
- Windows:
%APPDATA%\espanso(如C:\Users\user\AppData\Roaming\espanso) - Linux:
$XDG_CONFIG_HOME/espanso(如/home/user/.config/espanso) - macOS:
$HOME/Library/Application Support/espanso(如果在关闭应用后曾手动迁移,则为$HOME/.config/espanso)
若想在系统默认的终端编辑器中快速打开这些配置文件,请运行:
espanso edit
添加自定义匹配规则
若要添加自己的扩展内容,请使用文本编辑器打开 $CONFIG/match/base.yml。匹配规则遵循 YAML 格式,因此必须使用空格进行层级缩进。
基础规则是将单个 trigger(触发词)与 replace(替换内容)关联:
matches:
- trigger: ":hello"
replace: "Hi There!"
- triggers: [":test1", ":test2"]
replace: "These both expand to the same thing"
如果要添加一个使用 :br 触发的多行邮件落款,可以在 matches: 下追加以下规则:
matches:
- trigger: ":espanso"
replace: "Hi there!"
- trigger: ":br"
replace: "Best Regards,\nJon Snow"
保存文件后,Espanso 会自动监测到文件修改并重新加载生效。此时在任意输入框中输入 :br,就会输出预先设定的落款问候。
安装 Hub 扩展包
除了手动编写每个片段,用户还可以直接从 Espanso Hub 商店获取现成的扩展包。例如,运行以下命令即可安装基础 Emoji 扩展集:
espanso install basic-emojis
如果系统未能自动加载新规则,可以通过运行以下命令手动重启:
espanso restart
编辑器支持
匹配文件和配置文件可以用任何纯文本工具编辑。用户可以使用专门的辅助工具(如 EspansoEdit),也可以使用 VSCode、VSCodium 或 Neovim 等功能完备的代码编辑器。搭配现代编辑器使用时,用户还可以配置 YAML 语言服务器模式(Schema),以获得实时的语法检查与格式错误提示。
价格与门槛
具体价格与方案以官方页面为准。Espanso 是一款基于 GNU 通用公共许可证第 3 版(GPL-3.0)发布的免费开源项目。该项目的核心软件完全免费,希望支持其持续开发的用户可以通过 PayPal 进行自愿捐赠。
在系统要求与兼容性方面,Espanso 支持主流桌面操作系统:
- Windows: 提供官方支持,二进制文件由 SignPath Foundation 通过 SignPath.io 提供代码签名。
- macOS: 在标准应用程序环境中提供原生支持。
- Linux: 支持传统的桌面系统,同时也支持运行 Wayland 的实验性环境。
Linux 版本的底层实现依赖 libxdo 和 xclip 等工具,而 Wayland 支持则使用了 libxkbcommon 与 wl-clipboard。在各大平台上,图形界面组件均依赖 wxWidgets 库。
适合谁
Espanso 适合所有想要摆脱重复键入、实现模版文本自动生成的用户:
- 日常办公与高频沟通人员: 经常需要发送常规邮件回复、客服消息或标准问候语的职场人士,可以通过自定义短码节省大量时间。
- 开发者与系统管理员: 技术人员能够维护全局代码片段、调用终端命令、执行自动化脚本,并将动态输出直接嵌入日常工作流。
- 注重隐私的用户: 由于 Espanso 完全在本地设备运行,不包含任何联网遥测或键盘击键记录,非常契合需要纯本地文本扩展的用户。
- 跨平台使用者: 在 Windows、macOS 和 Linux 之间频繁切换的用户,可以在多台设备上保持完全一致的使用习惯,并随身携带通用的 YAML 配置文件。
- 文字工作者与进阶玩家: 适合希望在所有桌面软件中打造个性化自动纠错、快速插入 Emoji,或使用交互式结构化表单输入文本的人群。
替代品
用于实现桌面操作自动化与文本扩展的另一款工具是 AutoHotkey。
对于希望寻找独立开源文本扩展工具的用户,也可以参考 Beeftext。
来源
同类推荐
LocalSend 指南:跨平台局域网文件与消息免流互传工具
认识开源局域网传输工具 LocalSend,无需外网服务器,即可在不同设备与系统间快速安全地分享文件和文本消息。
开源办公套件 LibreOffice 入门:核心功能、内置工具与上手指南
全面了解开源办公套件 LibreOffice,内置六款专业工具,覆盖文字处理、电子表格、演示文稿及图形绘制等办公需求。
告别 5.1:一行命令将右键「使用 PowerShell 运行」升级为 PowerShell 7
让右键「使用 PowerShell 运行」改用 PowerShell 7:一条免管理员命令,或自建 ProgID 完全掌控启动参数,附原理、回滚与避坑。