Где хранятся сочетания клавиш (для резервного копирования и синхронизации)?


Ответы:


18

Ярлыки, которые можно установить в Системных настройках> Клавиатура> Ярлыки> Ярлыки приложений, хранятся в ~/Library/Preferences/.GlobalPreferences.plistсписках свойств приложений (например, ~/Library/Preferences/com.apple.iTunes.plistили ~/Library/Containers/com.apple.chess/Data/Library/Preferences/com.apple.chess.plist).

Ярлыки для сервисов хранятся в ~ / Library / Preferences / pbs.plist .


Интересно, единственный ли я человек, на которого это не сработало? Эти файлы также не являются теми XML-файлами, которые я ожидаю - они, кажется, содержат какой-то двоичный файл или что-то в этом роде
Бен Криси,

то же самое, у меня не работает (macOS Sierra 10.12.2)
милушов

3
Это также показалось мне двоичным. Но затем используйте команду, plutil -convert xml1 .GlobalPreferences.plistчтобы преобразовать ее в XML и plutil -convert binary1 .GlobalPreferences.plistпреобразовать обратно. Источник: discussions.apple.com/thread/1768480?tstart=0
Jay

1
Также TextWrangler может открывать двоичные файлы plist.
Джей

4

Как описано в принятом ответе, вы можете определить ярлыки приложения, преобразовав plist в 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
Не могли бы вы добавить некоторые детали, чтобы ответ стоял самостоятельно?
холме

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

Есть ли defaults writeкоманда для аналогичной установки сочетаний клавиш?
Пкамб
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.