3 votes

Chargement en masse des mappages clavier/texte dans Mavericks

Sous Préférences Système/Keyboard/Text, vous pouvez saisir une liste de "corrections orthographiques" qui peuvent facilement servir de macro-remplacement pour une saisie rapide.

Il est facile de les saisir un par un, mais existe-t-il un moyen de charger en masse une longue liste de mappings ?

Disons à partir d'un fichier texte tel qu'un fichier .csv ? Ou pourrais-je écrire quelque chose en AppleScript pour faire cela ?

Y a-t-il une limite au nombre de mappings que je peux faire ?

Je pense que c'est de l'ordre de milliers.

4voto

Les paramètres sont stockés dans ~/Library/Preferences/.GlobalPreferences.plist dans le tableau NSUserDictionaryReplacementItems dans la version 10.9 et dans le tableau NSUserReplacementItems dans les versions 10.8 et antérieures. Le format du tableau n'a pas changé, donc les commandes ci-dessous devraient fonctionner dans les versions 10.8 et antérieures de OS X si vous remplacez NSUserDictionaryReplacementItems par NSUserReplacementItems.

Imprimer les paramètres actuels :

defaults read -g NSUserDictionaryReplacementItems

Ajoutez un réglage :

defaults write -g NSUserDictionaryReplacementItems -array-add '{on=1;replace=cmd;with="";}'

Remplacez tous les paramètres :

defaults write -g NSUserDictionaryReplacementItems '(
{on=1;replace=cmd;with="";},
{on=1;replace=opt;with="";}
)'

Imprimez les paramètres actuels au format XML :

defaults read -g NSUserDictionaryReplacementItems | plutil -convert xml1 - -o -

Remplacez tous les paramètres :

amp() { local x=${1//&/&amp; }; x=${x//</&lt; }; printf %s "${x//>/&gt; }"; }
out='<array>'
while IFS= read -r l; do
  out+="<dict><key>on</key><integer>1</integer><key>replace</key><string>$(amp "${l%% *}")</string><key>with</key><string>$(amp "${l#* }")</string></dict>"
done <<< 'cmd 
opt '
defaults write -g NSUserDictionaryReplacementItems "$out</array>"

Vous pouvez appliquer les modifications apportées aux valeurs par défaut en quittant et en rouvrant les applications.

1 votes

Génial. Juste pour ajouter : Je pense qu'il pourrait être possible de mettre le defaults write dans un fichier que vous pouvez ensuite enregistrer et réutiliser plus tard. Je commencerais certainement par moins de mille dans un premier temps, et je m'assurerais que le processus fonctionne comme prévu. IIRC, ceux-ci se synchronisent via iCloud à iOS à partir de Mavericks. Je ne sais pas s'il y a une limite pratique à la quantité que vous pouvez créer.

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