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.
- 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:
- Texto simple,
- Variables,
- 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.
- Deten Espanso.
espanso stop
- y Sincroniza manualmente con tu directorio de GitHub.
rsync -av --delete ~/GitHub/espanso/ "$HOME/Library/Application Support/espanso/"
GitHub
-
Clona tu repositorio de GitHub.
-
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
.
- Crea tu archivo de contraseña.
echo 'mi-contraseña-secreta' > .encpass
Nunca subas la clave de desencriptación al mismo repositorio.
- Dale permisos de ejecución al script
encrypt.sh
.
chmod +x encrypt.sh
- Y ejecútalo.
./encrypt.sh
- Esto cifra todos los archivos listados en
.gitignore
que coincidan conmatch/*.yml
. - La contraseña se toma de
.encpass
.