键盘快捷方式存储在哪里(用于备份和同步)?


Answers:


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文件-它们似乎具有一些二进制文件或某些文件……
Ben Creasy

同样,不要为我工作(macOS Sierra 10.12.2)
milushov

3
对我来说,这也显示为二进制。但是然后使用命令plutil -convert xml1 .GlobalPreferences.plist将其转换为XML,然后plutil -convert binary1 .GlobalPreferences.plist再转换回XML 。来源:discussions.apple.com/thread/1768480?tstart=0
周杰伦

1
另外,TextWrangler可以打开二进制plist文件。
杰(Jay)

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
您能否添加一些详细信息以使答案独立存在?
nohillside

对于全局快捷方式,您还可以使用defaults read -g NSUserKeyEquivalents
henry

是否有defaults write类似设置键盘快捷键的命令?
pkamb
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.