質問: すべてのキーボードショートカットをあるmacから別のmacに移行するにはどうすればよいですか? 私はたくさんのカスタムキーボードショートカットを持っており、移行macになります。移行アシスタントをテストしましたが、これらを取得できなかったようです。~/library/application supportフォルダー内の個々のアプリケーションのplistファイルに保存されていることをどこかで読みましたが、これらのフォルダーのいくつかをショートカットにコピーした後でも、従わないようです。すべてのキーボードショートカットを新しいmacに移行するにはどうすればよいですか?
回答: [アプリケーションのショートカット]タブから変更できるショートカットは、~/library/preferences/.globalpreferences.plistに保存され、アプリケーションのプロパティリストには~/library/preferences/*.plistと~/library/containers/*/data/library/preferences/*.plistに保存されます。$ defaults find nsuserkeyequivalents found 1 keys in domain 'apple global domain': { nsuserkeyequivalents = { "actual size" = "@0"; "automatic fit" = "@9"; "automatically resize" = "@9"; "browse all versions..." = "^@v"; "decrease indent level" = "^\\uf702"; "decrease level" = "^\\uf702"; "decrease paragraph indent" = "^\\uf702"; "enter full screen" = "^@f"; "enter full screen mode" = "^@f"; "exit full screen" = "^@f"; "exit full screen mode" = "^@f"; "find next" = "@g"; "find previous" = "$@g"; "find and replace..." = "~@f"; "full screen" = "^@f"; fullscreen = "^@f"; "increase indent level" = "^\\uf703"; "increase level" = "^\\uf703"; "increase paragraph indent" = "^\\uf703"; "line spacing..." = "~@l"; minimize = "\001"; "minimize all" = "\001"; "move line down" = "^\\uf701"; "move line up" = "^\\uf700"; "next tab" = "~@\\uf703"; "next workspace" = "~@\\uf703"; "normal screen" = "^@f"; "original size" = "@0"; "previous tab" = "~@\\uf702"; "previous workspace" = "~@\\uf702"; "remove full screen" = "^@f"; reveal = "$@r"; "select next tab" = "~@\\uf703"; "select next tab view" = "~@\\uf703"; "select previous tab" = "~@\\uf702"; "select previous tab view" = "~@\\uf702"; "shift down" = "^\\uf701"; "shift left" = "^\\uf702"; "shift right" = "^\\uf703"; "shift up" = "^\\uf700"; "show next tab" = "~@\\uf703"; "show previous tab" = "~@\\uf702"; "show in finder" = "$@r"; "toggle full screen" = "^@f"; "use selection for find" = "@e"; "zoom reset" = "@0"; "zoom to fit" = "@9"; }; } found 1 keys in domain 'com.panic.transmit': { nsuserkeyequivalents = { "hide invisible files" = "$@."; refresh = "@r"; "show invisible files" = "$@."; "synchronize..." = "$@y"; }; } found 1 keys in domain 'net.sourceforge.skim-app.skim': { nsuserkeyequivalents = { crop = "@k"; "single page" = "$@1"; "single page continuous" = "$@0"; "two pages" = "$@2"; }; } found 1 keys in domain 'com.googlecode.iterm2': { nsuserkeyequivalents = { "next pane" = "@\\uf703"; "open autocomplete..." = "@;"; "previous pane" = "@\\uf702"; "select pane above" = "@\\uf700"; "select pane below" = "@\\uf701"; }; } found 1 keys in domain 'net.notational.velocity': { nsuserkeyequivalents = { bold = "\001"; delete = "$@d"; italic = "\001"; "plain text style" = "\001"; strikethrough = "\001"; }; } found 1 keys in domain 'com.apple.safari': { nsuserkeyequivalents = { "mail contents of this page" = "\001"; "reopen all windows from last session" = "~$@r"; "reopen last closed window" = "~@r"; }; } found 1 keys in domain 'com.hogbaysoftware.writeroom.mac': { nsuserkeyequivalents = { "column 120" = "$@7"; "column 200" = "$@8"; "column 40" = "$@1"; "column 50" = "$@2"; "column 60" = "$@3"; "column 66" = "$@4"; "column 80" = "$@5"; "column 90" = "$@6"; "column window width" = "$@0"; "enter full screen" = "$@f"; "enter full screen single" = "^@f"; "exit full screen" = "$@f"; "exit full screen single" = "^@f"; }; } 私は実際に次のようなシェルスクリプトを使用してショートカットを構成します。defaults write -g nsuserkeyequivalents '{ "browse all versions..." = "^@v"; "minimize" = "\1"; "minimize all" = "\1"; "show previous tab" = "~@\uf702"; "show next tab" = "~@\uf703"; }' defaults write -app safari nsuserkeyequivalents '{ "reopen last closed window" = "~@r"; "reopen all windows from last session" = "~$@r"; "mail contents of this page" = "\1"; }' ショートカット文字列は、 defaultkeybinding.dict と同じ形式を使用します。メニュー項目を\1に割り当てると、ショートカットを削除できます。メニュー項目をnilに割り当てると、audacityなどの一部のアプリケーションでnを押すとトリガーされます。メニュー項目を\0に割り当てると、10.9でsafariのいずれかのキーを押すとトリガーされます。プリファレンスはmavericksにキャッシュされていることに注意してください。デフォルトで行われた変更は、アプリケーションを終了して再度開いた後も引き続き適用されます。ただし、plistを直接編集するか、plistを置き換える場合は、killall cfprefsdまたはdefaults read /path/to/plistも実行する必要があります。