This blog has been archived.
Visit my home page at zhimingwang.org.

Opera-style advanced keyboard shortcuts in Safari

I've been using the Chromuim Opera for a long time, after Chrome's design went unbearably ugly around v32 (IIRC Opera stable channel was on v19 when I switched, which was released on January 28, 2014). From then on, Opera's advanced keyboard shortcuts has become an integral part of my browsing habit. In particular, the following are especially handy for me:

Lately, with the Yosemite release, Safari has become a much more competitive browser. I won't say why, and I admit that it has major missing features that still prevents it from becoming my default ā€” but I have to say Iā€™m gradually moving more of more of my browsing, especially reading, to Safari. It would be nice if I could carry my power user shortcuts with me. Fortunately, this is possible. Just modify the plist in the following way:

#!/usr/bin/env bash
defaults write com.apple.Safari NSUserKeyEquivalents '{
"Actual Size"="6";
"Back"="z";
"Find..."="/";
"Forward"="x";
"Show Previous Tab"="1";
"Show Next Tab"="2";
"Zoom In"="0";
"Zoom Out"="9";
}'

Relaunch Safari. You are all set! Enjoy the ultrafast single key navigating experience. To reset,

defaults delete com.apple.Safari NSUserKeyEquivalents

2014/12/22 Update:

There's one caveat to this approach ā€” unlike in Opera, where the default layman shortcuts (e.g., āŒ˜F) are still available when advanced keyboard shorts are enabled, in Safari they are simply overwritten. This is annoying when the web page or web app binds certain keys, especially / to its own search bar (a notable example being google.com). In that case I have to admit defeat and click on the menu bar item, which takes a hundred times as long as a single / keystroke.