Wie kopiere ich globale Einstellungen für die Textsubstitution in iWork '09 (Keynote, Pages)?

0

Erstaunlicherweise unterstützt iWork auch ein Jahr nach der Veröffentlichung von Lion die globalen Textersetzungseinstellungen von Lion / ML nicht.

Ich verwende diese häufig für spezielle technische Symbole.

Obwohl die globale Textsubstitution in iWork nicht unterstützt wird, verfügen Keynote und Pages über eine eigene lokale Textsubstitutionsfunktion, die dieselbe Funktion wie die globale ausführt, jedoch nicht die globalen Einstellungen verwendet.

Mein Problem? Ich habe ungefähr 100 Textersetzungen in Lion eingerichtet, daher würde die Eingabe in jede iWork-Anwendung ein Alter benötigen.

Kennt jemand eine Möglichkeit (z. B. durch Bearbeiten von Einstellungsdateien usw.), alle Einstellungen aus der Textsubstitutionsfunktion von Lion in Keynote und Pages zu übertragen?

Dies wäre eine enorme Zeitersparnis für mich.

dan8394
quelle

Antworten:

4

Die Ersetzungen für Pages.app sind gespeichert in: ~/Library/Preferences/com.apple.iWork.Pages.plist

Insbesondere sind sie in Root/kSFWPAutoSubstitutionArrayProperty. Das Format ist ein ein Array Wörterbücher mit den Tasten enthält replace, withund on.

Die globalen Vertretungen befinden sich unter ~/Library/Preferences/.GlobalPreferences.plist. Insbesondere sind sie in Root/NSUserReplacementItems. Das Format ist praktisch identisch.

Es ist wahrscheinlich möglich, nur ~/Library/Preferences/.GlobalPreferences.plistals einfacher Text zu öffnen und über das zu kopieren, was Sie möchten ~/Library/Preferences/com.apple.iWork.Pages.plist.

ratbum
quelle
Dies scheint funktioniert zu haben - die Ersetzungen sind jetzt in Pages. :-) Aber es hat Pages absturzanfällig und instabil gemacht. :-( Gibt es eine sicherere Möglichkeit zum Bearbeiten von Plist-Dateien als in einem Texteditor?
dan8394
Ich weiß, dass Sie sie in Xcode öffnen können, aber das ist in der Regel ziemlich langsam. Da es sich nur um Text handelt, kann ich nicht wirklich erkennen, dass dies das Problem ist. Es scheint mir seltsam, dass es zum Absturz neigen würde. Vielleicht liegt es daran, dass Sie so viele davon haben? Vielleicht sehen Sie, wie es mit weniger Substitutionen funktioniert?
Ratbum
Ich habe das Problem gefunden. Smultron - mein Texteditor - hat die Dateien beschädigt!
Dan8394
Oh je, erinnere mich daran, das nicht zu benutzen. Ich bin jedoch froh, dass Sie das erledigt haben.
Ratbum
3

Ich hatte eine ähnliche Frage. Ich habe in diesem Forum einen Thread gefunden, in dem erörtert wird, wie Substitutionen von einer OSX-Version zur nächsten verschoben werden. Ich habe diese Lösung angepasst, um Systemersetzungen in Seiten zu verschieben. Ich habe ein Shell-Skript geschrieben, das mit dem obigen Cron-Job ausgeführt werden kann.

Das Skript basiert hauptsächlich auf PlistBuddy - einem Einstellungseditor, der mit dem Betriebssystem von Apple geliefert wird. Sie müssen es vor der Ausführung bearbeiten, damit die Verzeichnisse im Skript mit denen auf Ihrem Computer übereinstimmen. Ansonsten ist mein Drehbuch gut dokumentiert, sodass ich nicht weiter darauf eingehen werde ...

#! / bin / bash

# kopiert die Einstellungen für die Textsubstitution von
# System zu Seiten 
#
# Autor: Craig Champlin
# 2/1/2013
#
# Angepasst von: http://apple.stackexchange.com/questions/57960/how-can-i-export-text-substitutions-from-lion-for-import-into-mountain-lion
# 
# Überhaupt nicht robust, schnell und schmutzig - Verwendung auf eigenes Risiko

# Wechseln Sie in das Einstellungsverzeichnis, um die Eingabe zu speichern
cd / Users / Craig / Library / Einstellungen

# Sicherungseinstellungen für Seiten
cp com.apple.iWork.Pages.plist com.apple.iWork.Pages.plist.bak

# Systemersetzungen in eine Datei extrahieren
/ usr / libexec / PlistBuddy -x -c "NSUserReplacementItems drucken" .GlobalPreferences.plist> ./zzzSystemReplacements

# Ersetzungen in den Seiteneinstellungen löschen
/ usr / libexec / PlistBuddy -c "kSFWPAutoSubstitutionArrayProperty löschen" com.apple.iWork.Pages.plist

# Erstellen Sie einen neuen, leeren Substitutionseintrag für Seiten
/ usr / libexec / PlistBuddy -c "kSFWPAutoSubstitutionArrayProperty-Array hinzufügen" com.apple.iWork.Pages.plist

# exportierte Einstellungen in Seiten zusammenführen
/ usr / libexec / PlistBuddy -c "zzzSystemReplacement zusammenführen kSFWPAutoSubstitutionArrayProperty" com.apple.iWork.Pages.plist

# Visuell versichern, dass der Vorgang erfolgreich abgeschlossen wurde 
/ usr / libexec / PlistBuddy -x -c "kSFWPAutoSubstitutionArrayProperty drucken" com.apple.iWork.Pages.plist

Als Einschränkung zur Verwendung von Textsubstitutionen in Pages konvertiert Pages den Schriftstil nicht wie TextEdit. Dies bedeutet, dass Sonderzeichen in der jeweils verwendeten Schriftart angezeigt werden. Da die meisten meiner Ersetzungen mathematische Symbole sind und meine Standardschrift Helvetica ist, werden meine ersetzten Zeichen normalerweise als Punkt angezeigt. Ich muss den Schriftstil für diese Zeichen in Cambria ändern, damit sie korrekt angezeigt werden.

Wenn Sie das nicht wüssten, könnten Sie annehmen, dass die Substitution nicht funktioniert hat.

Viel Glück euch!

Craig Champlin
quelle
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

Sie können auch eine Textdatei verwenden, um die Ersetzungen zu konfigurieren:

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

Und aktualisiere sie mit einem Skript:

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"
Lri
quelle