Espanso — руководство по текстовому расширению и настройке
Важно: Espanso работает на Linux, macOS и Windows. На Linux нужны дополнительные шаги для регистрации сервиса и прав на запуск.
Что такое Espanso и зачем он нужен
Espanso — это инструмент для автоматической подстановки текста. Он следит за вводом в любом поле (почта, редактор, терминал) и заменяет короткие триггеры на длинные фрагменты. Это помогает:
- экономить время при наборе повторяющихся фраз;
- избегать опечаток и типичных ошибок;
- быстро вставлять шаблоны писем, подписи, кодовые сниппеты и пути;
- подставлять динамические значения: дату, время, буфер обмена.
Ключевая идея: вы печатаете короткий код (триггер), Espanso автоматически заменит его на заранее заданный текст (replacement).
Ключевые понятия (1‑строчные определения)
- Триггер: короткая последовательность символов, которую вы печатаете.
- Replacement (замена): фрагмент текста, которым заменяют триггер.
- Match (правило): пара «триггер → замена», описанная в YAML.
- Static match: всегда подставляет одно и то же.
- Dynamic match: использует переменные / функции (дата, время, ввод пользователя).
Когда Espanso не подходит
- Если вам нужна сложная логика с условными переходами внутри GUI-приложения — лучше использовать макросы автокликеров или расширенные автоматизаторы.
- Если вы запрещены в политике безопасности компании от запуска фоновых пользовательских сервисов — сначала получите одобрение IT.
- Для массовой замены внутри одного открытого документа больше подходят макросы в самом редакторе (например, макросы Word или Vim‑скрипты).
Установка Espanso
Espanso доступен для Windows, macOS и Linux. Ниже — детальные инструкции и команды. Сохраните и выполните команды точно, как указано.
Windows и macOS
Для Windows и macOS скачайте установщик с официальной страницы релизов и запустите его. В мастере установки отметьте опцию «Start Espanso at startup» или аналогичную, чтобы автоматически запускать программу при входе в систему.
Ссылка в статье: “Download Espanso: Windows | Mac (Intel), Mac (Apple Silicon)” — используйте релизы на GitHub Espanso при установке.
Ubuntu / Debian
Через DEB-пакет (пример с конкретным релизом):
wget https://github.com/federico-terzi/espanso/releases/download/v2.1.5-beta/espanso-debian-x11-amd64.deb
sudo apt install ./espanso-debian-x11-amd64.debЧерез Snap (если Snap установлен):
snap --version
sudo snap install espanso --classic --channel=latest/edgeЕсли команда snap –version ничего не вернула, установите Snap согласно инструкции для вашей дистрибуции, а потом повторите установку Espanso через snap.
Другие дистрибутивы Linux (AppImage)
Если вашего дистрибутива нет в списке, используйте AppImage:
mkdir -p ~/opt
wget -O ~/opt/Espanso.AppImage 'https://github.com/federico-terzi/espanso/releases/download/v2.1.5-beta/Espanso-X11.AppImage'
chmod u+x ~/opt/Espanso.AppImage
sudo ~/opt/Espanso.AppImage env-path registerРегистрация Espanso как systemd-сервиса (Linux)
Чтобы Espanso автоматически запускался при старте системы, зарегистрируйте сервис:
espanso service registerЕсли вы не хотите системный сервис, можно запускать ручной режим:
espanso start --unmanagedОстановить фоновой процесс можно так:
espanso stopНа macOS и Windows регистрация как systemd не нужна — используйте опцию автозапуска в установщике.
Первые шаги в Espanso: базовая конфигурация и структура папок
Espanso хранит конфигурацию и правила в директории пользователя. Путь зависит от ОС:
- Linux: /home/user/.config/espanso/
- macOS: /Users/user/Library/Application Support/espanso/
- Windows: C:\Users\user\AppData\Roaming\espanso
Внутри папки espanso есть две ключевые папки:
- config — общие настройки и опции поведения;
- match — набор правил (файлы .yml) и пакетов.
Файл base.yml обычно содержит основные matches. Чтобы добавить свои правила, откройте этот файл в редакторе.
- На Linux/macOS: откройте терминал, перейдите в каталог и запустите nano base.yml или любой предпочитаемый редактор.
- На Windows: откройте папку в Проводнике и правой кнопкой мыши «Открыть с помощью» → Блокнот/VS Code.
Команда Espanso, чтобы увидеть путь конфигурации:
espanso pathПримеры правил (matches): шаблоны и объяснения
Ниже — проверенные примеры, которые можно вставлять в base.yml. Каждый пример сопровождаю кратким объяснением.
- Простая замена email
- trigger: ":email"
replace: "xyz@gmail.com"Назначение: вставляет адрес электронной почты.
- Исправление опечатки
- trigger: "propogate"
replace: "propagate"Назначение: автоматическая коррекция часто встречающейся опечатки.
- Текущее время (динамическая переменная date)
- trigger: ":now"
replace: "It's {{mytime}}"
vars:
- name: mytime
type: date
params:
format: "%H:%M"Назначение: подставляет текущее время в 24‑часовом формате.
- Многострочный фрагмент (подпись, шаблон письма)
- trigger: ":greet"
replace: |
Best regards,
XYZЗнак | означает многострочный литерал — удобно для подписей и шаблонов.
- Вставка изображения (локальный путь)
- trigger: ":image"
image_path: "/path/to/image/"Назначение: вставляет картинку (работает в приложениях, которые поддерживают вставку изображений из пути).
- Пример dynamic match с датой в человекочитаемом формате
- trigger: ":date"
replace: "{{now|%d.%m.%Y}}"Примечание: формат даты локализуйте под свои нужды. Espanso поддерживает параметры формата, похожие на strftime.
Полезные шаблоны (готовые кейсы)
- Подпись сотрудника с названием компании и телефоном.
- Шаблон ответов для саппорта (приветствие, шаги диагностики, закрытие тикета).
- Часто используемые SQL-запросы или сниппеты кода.
- Юридические оговорки и Disclaimer.
Пример подписи для команды:
- trigger: ":sig"
replace: |
Иван Иванов
Менеджер по продукту
ACME Ltd.
Тел: +7 912 000 00 00
E: ivan@example.comУстановка пакетов из Espanso Hub
Espanso имеет сообщество, которое создаёт пакеты для общих задач: автозамены, языковые словари, шаблоны для разработчиков и т.д. На Espanso Hub найдите пакет, откройте страницу пакета и следуйте инструкции установки — обычно это одна команда через espanso.
Пример обощённого процесса:
- Откройте Espanso Hub.
- Выберите пакет и прочитайте README.
- Скопируйте команду установки и выполните её в терминале/PowerShell.
- Проверьте работу, введя триггер в любом текстовом поле.
Практические сценарии использования по ролям (чек-листы)
Ниже — наборы задач по ролям. Они помогут быстро внедрить Espanso в рабочие процессы.
Роль: Контент‑менеджер / Автор
- Добавить 10 часто используемых фраз и подпись.
- Создать шаблоны для SEO‑метаданных (title, meta description).
- Настроить список опечаток для автоматической коррекции.
Роль: Разработчик
- Создать сниппеты кода для частых паттернов.
- Настроить триггеры для вставки часто используемых команд CLI.
- Проверить поведение в терминале и IDE.
Роль: Служба поддержки
- Создать шаблоны ответов: приветствие, шаги решения, завершение.
- Разделить шаблоны по категориям (billing, technical, general).
- Настроить быстрый триггер для вставки статуса тикета.
Роль: Системный администратор
- Настроить Espanso на корпоративных машинах (согласовать с политикой безопасности).
- Автоматизировать частые команды и пути.
- Создать playbook по развёртыванию и обновлению пакетов.
Руководство по внедрению: мини‑методология (SOP)
Шаги внедрения Espanso в команде:
- Оценка потребностей: список повторяющихся фраз и операций.
- Пилот: один-два активных пользователя на 1–2 недели.
- Сбор обратной связи и корректировка триггеров (чтобы не было конфликтов с обычным набором).
- Подготовка пакета с набором правил — репозиторий с версионностью (git).
- Документация и обучение для команды.
- Опционально: централизованное развёртывание и обновление.
Тесты и критерии приёмки
Критерии приёмки для базовой конфигурации:
- Espanso успешно запускается при старте системы (или запускается вручную без ошибок).
- 90% основных шаблонов подставляются корректно в целевых приложениях (почтовый клиент, браузер, редактор).
- Нет конфликтов триггеров с обычным набором текста (например, триггер ‘:’ не мешает нормальному набору).
- Команда знает, как править base.yml и устанавливать пакеты.
Тестовые случаи (примеры):
- Ввод “:email” в поле письма → ожидаемая подстановка адреса.
- Ввод опечатки “propogate” в редакторе → ожидаемая автоматическая коррекция.
- Вставка триггера с датой → форматирование даты соответствует локали.
Отладка и распространённые проблемы
- Espanso не работает в браузере: проверьте, не блокирует ли браузер ввод от «внешних» источников и есть ли разрешения для автоподстановки.
- Триггеры конфликтуют с обычным текстом: используйте префикс (например, двоеточие “:”), или добавьте более уникальные комбинации.
- Espanso не запускается после обновления: проверьте логи espanso и статус systemd (journalctl -u espanso.service).
- Проблемы с правами для AppImage: убедитесь, что файл помечен как исполняемый (chmod +x).
Советы по диагностике:
- Запустите espanso в управляющем режиме (без –unmanaged) и посмотрите вывод ошибок.
- На Linux проверяйте systemd: systemctl status –user espanso.service
- Проводите тесты триггеров в простом текстовом поле, чтобы исключить влияние приложения.
Совместимость и миграция
- Формат правил — YAML. При переходе на новую версию Espanso обычно сохраняется обратная совместимость, но проверяйте release notes.
- Храните конфигурацию под версионным контролем (git), чтобы откатывать изменения при проблемах.
- При миграции между ОС переносите match‑папку и проверяйте пути к изображениям и локальные пути в правилах.
Безопасность и приватность
- Espanso хранит локально только ваши правила и фрагменты.
- Если вы добавляете конфиденциальные данные (пароли, API‑ключи) в правила, это риск: храните такие данные в безопасных хранилищах (секреты) и не добавляйте в открытые конфиги.
- На корпоративных ПК согласуйте развёртывание с отделом информационной безопасности.
Примеры расширенных сценариев
- Комбинированный шаблон с вводом пользователя (prompt)
- trigger: ":sigp"
replace: "Best regards, {{name}}"
vars:
- name: name
type: input
params:
prompt: "Enter your full name"- Капитализация первой буквы при подстановке
- trigger: ":ilu"
replace: "in lieu of"
propagate_case: true- Динамическая дата в формате dd.mm.yyyy
- trigger: ":date"
replace: "{{now|%d.%m.%Y}}"Проверочная галерея кейсов (Edge‑cases)
- Когда приложение обрабатывает ввод нестандартно (например, защищённые поля), Espanso может не сработать.
- В сочетании с IME (вводом на других языках) триггеры могут срабатывать некорректно — тестируйте.

Decision tree: выбрать триггер и стратегию именования (Mermaid)
flowchart TD
A[Нужно ли уникальное имя триггера?] -->|Да| B[Использовать префикс, например ':' или '@@']
A -->|Нет| C[Короткий текст допустим]
B --> D{Триггер влияет на обычный набор?}
C --> D
D -->|Да| E[Добавить более уникальный префикс или длиннее]
D -->|Нет| F[Оставить как есть]
E --> FКраткий глоссарий (1‑строчные определения)
- Espanso: инструмент для текстовой подстановки.
- Trigger: короткая последовательность для срабатывания правила.
- Match: правило замены в YAML.
- Propagate_case: опция для сохранения регистра при подстановке.
Итог и рекомендации
Espanso — простой и мощный инструмент для людей, которые много печатают. Он выигрывает за счёт гибкости (YAML, переменные, пакеты) и кроссплатформенности. Начните с малого: создайте 10‑20 правил, протестируйте в целевых приложениях и затем масштабируйте, добавляя пакеты или свой репозиторий конфигураций.
Важно: не храните секреты в открытой конфигурации и согласуйте использование на рабочих машинах с IT.
Краткое резюме:
- Установка: используйте DEB/Snap/AppImage/инсталлятор.
- Конфигурация: папка espanso в профиле пользователя, main файл — base.yml.
- Расширение: пакеты из Espanso Hub и собственные правила.
- Контроль: версионируйте config в git и тестируйте перед развёртыванием.
Спасибо за внимание — начните с простых триггеров и постепенно автоматизируйте повседневные задачи.
Похожие материалы
Восстановить удалённые заметки на iPhone
Поиск на Netflix: скрытые категории и советы
Очистка Windows: удаление мусора и старых драйверов
Обратный отсчёт до дня рождения на Nest Hub
Удаление отвлекающих объектов кистью в Photoshop