LinuxCommandLibrary

espanso

Expand text snippets with keywords automatically

TLDR

Check status

$ espanso status
copy

Edit the configuration
$ espanso edit config
copy

Install a package from the hub store ()
$ espanso install [package]
copy

Restart (required after installing a package, useful in case of failure)
$ espanso restart
copy

SYNOPSIS

espanso <SUBCOMMAND> [OPTIONS]

PARAMETERS

start
    Starts the espanso daemon (use & to background)

stop
    Stops the espanso daemon

restart
    Restarts the espanso daemon

status
    Displays current daemon status

install
    Installs espanso as a systemd service on Linux

uninstall
    Uninstalls the systemd service

path
    Prints important configuration paths

reload
    Reloads configuration without restarting daemon

list
    Lists installed packages

edit
    Opens configuration directory in default editor

compile
    Compiles configuration for faster loading

version
    Shows espanso version

--help
    Prints help information

--version
    Prints version information

DESCRIPTION

Espanso is a privacy-focused, open-source text expander engine written in Rust. It allows users to define custom keyboard shortcuts (triggers) that automatically expand into longer text snippets, commands, images, or dynamic content across any application.

Key features include support for plain text, regex triggers, shell commands, date formatting, forms, and searchable snippets. On Linux, it works with X11 natively and Wayland experimentally. Configuration uses simple YAML files in ~/.config/espanso/, with community packages available via Espanso Hub.

Unlike clipboard managers, espanso processes input in real-time without storing history, ensuring privacy. Install via AppImage, distro packages (e.g., Arch, Fedora), or Cargo. Run as a daemon for background operation. Ideal for programmers (code snippets), writers (emojis/templates), and power users. Active development ensures cross-platform consistency on Linux, Windows, macOS.

CAVEATS

Requires daemon mode for functionality; Wayland support is experimental and may need sudo espanso install --wayland. Not in all distro repos—prefer AppImage. Needs accessibility/input monitoring permissions.

BASIC SNIPPET EXAMPLE

In ~/.config/espanso/match/base.yml:
matches:
- trigger: ":mail"
  replace: "user@example.com"
Reload with espanso reload.

LINUX INSTALLATION

Download AppImage from GitHub: chmod +x espanso.AppImage && ./espanso.AppImage install. Or sudo pacman -S espanso on Arch/Fedora COPR.

HISTORY

Created in 2019 by Federico Terzi as a Rust-based alternative to proprietary expanders. Reached v1.0 in 2023 with improved stability, Wayland support, and package manager. Over 10k GitHub stars; focuses on extensibility and privacy.

Copied to clipboard