0 votes

Comment copier les paramètres globaux de substitution de texte dans iWork '09 (Keynote, Pages) ?

Étonnamment, un an après la sortie de Lion, iWork ne prend toujours pas en charge les paramètres globaux de substitution de texte de Lion / ML.

Je les utilise largement pour les symboles techniques spéciaux.

Bien que la substitution de texte globale ne soit pas prise en charge dans iWork, Keynote et Pages disposent de leur propre fonction de substitution de texte locale, dont les performances sont identiques à celles de la fonction globale, mais qui n'utilise pas les paramètres globaux.

Mon problème ? J'ai configuré une centaine de substitutions de texte dans Lion, et les saisir dans chaque application iWork prendrait un temps fou.

Quelqu'un connaît-il un moyen (par exemple, en modifiant les fichiers de préférences, etc.) de transférer tous les paramètres de la fonction de substitution de texte de Lion dans Keynote et Pages ?

Ce serait un énorme gain de temps pour moi.

4voto

ratbum Points 224

Les substitutions pour Pages.app sont stockées dans : ~/Library/Preferences/com.apple.iWork.Pages.plist

Plus précisément, ils sont dans Root/kSFWPAutoSubstitutionArrayProperty . Le format est un tableau contenant des dictionnaires dont les clés sont les suivantes replace , with y on .

Les substitutions globales se trouvent à l'adresse suivante ~/Library/Preferences/.GlobalPreferences.plist . Plus précisément, ils sont dans Root/NSUserReplacementItems . Le format, commodément, est identique.

Il est probablement possible d'ouvrir ~/Library/Preferences/.GlobalPreferences.plist en tant que texte brut et copier ce que vous voulez dans ~/Library/Preferences/com.apple.iWork.Pages.plist .

3voto

Craig Champlin Points 31

J'ai eu une question similaire. J'ai trouvé un fil de discussion sur ce forum expliquant comment déplacer les substitutions d'une version d'OSX à l'autre. J'ai adapté cette solution pour déplacer les substitutions du système dans les pages. J'ai écrit un shell script, qui pourrait être exécuté avec la tâche cron ci-dessus.

Le script s'appuie principalement sur PlistBuddy - un éditeur de préférences fourni avec l'OS par Apple. Vous devrez le modifier avant de l'exécuter pour que les répertoires du script correspondent à ceux de votre machine. A part cela, mon script est bien documenté, donc je ne discuterai pas plus...

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

Une mise en garde concernant l'utilisation des substitutions de texte dans Pages : Pages ne convertit pas le style de police comme le fait TextEdit. Cela signifie que les caractères spéciaux apparaissent dans la police que vous utilisez. Étant donné que la plupart de mes substitutions sont des symboles mathématiques et que ma police par défaut est Helvetica, les caractères substitués apparaissent généralement sous la forme d'un point. Je dois changer le style de police de ces caractères en Cambria pour qu'ils apparaissent correctement.

Si vous ne le saviez pas, vous pourriez supposer que la substitution n'a pas fonctionné.

Bonne chance à vous !

1voto

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

Vous pouvez également utiliser un fichier texte pour configurer les substitutions :

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

Et les mettre à jour avec 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"

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X