Де зберігаються комбінації клавіш (для резервного копіювання та синхронізації)?


18

Де я можу отримати доступ до комбінацій клавіш OS X, скажімо, для синхронізації Dropbox?

Відповіді:


18

Комбінації клавіш, які можна встановити в системних налаштуваннях> Клавіатура> Ярлики> Ярлики додатків, зберігаються в ~/Library/Preferences/.GlobalPreferences.plistсписках властивостей програм (наприклад, ~/Library/Preferences/com.apple.iTunes.plistабо ~/Library/Containers/com.apple.chess/Data/Library/Preferences/com.apple.chess.plist).

Ярлики для служб зберігаються у ~ / Бібліотека / Налаштування / pbs.plist .


Цікаво, чи я єдина людина, для якої це не працювало. Ці файли також не здаються файлами XML, яких я очікував - вони, здається, мають деякі двійкові чи щось таке ...
Ben Creasy

те ж, не працюй для мене (macOS Sierra 10.12.2)
milushov

3
Це виявилося як бінарне і для мене. Але потім скористайтеся командою, plutil -convert xml1 .GlobalPreferences.plistщоб перетворити його в XML і plutil -convert binary1 .GlobalPreferences.plistперетворити його назад. Джерело: обговорення.apple.com/
Jay

1
Також TextWrangler може відкривати бінарні файли плістів.
Джей

4

Як описано у прийнятій відповіді, ви можете визначити ярлики програми, перетворивши пліст у xml і потім розібравши xml. Ви також можете (тестуватися на macOS Sierra 10.12.6) отримувати значення безпосередньо за допомогою defaults readкоманди.

Щоб виписати команди ключа користувача, які застосовуються у всіх програмах defaults read NSGlobalDomain NSUserKeyEquivalents:

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

Щоб виписати ярлики на клавіатурі користувача для певного додатка, використовуйте defaults read <app-plist-name> NSUserKeyEquivalents. Наприклад, щоб отримати комбінації клавіш користувача для запуску Safari (у цьому прикладі користувач не встановив жодних спеціальних комбінацій клавіш для Safari)

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

Основні відображення, які я виявив у цьому синтаксисі рядків:

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

3
Чи можете ви додати деякі деталі, щоб зробити відповідь самостійно?
nohillside

Для глобальних ярликів ви також можете використовуватиdefaults read -g NSUserKeyEquivalents
Генрі

чи є defaults writeкоманда аналогічно встановити комбінації клавіш?
пкемб
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.