Come esportare le sostituzioni di testo dalla tastiera Preferenze di sistema dalla shell?

4

Qui ci sono alcuni utenti che usano lo stesso testo sostitutivo tra più macchine. Ci piacerebbe essere in grado di sincronizzare la tabella di sostituzione tra i sistemi.

In questo momento il modo manuale per farlo consiste nel selezionare tutti gli elementi da Preferenze di Sistema - > Tastiera - > Inserire le voci di testo nella tabella sotto questa scheda e trascinarle quindi sul Finder. Ecco il tavolo di cui sto parlando:

Questocreaunplistchepuòquindiesserecondivisoetrascinatosuquestatabellaperl'importazione.

Hoilsospettochecisiaunmodoperacquisiremanualmenteilplistounaporzionediquestaconfigurazioneovunqueesistaequindisemplicementeimpostareunoscriptdisincronizzazionechecitienetuttiinsincroniaognigiorno.

EDIT:Perquellochevale,hofattounpo'discavoehoscopertochequestivalorisonomemorizzatiin~/Library/Preferences/.GlobalPreferences.plist.Seguardi,vedraiquestimemorizzatinellachiaveNSUserDictionaryReplacementItems.

Hoscopertochepuoiestrarrequestechiaviconilseguentecomando:/usr/libexec/PlistBuddy-c"Print :NSUserDictionaryReplacementItems" ~/Library/Preferences/.GlobalPreferences.plist

Quindi ora si tratta di archiviarli e reinserirli nella chiave plist di un altro sistema.

Qualche idea su come farlo manualmente dalla shell in modo da essere in grado di automatizzare?

    
posta ylluminate 19.06.2017 - 22:06
fonte

2 risposte

4

C'è uno strumento da riga di comando non ufficiale, che fa esattamente quello che vuoi, i suoi cosiddetti scorciatoie . Come menzionato su GitHub, puoi installarlo tramite homebrew

brew install rodionovd/taps/shortcuts

e quindi elenca i tuoi sostituti attuali tramite

shortcuts read

e aggiungine di nuovi tramite

shortcuts import <input.plist>
shortcuts create <shortcut> <new phrase>
shortcuts update <shortcut> <phrase>
shortcuts delete <shortcut>

per i dettagli, consulta la documentazione .

    
risposta data 24.03.2018 - 17:44
fonte
-2

Se aiuta, se tutto quello che hai è un backup non avviabile del vecchio sistema, semplicemente afferrare le voci da .GlobalPreferences.plist manualmente potrebbe non funzionare, poiché le voci sono formattate in modo diverso lì. Potrebbe essere necessario fare qualche ricerca e sostituzione in modo che

        <dict>
        <key>on</key>
        <integer>1</integer>
        <key>replace</key>
        <string>shruggie</string>
        <key>with</key>
        <string>¯\_(ツ)_/¯</string>
    </dict>

diventa

        <dict>
        <key>shortcut</key>
        <string>shruggie</string>
        <key>phrase</key>
        <string>¯\_(ツ)_/¯</string>
    </dict>
    
risposta data 12.11.2018 - 11:29
fonte

Leggi altre domande sui tag