Espanso

Espanso (espanso.org) es un expansor de texto, multiplataforma y de código abierto.

Configuración

Espanso utiliza un enfoque de configuración basado en archivos, siguiendo la filosofía Unix.

  1. Para obtener la ruta a su carpeta de configuración:
espanso path config

De ahora en adelante, nos referiremos al directorio de configuración como $CONFIG

El directorio $CONFIG debería estructurarse de la siguiente manera:

$CONFIG/
  config/
    default.yml
  match/
    base.yml

Todos estos archivos se definen utilizando el popular formato YAML.

Busqueda

Espanso viene con una herramienta de búsqueda, presiona ALT + SPACE para abrir la barra de búsqueda.

Fragmentos

Los fragmentos son bloques de texto predefinidos que se expanden automáticamente al escribir un atajo o "trigger". Cada fragmento puede incluir:

  1. Texto simple,
  2. Variables,
  3. y hasta scripts dinámicos.

Se configuran en un archivo YAML dentro del directorio $CONFIG/match, organizados por categorías según tus necesidades. El archivo match/base.yml es donde debes especificar todos los fragmentos.

Por ejemplo, podemos agrega un nuevo fragmento en la sección matches:

  - trigger: ":br"
    replace: "Best Regards,\nJon Snow"

La palabra clave (trigger) es conocida como el desencadenador, y el texto de reemplazado (replace) como la coincidencia.

Asegúrate de incluir las sangrías; de lo contrario, la sintaxis YAML no será válida.

Puedes crear más archivos (Por ejemplo, match/emails.yml) para que a medida que aumente la cantidad de fragmentos sean más fácil de administrar.


Sincronización

Cada vez que cambies algo y quieras actualizar la config de Espanso.

  1. Deten Espanso.
espanso stop
  1. y Sincroniza manualmente con tu directorio de GitHub.
rsync -av --delete ~/GitHub/espanso/ "$HOME/Library/Application Support/espanso/"

GitHub

  1. Clona tu repositorio de GitHub.

  2. Descifra todos los archivos privados.

Dale permisos de ejecución al script decrypt.sh.

chmod +x decrypt.sh

Y ejecútalo.

./decrypt.sh

Cifrado

Agrega tus archivos privados a .gitignore.

  1. Crea tu archivo de contraseña.
echo 'mi-contraseña-secreta' > .encpass

Nunca subas la clave de desencriptación al mismo repositorio.

  1. Dale permisos de ejecución al script encrypt.sh.
chmod +x encrypt.sh
  1. Y ejecútalo.
./encrypt.sh
  • Esto cifra todos los archivos listados en .gitignore que coincidan con match/*.yml.
  • La contraseña se toma de .encpass.