Cómo cambiar de Espanso a TypeSnap
¿Migrando desde Espanso a TypeSnap? Importa directamente tus archivos YAML de Espanso, con triggers, etiquetas y variables comunes convertidos. Así se hace.
Espanso es un expansor de texto de código abierto capaz, y el hecho de que sea gratuito y multiplataforma lo convierte en un punto de partida razonable. Pero si quieres una interfaz gráfica nativa de macOS en lugar de editar archivos YAML, campos de relleno con menús desplegables y entradas de texto, y sincronización opcional con iCloud, vale la pena probar TypeSnap. Desde la versión 1.4, TypeSnap lee directamente los archivos YAML de Espanso, así que no hace falta convertir nada a mano. Así puedes traer tus snippets contigo.
Qué añade TypeSnap sobre Espanso
TypeSnap ofrece otro flujo de trabajo. Espanso ya tiene formularios y búsqueda; estas son funciones de TypeSnap para evaluar, no capacidades ausentes de Espanso:
- Interfaz nativa de Mac: navega, busca y edita snippets visualmente sin tocar un editor de texto
- Campos de relleno: formularios con entradas de texto, menús desplegables y secciones opcionales que aparecen cuando se expande un snippet
- Sincronización con iCloud: sincroniza opcionalmente tu biblioteca de snippets entre tus Macs
- Macros de fecha y hora: inserta fechas y horas formateadas con una sintaxis de macros sencilla
- Macros del portapapeles: inserta el contenido actual del portapapeles en cualquier parte de un snippet
Qué se transfiere
El importador de Espanso de TypeSnap lee archivos .yml y .yaml y convierte lo que puede:
- Triggers: cada
triggerse convierte en una abreviatura de TypeSnap. Una coincidencia con variostriggersse convierte en un snippet por cada trigger. - Texto de reemplazo: valores de
replacede una línea, entre comillas y multilínea (|y>) - Etiquetas: el
labelde Espanso pasa a ser la etiqueta del snippet - Cursor:
$|$se convierte en{{cursor}} - Variables definidas en los
varsde cada coincidencia:datese convierte en una macro{{date:...}}, y los formatos strftime como%Y-%m-%dse traducenclipboardse convierte en{{clipboard}}choicese convierte en un desplegable{{select:...}}con las mismas opcionesrandomse convierte en{{random:...}}con las mismas opcionesechose inserta con su valor fijo
- Campos de formulario referenciados como
{{form1.name}}se convierten en campos{{input:name}}
Todo llega a un grupo por archivo. base.yml se importa en un grupo llamado Espanso, y cualquier otro archivo (por ejemplo trabajo.yml) se importa en Espanso (trabajo).
Lo que no se transfiere:
- Coincidencias regex (
regex:en lugar detrigger:): se omiten con una advertencia. Recréalas como snippets regex de TypeSnap. - Coincidencias de imagen y otras que no son texto: se omiten con una advertencia.
- Variables de shell y script: no se ejecutan en TypeSnap. Cualquier tipo de variable que el importador no reconoce, incluidos
shellyscript, se convierte en un campo de relleno con el nombre de la variable, así que verás un formulario en lugar de la salida del comando. Reconstrúyelas con un snippet de JavaScript o un campo de relleno. global_vars: no se leen. Las referencias a una variable global dentro de una coincidencia se convierten en campos de relleno.- Coincidencias con
form:: se importan como texto, pero sus marcadores[[campo]]se quedan tal cual. Cambia cada uno por{{input:campo}}en el editor.
Paso 1: Encuentra tus archivos de Espanso
Ejecuta espanso path en Terminal. Muestra las carpetas que usa Espanso; tus archivos de coincidencias están en la carpeta match dentro de la carpeta de configuración. En un Mac suele ser ~/Library/Application Support/espanso/match/. En Finder, usa Ir → Ir a la carpeta… y pega la ruta.
Encontrarás base.yml y quizá otros archivos .yml, con entradas como estas:
matches:
- trigger: ":br"
replace: "Saludos cordiales,"
- trigger: ":dir"
replace: "Calle Mayor 123\nMadrid, 28001"
Paso 2: Importar en TypeSnap
- Abre TypeSnap
- Abre Archivo → Importar fragmentos y selecciona Espanso como origen
- Haz clic en Elegir archivo y selecciona un archivo de coincidencias (por ejemplo
base.yml) - Revisa la vista previa y sus secciones de Advertencias y Errores. Cada coincidencia omitida aparece con el motivo.
- Haz clic en Importar
El importador lee un archivo cada vez. Si tu biblioteca está repartida en varios archivos, repite estos pasos con cada uno.
Si una abreviatura importada coincide con una que ya tienes en TypeSnap, se te preguntará si quieres omitirla o reemplazarla.
Después de importar
Prueba algunos de tus snippets más usados para confirmar que se expanden correctamente. Los snippets de texto estático deberían comportarse igual que antes.
Una diferencia que conviene conocer: Espanso expande en cuanto terminas de escribir un trigger. Los snippets importados en TypeSnap usan tu modo de activación predeterminado (Ajustes → Expansión → Cuándo expandir), que al principio es “Después de un espacio o un signo de puntuación”. Los triggers entre dos puntos, como :smile:, se configuran para expandirse al instante. Si quieres el comportamiento de Espanso para todo, cambia el valor predeterminado a “En cuanto termine de escribirla”, o cámbialo snippet por snippet.
Preguntas frecuentes
¿Qué pasa con las coincidencias regex de Espanso?
TypeSnap también admite triggers con expresiones regulares, pero la sintaxis es distinta a la de Espanso. El importador omite las coincidencias regex y las enumera en las advertencias, así sabes exactamente cuáles recrear en el editor de TypeSnap. Para la mayoría de la gente son una parte pequeña de la biblioteca.
¿Necesito mantener Espanso en ejecución después de la migración?
No. Cuando tus snippets estén en TypeSnap y funcionen, cierra Espanso y quítalo de los elementos de inicio de sesión (Ajustes del Sistema → General → Elementos de inicio de sesión). Si ejecutas ambos a la vez, los dos intentarán expandir los mismos triggers.
TypeSnap cuesta $17.99, un solo pago. Sin suscripción, sin cuenta en la nube. Descargar TypeSnap. O consulta la guía de importación completa para todos los formatos admitidos.