Managing Keynote Shortcuts from the Terminal (Advanced)
macOS stores custom menu shortcuts as user defaults. Advanced users can create, modify, and version these shortcuts directly from the command line.
Who This Is For
- Developers and technical professionals
- Users who automate Mac setup
- Anyone maintaining repeatable environments
How It Works
App-specific shortcuts live under the NSUserKeyEquivalents dictionary
for the application’s bundle identifier.
For Keynote, the bundle ID is:
com.apple.iWork.Keynote
Example Commands
Assign Align Left to ⌃⌥⌘L:
defaults write com.apple.iWork.Keynote NSUserKeyEquivalents \
-dict-add "Align Left" "^~@L"
Assign Distribute Vertically to ⌃⌥⌘V:
defaults write com.apple.iWork.Keynote NSUserKeyEquivalents \
-dict-add "Distribute Vertically" "^~@V"
^Control~Option$Shift@Command
Verification
Confirm installed shortcuts:
defaults read com.apple.iWork.Keynote NSUserKeyEquivalents
Restart Keynote after making changes.
Screenshot Placeholder
Screenshot: Terminal showing defaults write and defaults read
Why Power Users Do This
- Fast, repeatable configuration
- Scriptable system setup
- Version control for workflows
- No reliance on UI state
This technique scales well across apps and machines. It’s a core skill for anyone building a serious macOS workflow.