¿Cómo copio la configuración de sustitución de texto global en iWork '09 (Keynote, Pages)?

0

Sorprendentemente, un año después del lanzamiento de Lion, iWork todavía no admite la configuración de sustitución de texto global de Lion / ML.

Los uso ampliamente para símbolos técnicos especiales.

iWork no admite la sustitución de texto global, Keynote y Pages tienen su propia función de sustitución de texto local, que funciona igual que la global, pero no usa la configuración global.

¿Mi problema? Tengo alrededor de 100 sustituciones de texto configuradas en Lion, por lo que ingresarlas en cada aplicación iWork tomaría una edad.

¿Alguien sabe una forma (por ejemplo, mediante la edición de archivos de preferencias, etc.) para transferir todas las configuraciones de la función de sustitución de texto de Lion a Keynote y Pages?

Esto sería un gran ahorro de tiempo para mí.

    
pregunta dan8394 10.08.2012 - 18:55

3 respuestas

4

Las sustituciones para Pages.app se almacenan en: ~/Library/Preferences/com.apple.iWork.Pages.plist

Específicamente están en Root/kSFWPAutoSubstitutionArrayProperty . El formato es una matriz que contiene diccionarios con las claves replace , with y on .

Las sustituciones globales se encuentran en ~/Library/Preferences/.GlobalPreferences.plist . Específicamente, están en Root/NSUserReplacementItems . El formato, convenientemente, es idéntico.

Probablemente solo sea posible abrir ~/Library/Preferences/.GlobalPreferences.plist como texto sin formato y copiarlo en ~/Library/Preferences/com.apple.iWork.Pages.plist .

    
respondido por el ratbum 15.08.2012 - 13:32
3

Tuve una pregunta similar. Encontré un hilo en este foro que discute cómo mover sustituciones de una versión de OSX a la siguiente. Adapté esta solución para mover las sustituciones del sistema a las páginas. Escribí un script de shell, que podría ejecutarse con el trabajo cron anterior.

El script se basa principalmente en PlistBuddy, un editor de preferencias proporcionado por Apple con el sistema operativo. Deberá editarlo antes de ejecutar para que los directorios del script coincidan con los de su máquina. Aparte de eso, mi script está bien documentado, por lo que no voy a discutir más ...

#!/bin/bash

# copies text substitution preferences from
# system to pages 
#
# Author: Craig Champlin
# 2/1/2013
#
# Adapted from: http://apple.stackexchange.com/questions/57960/how-can-i-export-text-substitutions-from-lion-for-import-into-mountain-lion
# 
# not robust at all, quick and dirty - use at own risk

# change to preference directory to save typing
cd /Users/Craig/Library/Preferences

# backup preferences for pages
cp com.apple.iWork.Pages.plist com.apple.iWork.Pages.plist.bak

# extract system substitutions to a file
/usr/libexec/PlistBuddy -x -c "Print NSUserReplacementItems" .GlobalPreferences.plist > ./zzzSystemReplacements

# wipe out substitutions in Pages preferences
/usr/libexec/PlistBuddy -c "Delete kSFWPAutoSubstitutionArrayProperty" com.apple.iWork.Pages.plist

# create a new, blank substitutions entry for pages
/usr/libexec/PlistBuddy -c "Add kSFWPAutoSubstitutionArrayProperty array" com.apple.iWork.Pages.plist

# merge exported preferences into pages
/usr/libexec/PlistBuddy -c "Merge zzzSystemReplacements kSFWPAutoSubstitutionArrayProperty" com.apple.iWork.Pages.plist

# visually insure operation completed successfully 
/usr/libexec/PlistBuddy -x -c "Print kSFWPAutoSubstitutionArrayProperty" com.apple.iWork.Pages.plist

Como advertencia sobre el uso de sustituciones de texto en Pages, Pages no convierte el estilo de fuente como lo hace TextEdit. Esto significa que los caracteres especiales aparecen en cualquier fuente que esté utilizando. Dado que la mayoría de mis sustituciones son símbolos matemáticos y que mi fuente predeterminada es Helvetica, mis caracteres sustituidos suelen aparecer como un punto. Tengo que cambiar el estilo de fuente de estos caracteres a Cambria para que aparezcan correctamente.

Si no lo sabía, podría suponer que la sustitución no había funcionado.

¡Mucha suerte!

    
respondido por el Craig Champlin 02.02.2013 - 03:37
1

for d in com.apple.iWork.Pages com.apple.iWork.Keynote com.apple.iWork.Numbers; do defaults write $d kSFWPAutoSubstitutionArrayProperty "$(defaults read -g NSUserReplacementItems | sed 's/\\/\/g')"; done

También puede usar un archivo de texto para configurar las sustituciones:

(
{on = 1; replace = "..."; with = "…";},
{on = 1; replace = "(c)"; with = "©";}
)

Y actualízalos con un script:

t=$(cat ~/Desktop/test.txt)
defaults write -g NSUserReplacementItems "$t"
defaults write com.apple.iWork.Pages kSFWPAutoSubstitutionArrayProperty "$t"
defaults write com.apple.iWork.Numbers kSFWPAutoSubstitutionArrayProperty "$t"
defaults write com.apple.iWork.Keynote kSFWPAutoSubstitutionArrayProperty "$t"
    
respondido por el user495470 15.08.2012 - 21:32

Lea otras preguntas en las etiquetas