Many programs can handle text snippets
There are many programs you can use to create and insert text snippets. For years, I’ve known about programs like TextExpander, Phrase Express, and even AutoHotkey can be used for this. The latter is significantly more powerful, as it allows for complete scripts, which also makes it much more complex. The first two programs are quite similar and focus primarily on text snippets, although they can be enhanced with variables.
The downside of these two top dogs? They are really designed for businesses that often use various and complex text snippets. For the private user, the interfaces are certainly nice, but they’re actually much more than what’s needed. This is one of the reasons why I never kept such programs on my devices for long. They were too cumbersome for the few scenarios in which I would have needed text snippets.
espanso is lean
Then, by chance, I stumbled upon espanso. It’s a very lean program that is configured entirely through one or more YAML files. The configuration itself is quite simple. What’s the trigger and what’s the output? Additionally, you can use a few variables or ensure that the trigger doesn’t activate within another word. It can get more complex, but this is perfectly sufficient for me.
I can do some fun little things with it. If I type hi, it gets randomly replaced by one of eight greetings. :mail writes my email address, :phone my phone number, and so on. Plus, it gives me the ability to insert small and regular non-breaking spaces. On Windows, they are so difficult to type that I never used them before.
Almost perfect
Lean, simple, straightforward. These are the words that come to mind when I think of espanso. Anyone who is comfortable configuring programs via YAML files will be happy with this application. The only thing that made me pause for a moment was the lack of an autostart option. But then I remembered that Windows has a startup folder where you can simply place a program shortcut. Now espanso starts with the system and is always ready to go.