Espanso, a smart and efficient text expander

about dreadful

In the next article we are going to take a look at Espanso. Today, there are many tools for Gnu / Linux that seek to improve user productivity. Among them we can find this text expander, which is a program that detects when we type a specific keyword and automatically replaces it with another. This can be useful in many ways. Espanso is free and open source written in Rust.

This program does not offer a GUI from which to customize or control it. To do this we will have to go to the terminal and change its YML file to make any configuration changes. The default settings make it quite easy to use. Basically will allow us to create short codes or keywords to quickly write a piece of text.

This program works with images, supports forms and offers file-based configuration. The ability to support forms will allow us to create matches with many arguments. There is also a passive mode, which will allow us to expand the matches after writing. Passive mode allows the software to easily analyze entire sentences and perform complex elaboration.

General characteristics of Espanso

dreadful running in vim

  • Will allow us avoid writing the same sentences over and over again.
  • Sparse starts automatically when we start the system.
  • This program works by detecting keystrokes and replacing them when they match a specific keyword, called a trigger.
  • Shell support.
  • We can use custom scripts as we write, thus increasing our productivity for any type of workflow.
  • Support for emoji. Emojis are now part of our lives, and here we can also use them.
  • Date support. Supports a wide range of date formats and expansions.
  • Will we allow to use our fragments code favorites.
  • Integration throughout the system. Espanso works with most applications, so it can increase our productivity everywhere.
  • File-based configuration. It follows a Unix-like configuration philosophy, using simple files.
  • Espanso is open source, licensed under the GPL-3.
  • Support multi platform. It is compatible with Windows, Gnu / Linux and macOS.

These are just some of its features. Can be consult all of them in the project website.

Installation of Espanso

As a .DEB package

We can install this program in Ubuntu using the package .deb that they offer us from the project release page. To download it we can use the web browser or open a terminal (Ctrl + Alt + T) and execute wget as follows:

download deb file


After the download, we can proceed to program installation with the command:

install deb file

sudo apt install ./espanso-debian-amd64.deb


For remove this installed program using its .DEB package, in a terminal (Ctrl + Alt + T), we will only have to execute the command:

uninstall dreadful with apt

sudo apt remove espanso; sudo apt autoremove

As snap pack

In addition, we can also choose install this program which is available at snapcraft. To proceed with its installation, all you have to do is open a terminal (Ctrl + Alt + T) and execute the command:

install dreadful as snap

sudo snap install espanso --classic


To remove this program installed with snap package, all you have to do is open a terminal (Ctrl + Alt + T) and execute the command:

uninstall as snap

sudo snap remove espanso


Once the program is installed, we can install the package basic-emojis typing:

install emojis

espanso install basic-emojis

Then we will have reboot espanso for changes to take effect. I have to say that while testing the program, I had to reboot the system for it to work properly.

espanso restart

Espanso uses a file-based configuration approach, following the Unix philosophy. On our Gnu / Linux systems, this file is stored in ~ / .config / espanso / default.yml. The default.yml file is the default configuration file for the program. Changes made to the file are automatically detected and will be loaded when we save the file.

espanso configuration file

This is a great utility that promises a lot and that can be of great help in improving our productivity. It should work with most software, and it will allow us to add images, as well as being compatible with custom scripts, images and shell commands.

For more information about its configuration or use, users can consult the documentation offered on the project website, or direct us to your page on GitHub.

Add Comment