我正在参加「掘金·启航计划」 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}\espanso如C:\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格式
- value之前有一个空格
- 集合中value与 - 之间存在一个空格
包管理
Espanso提供了强大的包管理功能,通过别人分享的第三方包,你只需要几行命令就可以把别人写好的匹配规则拿来使用,十分方便。
在Espanso Hub | Enhance your workflows with espanso packages进入包的线上仓库
可以自己搜索或者explore the hub。
然后可以安装自己喜欢的包
比如安装数学符号的包:可以在命令行输入espanso install math-sysbols
详情可以参看官方教程Espanso - A Privacy-first, Cross-platform Text Expander