¿Cómo exportar reemplazos de texto desde la preferencia del sistema de teclado desde el shell?

Aquí hay algunos usuarios que usan el mismo texto de reemplazo entre varias máquinas. Nos gustaría poder sincronizar la tabla de reemplazo entre los sistemas.

En este momento, la forma manual de hacer esto consiste en seleccionar todos los elementos de Preferencias del sistema -> Teclado -> Entradas de texto en la tabla debajo de esta pestaña y luego arrastrarlos al Finder. Esta es la tabla de la que hablo:ejemplo

Esto crea un plist que luego se puede compartir y arrastrar de nuevo a esta tabla para su importación.

Sospecho que hay una manera de capturar manualmente el plist o una parte de esta configuración dondequiera que exista y luego simplemente configurar un script de sincronización que nos mantiene a todos sincronizados todos los días.

EDITAR: Por lo que vale, investigué un poco y descubrí que estos valores están almacenados en ~/Library/Preferences/.GlobalPreferences.plist. Si miras, verás estos almacenados en la NSUserDictionaryReplacementItemsclave.

Descubrí que puedes extraer estas teclas con el siguiente comando:/usr/libexec/PlistBuddy -c "Print :NSUserDictionaryReplacementItems" ~/Library/Preferences/.GlobalPreferences.plist

Así que ahora será cuestión de almacenarlos y volver a insertarlos en la clave plist de otro sistema.

¿Alguna idea sobre cómo hacer esto manualmente desde el shell para poder automatizar?

Realmente no responde la pregunta, pero tal vez aborde la necesidad subyacente: la sincronización de iCloud de los reemplazos de texto debe corregirse en iOS 11 y MacOS 10.13 High Sierra. daringfireball.net/linked/2017/09/27/…
Gracias, sí, debería haberlo notado yo mismo. Esto es ayudado (aunque todavía me gustaría hacerlo). Curiosamente, parece haber venido como respuesta a una solicitud de función que hice a Apple. JAJAJA. Te daré un voto a favor, aunque aún me gustaría dejar esto como si aún no hubiera sido respondido para una respuesta real, si existe...

Respuestas (3)

Hay una herramienta de línea de comandos no oficial, que hace exactamente lo que quieres, se llama accesos directos . Como se mencionó en GitHub, puede instalarlo a través de homebrew

brew install rodionovd/taps/shortcuts

y luego enumere sus reemplazos actuales a través de

shortcuts read

y añadir nuevos a través de

shortcuts import <input.plist>
shortcuts create <shortcut> <new phrase>
shortcuts update <shortcut> <phrase>
shortcuts delete <shortcut>

para obtener más información, consulte la documentación .

simplemente presione cmd+a en los archivos de reemplazo de texto, arrástrelos al escritorio, envíe ese archivo por correo electrónico, arrástrelo y suéltelo nuevamente en el reemplazo de texto en la configuración de la nueva MacBook, listo

Si ayuda, si todo lo que tiene es una copia de seguridad no arrancable del sistema anterior, simplemente tomar las entradas de .GlobalPreferences.plist manualmente puede no funcionar, ya que las entradas tienen un formato diferente allí. Es posible que deba buscar y reemplazar para que

        <dict>
        <key>on</key>
        <integer>1</integer>
        <key>replace</key>
        <string>shruggie</string>
        <key>with</key>
        <string>¯\_(ツ)_/¯</string>
    </dict>

se convierte

        <dict>
        <key>shortcut</key>
        <string>shruggie</string>
        <key>phrase</key>
        <string>¯\_(ツ)_/¯</string>
    </dict>