logoalt Hacker News

perryizgr8today at 1:39 AM4 repliesview on HN

Keyboard shortcuts are truly a mess on mac os. Windows does it much better and with more consistency. That results in third party apps also having sensible shortcuts. Example: Ctrl+G is widely used in code editors for "Goto line". On Windows it makes perfect sense to use because Ctrl+ shortcuts are used for text editing everywhere. But on macos it is out of place, because there Cmd+ is the standard for text editing. But Cmd+G is used for some obscure find feature. So editors fall back to Ctrl+G which is out of place.


Replies

kccqzytoday at 3:00 AM

The "goto line" feature on most Mac text editors is Cmd+L. And it's consistent.

On the Mac the Control shortcuts are used for text manipulation everywhere and they come from Emacs: C-a, C-e, C-f, C-b, C-k, etc. The Cmd key is not the standard for text editing; it is the standard for all app-specific commands. For example Cmd+I usually makes text italic in a word processor, but in a non-word processor app italic makes no sense, so for example in Finder it means bring up the inspector.

perilunartoday at 3:18 AM

> Cmd+G is used for some obscure find feature

How is find next 'obscure'?

AnonCtoday at 2:29 AM

I don’t know why this comment is downvoted, but I don’t agree with this either because the OS (historical) conventions are different, and there may be unintuitive shortcuts on all OSes. What matters is consistency across applications on the same OS.

One point on macOS is that it’s very weak on keyboard based navigation and shortcuts for apps by default (compared to Windows). Even Apple doesn’t bother with keyboard based navigation in its own apps. One look at any app “ported” from iOS is enough. Apple hasn’t even spent time to check what the Tab key does in these apps. It’s a shame.

show 1 reply
sheepttoday at 3:35 AM

ctrl+G may also mean "find next" on Windows (e.g. in Chrome), so it's not particularly obscure.

At least in VS Code, ctrl+G on Mac is the shortcut for "goto line" (but yes, cmd+G is "find next")