【一起学Rust | 开源项目】效率提升工具espanso——在日常输入中使用代码提示

简介: 【一起学Rust | 开源项目】效率提升工具espanso——在日常输入中使用代码提示



前言

在使用Mac时,或者说搭建学习某些教程时,总会看到大佬们在输入代码的时候输入一般,就会提示剩下的命令,看着就很酷,本人在Windows环境下试过多种方法都难以达到那种效果,在Rust中文社区看到了这么一个Rust的开源项目,输入拓展工具——espanso,在输入关键词后就会匹配输入文本,虽然未能达到那种提示的效果,但是现在这种效果已经非常满意了。接下来就带大家先体验一下这个软件的效果吧。

可以看到,当输入 :date 的时候,会自动替换为2022/10/1,这种输入方式是不是很酷呢,通过这个软件,大家可以通过自定义关键词来输入我们想要的内容,从而提供工作效率,就和emmet这类插件一样,快捷输入内容。


一、安装

首先需要打开官网

由于本人用的是Windows系统,所以这里显示Get Started on Windows,如果你是用的其他系统,显示会有不一样的,接下来就会跳转到安装页面

中间两个按钮,左边意思是以安装模式安装,右边意识是解压安装,Windows安装模式就很舒服,因此这里直接选择了安装模式,下载完成打开安装包,会有以下提示

这里是用的英文系统,在中文系统下位置是一样的,要点击详细信息,然后再点击无论如何都要运行,就会打开安装程序了,安装就是一路下一步,这里就不再赘述了。

如果你的电脑右下角状态栏那有这个图标,则代表你已经安装成功了。

二、使用

1.体验HelloWorld

安装完成后就是老规矩,hello world,随便找一处文本输入的地方(或者打开一个记事本),然后输入

:espanso

如果你安装的没有问题的话,就会变成

Hi there!

效果如下

当输入关键字:date的时候,就会触发Espanso的规则,将其替换为当前时间,如下图所示

他的逻辑是这样的

2.自定义匹配规则

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

  • Linux: $XDG_CONFIG_HOME/espanso (比如. /home/user/.config/espanso)
  • macOS:$HOME/Library/Application Support/espanso(比如 /Users/user/Library/Application Support/espanso)
  • 注意: 从以前的0.7.3版本迁移时,出于兼容性目的,配置目录将位 $HOME/Library/Preferences/espanso
  • Windows: {FOLDERID_RoamingAppData}\espanso (比如. C:\Users\user\AppData\Roaming\espanso)

当找到这个目录以后,会发现目录是这个样子的

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

如果你没有进行其他操作,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/

注意:yml格式

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

从文档中可以看到,matches节下面配置的就是一对一对的触发器,trigger指的是匹配输入的字符串,replace代表要替换的内容,在我们一开始演示的例子中,使用以下代码就可以实现了

matches:
  # 简单的文本替换
  - trigger: ":espanso"
    replace: "Hi there!"

Espanso支持更多的高级功能,如果你对齐感兴趣,可以去官方的操作文档学习,以提高你的使用体验。在后续的文章中,可能会向大家更加深入的介绍Espanso的匹配规则编写。

三、包管理

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

首先需要打开其提供的仓库espansohub

在下方填入你的搜索关键词就可以找到你想要的包了

但是很多时候我们很难知道自己想要的是什么包,最主要是你不知道有什么样的包,所以我更加建议你到目录来找你所需要的或者可能感兴趣的包,由于网站是国外的,国内可能打开很慢,建议使用魔法,因为没有魔法也是安装不了包的

以安装Emoji表情包为例,

左侧勾选Emoji,右侧选择Basic Emoji来安装基础的表情包功能,进入以后界面是这样的

左上方是包信息,有关包的描述,版本等内容,右上方是安装命令,直接复制,在命令行运行就可以直接进行安装了,下方是源码,如果你没有魔法,建议直接复制,要比命令行还要快。

这里贴出其源码

matches:
  - trigger: ":lol"
    replace: "😂"
  - trigger: ":llol"
    replace: "😂😂😂😂"
  - trigger: ":sad"
    replace: "☹"
  - trigger: ":ssad"
    replace: "☹☹☹☹"
  - trigger: ":sml"
    replace: "😊"
  - trigger: ":strong"
    replace: "💪"
  - trigger: ":stlol"
    replace: "💪😂"
  - trigger: ":ba"
    replace: "😎"
  - trigger: ":ok"
    replace: "👍"
  - trigger: ":ook"
    replace: "👍👍👍👍"
  - trigger: ":happy"
    replace: "😄"
  - trigger: ":cry"
    replace: "😭"
  - trigger: ":wow"
    replace: "😮"

你只要将其加到base.yml,就可以起到效果了,当然,通过包管理工具安装的是会自动安装的,还会包含一些包的相关信息

四、获取源码

Espanso是使用Rust制作的开源项目,其源码可以在Github上找到。链接就不直接提供了,建议打开Github,搜索espanso,你就可以找到该项目。

如果你对该项目感兴趣,可以研究一下其源码。


总结

本期内容就到此为止了,主要为大家介绍了Rust的开源项目Espanso的安装和使用,通过使用Espanso来提高大家的工作效率,如果你对该项目感兴趣,去阅读源码,提高自身技术水平,那就更好不过了。


本人创建了一起学Rust社区,欢迎各位对rust感兴趣的朋友加入

http://t.csdn.cn/AsEZ9
目录
相关文章
|
6月前
|
Rust 数据可视化 安全
Rust性能分析工具概览:perf、flamegraph 与其他
Rust作为一种高性能、内存安全的编程语言,在构建大型系统和微服务时备受青睐。然而,优化Rust程序的性能需要有效的工具。本文将对Rust中常用的性能分析工具进行介绍,包括perf、flamegraph等,并探讨它们如何帮助开发者定位和解决性能瓶颈。
|
3月前
|
开发者 C# Android开发
震惊!Xamarin 跨平台开发优势满满却也挑战重重,代码复用、熟悉语言与性能优势并存,学习曲线与差异处理何解?
【8月更文挑战第31天】Xamarin 与 C# 结合,为移动应用开发带来高效跨平台解决方案,使用单一语言和框架即可构建 iOS、Android 和 Windows 原生应用。本文通过问答形式探讨 Xamarin 和 C# 如何塑造移动开发的未来,并通过示例代码展示其实际应用。Xamarin 和 C# 的组合不仅提高了开发效率,还支持最新的移动平台功能,帮助开发者应对未来挑战,如物联网、人工智能和增强现实等领域的需求。
54 0
|
4月前
|
Rust 测试技术 编译器
Rust与C++的区别及使用问题之Rust项目中组织目录结构的问题如何解决
Rust与C++的区别及使用问题之Rust项目中组织目录结构的问题如何解决
|
5月前
|
Rust 图形学
【unity实战】使用unity制作一个类似Rust的3D生存建造建筑系统,具有很好的吸附性(附项目源码)
【unity实战】使用unity制作一个类似Rust的3D生存建造建筑系统,具有很好的吸附性(附项目源码)
139 1
|
5月前
|
Rust
使用Cargo创建、编译与运行Rust项目
使用Cargo创建、编译与运行Rust项目
193 0
|
6月前
|
Rust 监控 安全
【专栏】`ripgrep`(rg)是Linux下快速、内存高效的文本搜索工具,用Rust编写,支持PCRE2正则表达式
【4月更文挑战第28天】`ripgrep`(rg)是Linux下快速、内存高效的文本搜索工具,用Rust编写,支持PCRE2正则表达式。相比`grep`,它在处理大文件和复杂模式时更具优势。安装`rg`可通过软件包管理器,如在Debian系系统中使用`sudo apt install ripgrep`。基本用法包括简单搜索、递归搜索、忽略大小写、显示行号等。高级功能包括固定字符串搜索、多文件匹配、并行搜索、排除选项和区域搜索。适用于日志分析、代码审查等场景,是提升工作效率的利器。
555 4
|
6月前
|
Rust 监控 网络协议
运用Rust编写高效的远程监控多台电脑屏幕工具
使用Rust编程语言开发远程监控多台电脑屏幕的工具,通过安装客户端实时传输屏幕截图至监控端。示例代码展示如何利用Rust的网络编程和图像处理库捕获、发送及接收屏幕截图。监控端接收到数据后可进行保存或上传等处理,实现高效可靠的远程监控解决方案。
210 2
|
6月前
|
Rust 安全 程序员
拜登:“一切非 Rust 项目均为非法”,开发界要大变天?
白宫国家网络总监办公室(ONCD,以下简称网总办)在本周一发布的报告中说道:“程序员编写代码并非没有后果,他们的⼯作⽅式于国家利益而言至关重要。”
132 1
|
16天前
|
Rust 安全 Java
探索Rust语言的并发编程模型
探索Rust语言的并发编程模型
|
23天前
|
Rust 安全 区块链
探索Rust语言:系统编程的新选择
【10月更文挑战第27天】Rust语言以其安全性、性能和并发性在系统编程领域受到广泛关注。本文介绍了Rust的核心特性,如内存安全、高性能和强大的并发模型,以及开发技巧和实用工具,展示了Rust如何改变系统编程的面貌,并展望了其在WebAssembly、区块链和嵌入式系统等领域的未来应用。
下一篇
无影云桌面