Dove sono archiviate le scorciatoie da tastiera (a scopo di backup e sincronizzazione)?


18

Dove posso accedere alle scorciatoie da tastiera di OS X, diciamo per la sincronizzazione di Dropbox?

Risposte:


18

Le scorciatoie che possono essere impostate in Preferenze di Sistema> Tastiera> Scorciatoie> Scorciatoie per app sono archiviate ~/Library/Preferences/.GlobalPreferences.pliste gli elenchi delle proprietà delle applicazioni (come ~/Library/Preferences/com.apple.iTunes.plisto ~/Library/Containers/com.apple.chess/Data/Library/Preferences/com.apple.chess.plist).

Le scorciatoie per i servizi sono memorizzate in ~ / Library / Preferences / pbs.plist .


Mi chiedo se sono l'unica persona per cui non ha funzionato. Anche questi file non sembrano essere i file XML che mi aspetterei - sembrano avere qualche binario o qualcosa del genere ...
Ben Creasy,

lo stesso, non lavorare per me (macOS Sierra 10.12.2)
milushov

3
Questo è apparso come binario anche per me. Quindi usa il comando plutil -convert xml1 .GlobalPreferences.plistper convertirlo in XML e plutil -convert binary1 .GlobalPreferences.plistper riconvertirlo. Fonte: discuss.apple.com/thread/1768480?tstart=0
Jay,

1
Inoltre, TextWrangler può aprire file di file binari.
Jay,

4

Come descritto nella risposta accettata, è possibile determinare le scorciatoie di un'app convertendo il plist in xml e quindi analizzando l'xml. Puoi anche (testato su macOS Sierra 10.12.6) ottenere i valori direttamente con il defaults readcomando.

Per scrivere i comandi dei tasti utente che si applicano in tutte le applicazioni eseguite defaults read NSGlobalDomain NSUserKeyEquivalents:

$ defaults read NSGlobalDomain NSUserKeyEquivalents
{
    "Enter Full Screen" = "@^f";
    "Exit Full Screen" = "@^f";
    "Merge All Windows" = "@$m";
}

Per scrivere le scorciatoie da tastiera dell'utente per una particolare app, utilizzare defaults read <app-plist-name> NSUserKeyEquivalents. Ad esempio, per ottenere le scorciatoie da tastiera dell'utente per Safari (in questo esempio, l'utente non ha impostato alcuna scorciatoia da tastiera personalizzata per Safari)

$ defaults read com.apple.safari NSUserKeyEquivalents
The domain/default pair of (com.apple.safari, NSUserKeyEquivalents) does not exist

Mapping chiave che ho scoperto in questa sintassi di stringa:

  • command = $
  • control = ^
  • option = ~
  • shift = @

3
Potete per favore aggiungere alcuni dettagli per rendere la risposta autonoma?
Nohillside

Per le scorciatoie globali, puoi anche usaredefaults read -g NSUserKeyEquivalents
henry

c'è un defaults writecomando per impostare in modo simile le scorciatoie da tastiera?
pkamb,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.