D'un point de vue programmatique, chaque substitution est un dictionnaire écrit dans le tableau NSUserReplacementItems à la racine du fichier ~/Library/Preferences/.GlobalPreferences.plist.
Je n'arrive pas à trouver un moyen simple de déplacer des données, même avec l'éditeur de liste de propriétés de Xcode, depuis 1. un fichier invisible 2. dans un dossier caché 3. vers une partie spécifique du nouveau fichier système. Pour commencer, vous pouvez les lire tous avec defaults read .GlobalPreferences NSUserReplacementItems
ou, si vous voulez juste en tirer un (le premier que je vois et que je viens de personnaliser dans Lion est situé à l'index #15, donc) : /usr/libexec/PlistBuddy -c "Print :NSUserReplacementItems:15" ~/Library/Preferences/.GlobalPreferences.plist
qui renverrait quelque chose comme ceci :
Dict {
replace = bIg
with = BigBabyBuggyBumpers
on = 1
}
Ensuite, la réécriture des données peut être faite dans n'importe quel langage de script qui parle le xml d'Apple, ou au coup par coup avec le trio de.. :
/usr/libexec/PlistBuddy -c 'Add :NSUserReplacementItems:16:on integer 1' ~/Library/Preferences/.GlobalPreferences.plist
(qui active la case à cocher)
/usr/libexec/PlistBuddy -c 'Add :NSUserReplacementItems:16:replace string "bIg"' ~/Library/Preferences/.GlobalPreferences.plist
/usr/libexec/PlistBuddy -c 'Add :NSUserReplacementItems:16:with string "BigBabyBuggyBumpers"' ~/Library/Preferences/.GlobalPreferences.plist
Je vais le tweeter, quelqu'un a probablement un moyen plus facile et peut intervenir ou construire sur ce sujet.