Skip to content
AI SI Daily
English

搜索全站

↑↓ 选择 · Enter 打开 · Esc 关闭

○ 工具介绍

Espanso:开源跨平台文本扩展工具上手指南

介绍基于 Rust 开发的跨平台开源文本扩展工具 Espanso,带你了解其核心功能、配置方法与快速上手技巧。

AI SI Daily 编辑部
这是一篇工具介绍:内容整理自官方网站、官方文档和 GitHub README,本站未对其做实测。功能和价格以官方页面为准,来源见文末。

是什么

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。

来源

同类推荐