效率工具推荐Espanso——跨平台文本扩展工具

1,873 阅读3分钟

我正在参加「掘金·启航计划」 Espanso——跨平台文本扩展工具

Espanso 文本扩展器功能:

  • 适用于 Windows、macOS 和 Linux
  • 几乎适用于任何程序
  • 基于文件的配置(YAML 语法)
  • 支持特定于应用程序的匹配
  • 支持多个触发器扩展同一个匹配
  • 使用表情符号
  • 与图像一起使用(可以用图像替换缩写)
  • 日期扩展支持
  • 自定义脚本支持(以任何语言编写)
  • Shell 命令支持
  • 剪贴板支持(可以在匹配中使用当前剪贴板内容)
  • 可扩展包
  • 内置包管理器,以及用于安装额外包以扩展 Espanso 功能的集线器
  • 通过快速双击打开/关闭文本扩展的快捷方式 ALT 钥匙 (Option 在 MacOS 上); 当 Espanso 暂停/取消暂停时会显示桌面通知

Espanso 在以下方面很有用:

  • 节省大量打字,扩展常用句子;(我就喜欢这个)
  • 创建系统范围的代码片段;
  • 执行自定义脚本;
  • 像专业人士一样使用表情符号;

更智能的打字

无需再复制和粘贴,只需创建一次模板,然后让 Espanso 为您完成剩下的工作。

有了Espanso,输入;qqm可以自动把4个字符替换成我的QQ邮箱,想撤销按packspace即可。

配置文件在~/.config/espanso下,default.yml或者user文件夹都可以用,具体看官方文档

自定义匹配规则

Espanso的配置文件是使用的yml,它的配置文件目录并不是固定位置的,而是随操作系统的不同而变化的:

Windows:{FOLDERID_RoamingAppData}\espansoC:\Users\user\AppData\Roaming\espanso)

  • config目录下是一些配置文件,主要是配置Espanso的一些参数和选项,config/default.yml文件下的配置将会默认应用到所有的程序
  • match目录下的配置文件是一般来说编写匹配规则的地方,一些默认的匹配规则就在match/base.yml文件中,packages目录就和他的名字一样,是进行包管理的。这个软件也是只是包管理来下载第三方匹配规则的,

我们只需要命令行输入espanso edit,会自动调用编辑器打开base.yml配置文件,可见如下代码:

# espanso match file

# For a complete introduction, visit the official docs at: https://espanso.org/docs/

# You can use this file to define the base matches (aka snippets)
# that will be available in every application when using espanso.

# Matches are substitution rules: when you type the "trigger" string
# it gets replaced by the "replace" string.
matches:
  # Simple text replacement
  - trigger: ":espanso"
    replace: "Hi there!"

  # NOTE: espanso uses YAML to define matches, so pay attention to the indentation!

  # But matches can also be dynamic:

  # Print the current date
  - trigger: ":date"
    replace: "{{mydate}}"
    vars:
      - name: mydate
        type: date
        params:
          format: "%m/%d/%Y"

  # Print the output of a shell command
  - trigger: ":shell"
    replace: "{{output}}"
    vars:
      - name: output
        type: shell
        params:
          cmd: "echo 'Hello from your shell'"
          
  - trigger: ":br"
    replace: "Best Regards,\nJon Snow"

  # And much more! For more information, visit the docs: https://espanso.org/docs/

可以在后面添加如下操作

  - trigger: ";cmo"
    replace: "come on,你是最棒(๑•̀ㅂ•́)و✧的,fighting!"

还要常见的设置命令如下:

 - trigger: ";now"
    replace: "现在是{{time}}。"
    vars:
      - name: time
        type: date
        params:
          format: "%H点%M分"

保存并关闭后,espanso会自动重启,然后电脑任何地方输入;cmo均换为come on,你是最棒(๑•̀ㅂ•́)و✧的,fighting!

其中符合;可以替换为!,:等其他符号表示

注意:yml格式

  1. value之前有一个空格
  2. 集合中value与 - 之间存在一个空格

包管理

Espanso提供了强大的包管理功能,通过别人分享的第三方包,你只需要几行命令就可以把别人写好的匹配规则拿来使用,十分方便。

Espanso Hub | Enhance your workflows with espanso packages进入包的线上仓库

image-20221012204326553

可以自己搜索或者explore the hub。

然后可以安装自己喜欢的包

比如安装数学符号的包:可以在命令行输入espanso install math-sysbols

image-20221012204159045 详情可以参看官方教程Espanso - A Privacy-first, Cross-platform Text Expander