Carico di massa di tastiera / mappature di testo in Mavericks

3

In Preferenze di Sistema / Tastiera / Testo, puoi inserire un elenco di "correzioni ortografiche" che possono facilmente fungere da macro-rimpiazzo per la digitazione rapida.

È facile inserirli uno per uno, ma esiste un modo per caricare in massa un lungo elenco di mapping?

Dì da qualche tipo di file di testo come un file .csv? O potrei potenzialmente scrivere qualcosa in AppleScript per farlo?

Inoltre, c'è un limite al numero di mapping che faccio?

Sto pensando all'ordine delle migliaia.

    
posta kfmfe04 01.12.2013 - 05:07
fonte

1 risposta

4

Le impostazioni sono memorizzate in ~ / Library / Preferences / .GlobalPreferences.plist nell'array NSUserDictionaryReplacementItems in 10.9 e nell'array NSUserReplacementItems in 10.8 e versioni precedenti. Il formato dell'array non è cambiato, quindi i comandi seguenti dovrebbero funzionare in 10.8 e versioni precedenti di OS X se si sostituisce NSUserDictionaryReplacementItems con NSUserReplacementItems.

Stampa le impostazioni correnti:

defaults read -g NSUserDictionaryReplacementItems

Aggiungi un'impostazione:

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

Sostituisci tutte le impostazioni:

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

Stampa le impostazioni correnti in formato XML:

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

Sostituisci tutte le impostazioni:

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

Puoi applicare le modifiche apportate con i valori predefiniti chiudendo e riaprendo le applicazioni.

    
risposta data 01.12.2013 - 23:07
fonte

Leggi altre domande sui tag