Come faccio a copiare le impostazioni globali di sostituzione del testo in iWork '09 (Keynote, Pages)?

0

Sorprendentemente, un anno dopo che Lion è stato rilasciato, iWork continua a non supportare le impostazioni di sostituzione del testo globale di Lion / ML.

Li uso ampiamente per simboli tecnici speciali.

Anche se la sostituzione del testo globale non è supportata in iWork, Keynote e Pages hanno la loro funzione di sostituzione del testo locale, che funziona come quella globale, ma non usa le impostazioni globali.

Il mio problema? Ho circa 100 sostituzioni di testo configurate in Lion, quindi inserirle in ciascuna applicazione di iWork richiederebbe un'età.

Qualcuno conosce un modo (ad esempio modificando file di preferenze, ecc.) per trasferire tutte le impostazioni dalla funzione di sostituzione del testo di Lion in Keynote e Pages?

Questo sarebbe un enorme risparmio di tempo per me.

    
posta dan8394 10.08.2012 - 18:55
fonte

3 risposte

4

Le sostituzioni per Pages.app sono memorizzate in: ~/Library/Preferences/com.apple.iWork.Pages.plist

In particolare sono in Root/kSFWPAutoSubstitutionArrayProperty . Il formato è un array contenente dizionari con le chiavi replace , with e on .

Le sostituzioni globali si trovano a ~/Library/Preferences/.GlobalPreferences.plist . In particolare, sono in Root/NSUserReplacementItems . Il formato, convenientemente, è identico.

Probabilmente è possibile aprire ~/Library/Preferences/.GlobalPreferences.plist come testo normale e copiare tutto ciò che vuoi in ~/Library/Preferences/com.apple.iWork.Pages.plist .

    
risposta data 15.08.2012 - 13:32
fonte
3

Ho avuto una domanda simile. Ho trovato una discussione su questo forum per discutere come spostare le sostituzioni da una versione di OSX alla successiva. Ho adattato questa soluzione alle sostituzioni di sistemi in movimento in pagine. Ho scritto uno script di shell, che può essere eseguito con il cron job sopra.

Lo script si basa principalmente su PlistBuddy - un editor di preferenze fornito con il sistema operativo da Apple. Sarà necessario modificarlo prima di eseguirlo in modo che le directory nello script corrispondano a quelle presenti sulla macchina. Oltre a questo, il mio script è ben documentato, quindi non discuterò ulteriormente ...

#!/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

Come avvertimento sull'uso delle sostituzioni di testo in Pages, Pages non converte lo stile del carattere come fa TextEdit. Ciò significa che i caratteri speciali appaiono in qualsiasi font che stai usando. Poiché la maggior parte delle mie sostituzioni sono simboli matematici e poiché il mio carattere predefinito è Helvetica, i miei caratteri sostituiti di solito appaiono come un punto. Devo cambiare lo stile del carattere di questi personaggi in Cambria affinché appaia correttamente.

Se non lo sapevi, potresti supporre che la sostituzione non abbia funzionato.

Buona fortuna!

    
risposta data 02.02.2013 - 03:37
fonte
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

Potresti anche usare un file di testo per configurare le sostituzioni:

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

E aggiornali con uno 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"
    
risposta data 15.08.2012 - 21:32
fonte

Leggi altre domande sui tag