It's shocking to me how far ahead MacOS is in terms of keyboard shortcuts compared to all other operating systems. There absolutely has been some people there who deeply care and think long and hard about how experts use their systems even if the actual main company doesn't care so much about that segment anymore.
Everything just makes sense logically and mnemonically like using shift to invert actions like cmd+z and cmd+shift+z rather than having ctrl+z and ctrl+y for undo/redo.
Then add to this the ability to rebind any shortcuts in any app at an OS level. It's a little frustrating because I'm trying to move my computing away from Apple because I'm no longer convinced they care about Macs in the long term but just really wish either Microsoft would have the guts to throw a lot of their legacy out and fix all this stuff or that there were some way to actually achieve this level of coherence across the whole system on Linux.
> It's shocking to me how far ahead MacOS is in terms of keyboard shortcuts compared to all other operating systems.
I agree with your other points (including easier customizability), but have to completely disagree with this quoted sentence.
In my experience of using macOS/OS X/Mac OS X as well as Windows and Linux, macOS is one OS where a user cannot avoid using the mouse or trackpad!
On Windows (and mostly in Linux too), I can navigate the entire system, application menus and UI controls without touching the mouse or trackpad, relying only on the keyboard. The same on a Mac would be frustrating because keyboard navigation, especially for menus, is cumbersome. There are many Apple apps that cannot be completely controlled just using the keyboard either. There are many UI controls (including in dialogs) that just need a mouse or keyboard. When I find these instances, for me it's like death by a thousand paper cuts (note: I do have preferences set to navigate through all controls when hitting Tab).
If you disagree with my assessment, please try this using only the keyboard (no mouse or trackpad) and see how cumbersome it is (not to mention inconsistent in certain ways with the rest of the system too):
* Open System Preferences
* Open the Keyboard settings (just an example)
* Navigate from one tab to another within the settings
Of course, I'd like to know how something like this can be done faster using the keyboard.
On Windows (and mostly in Linux too), I can navigate the entire system, application menus and UI controls without touching the mouse or trackpad, relying only on the keyboard.
It's also far more discoverable --- if you press Alt, accidentally or otherwise, the menu highlights and you can immediately use the arrow keys to navigate it. The underlined letters (sadly missing by default in later Windows versions) also make things more obvious.
In just about every other graphical file explorer I've ever used, including the DOS ones, Enter opens the selected item. In the Mac Finder, it's Command-O. Yes, I get the fact that it's mnemonic with the others in that list, but it's completely contrary to the customary and rapidly learned behaviour of navigating using the arrow keys and Enter ---which is located very close to the arrow keys, and requires only one hand to operate easily.
macOS has discoverability features that obviate the need for the "press alt" feature. You don't even need to know what menu contains your target.
Command-? (command shift /) opens the help menu with fast incremental search through all menubar items, showing you the shortcut of what you're interested in, and also allowing you to tap return to substitute the shortcut.
It’s a nice feature; a shame that it’s not discoverable (i.e. something people would think to look for when they need it, if they hadn't used it before.)
Personally, if I were designing it, I wouldn't have exposed it as a separate bar in the Help menu of the app; but rather just made it an API provider to the OS (sort of like how drag-and-drop data sources work), such that the OS search (Spotlight) could be made a "universal" search, capable of searching both the OS generally, and the currently-focused application specifically.
While I'm dreaming, imagine if you could go into Mission Control and start typing, and it'd highlight/focus the set of windows that "have" the text you're looking for (even if not necessarily scrolled into their viewport.) Like the search you can do in Safari's "tab overview" by pressing Cmd+F there, but across all windows of all apps. Once you've narrowed it down to one window, press Enter and that window will pop to the foreground—perhaps with that text pre-selected as if you had done a Cmd+F search within the app.
Or, something even less likely to happen: imagine if you could move your mouse by searching across the corpus of text visibly on-screen (presumably via interaction with the OS text-rendering layer), such that you could jump the cursor to a specific button; or even to the checkbox with a specific label.
a shame that it’s not discoverable (i.e. something people would think to look for when they need it, if they hadn't used it before.)
It's discovered when someone clicks on the "Help" menu at the top of every single screen. How much more discoverable can it be without resorting to Clippy-style intrusions?
I mean, help sounds like it would be helpful, but all it's used for is to do Help/About, and IIRC, Apple put About somewhere else. So what is an average person doing in the Help menu?
Also: The menu opened by Command-? can be browsed using Ctrl+P and Ctrl+N, like emacs, instead of the up and down keys if you want to move your hands less.
It's a killer combination, allowing you to run menu items with merely a vague notion of their name rather than a memorized jumble of modifier keys.
Every macOS app has a search field in the Help menu where you can instantly look up any menu item, and it’s a built-in feature of macOS, way ahead of Windows.
It's odd that everyone here is mentioning search as a counterpoint, when that's one of the least discoverable interfaces --- just like a command line, you need to at least know what something is called in order to use it. Contrast that with a menu, where you are immediately presented with all the options to choose from.
I love love love this feature. You rock! Thank you. I’m lost on systems that don’t have this feature, and crap apps like Word that hide everything in the UI.
funny. tried an experiment on chrome while reading your comment. how would i find command+shift+t if i didn't know the shortcut from other browsers?
typed "undo close" on that search box. Nothing. clicked on the "tab" menu. still nothing. finally going back to the search box and typing "tab" it shows up as "reopen closed tab" and show me that it is in the "file" menu.
Weird application choices aside, Wonder why apple don't make that a central keyboard first command box like emacs or most code IDEs do. I mean, i don't even know how to go to that help search box without a mouse.
The Finder is still rooted in a spatial metaphor. Cmd+Down to “enter” the focused item (which used to always mean opening it, back when spatial navigation meant that Finder folders all opened in their own windows.) Cmd+Up exits out. (Not sure what this did back in spatial-navigation days; but I wouldn’t be surprised if it refocused the parent dir’s window if it was still open, and reopened it otherwise.)
Also, ever since non-spatial navigation became a thing in macOS, Cmd+[ and Cmd+] have become back/forward through navigation history in all contexts where there is such a thing as a navigation history. Works in Safari, Finder, System Preferences, all the iTunes-diaspora apps...
> Cmd+Up exits out. (Not sure what this did back in spatial-navigation days; but I wouldn’t be surprised if it refocused the parent dir’s window if it was still open, and reopened it otherwise.)
You can still run the Finder in mostly spatial by hiding the toolbar and sidebar. I prefer it that way. Then ⌘↑ does exactly what you think.
> In just about every other graphical file explorer I've ever used, including the DOS ones, Enter opens the selected item. In the Mac Finder, it's Command-O. Yes, I get the fact that it's mnemonic with the others in that list, but it's completely contrary to the customary and rapidly learned behaviour of navigating using the arrow keys and Enter ---which is located very close to the arrow keys, and requires only one hand to operate easily.
Aside from the fact that other users exposed the CMD+arrow shortcuts, Finder's shortcuts are also consistent with the rest of macOS, where "enter" typically renames the selection (try it with a folder in Notes, for example).
It is also Command-Down to open the selected thing in Finder. Command-Up takes you one level in the file hierarchy (e.g., takes you to the parent), which also fits nicely.
I do actually agree with you in general, felt Windows was easier to navigate with the keyboard - especially menus - but that specific one can be done reasonably easily as long you've enabled "Use keyboard navigation..." in Keyboard preferences > Shortcuts:
1. Cmd-space to get Spotlight, "pref" to match System Preferences (on my machine at least), Enter
2. Search is auto highlighted so type "keyb", down arrow, Enter
3. Tab to focus on tab bar, left/right arrow key to move between tabs (this one is a bit buggy, seems the "Text" tab steals the focus so you have to shift-tab back to the tab bar)
It’s nowhere near as good tho. You frequently have to type the name of the entire utility. On MacOS I can open Disk Utility by using CMD space to open Spotlight and type du. I can do this all as one single shortcut without even looking.
On Windows I need to type a lot more and then navigate a list of wordy descriptions in the hope of finding Disk Management. At least now they’ve added Win-X.
Yes! In fact, you don't even need to open System Preferences at all.
You can use this global keyboard shortcut to turn on the "Use keyboard navigation to move focus between controls" setting: Control + Fn + F7
Here how to test if it's on or off:
1. Open a new TextEdit doc.
2. Type some random gibberish.
3. Attempt to save the doc.
4. Hit "Tab" and see if anything happens. If the "Use keyboard navigation to move focus between controls" setting is off, nothing will happen.
Now, with the "Save" dialog still open....
5. Do the key combo: Control + Fn + F7
6. Hit "Tab" again — this time you should notice you're moving through the different UI elements.
Tab lets you move forward/down through the UI. Tab + Shift lets you move in reverse.
If you have System Preferences > Keyboard > Shortcuts open when you do the key combo, you'll notice the checkbox for "Use keyboard navigation to move focus between controls" toggle from checked to unchecked in realtime :)
As a counterpoint, at least on a Mac, when I’m using the keyboard I can keep my hands near the home row. I can fire up a text editor or IDE and write a bunch of code without moving my hands too much.
On Windows, I am constantly moving my right hand over to the INS/DEL/HOME/END/PGUP/PGDN block, because those keys are essential for really simple tasks like moving the cursor to the beginning of the line. And worse yet, I constantly miss the mark and move the cursor to some other part of the document, and have to find my way back again. I find it extremely frustrating.
On a Mac, I can ctrl-a to move to the beginning of a line, ctrl-e to move to the end. Nearly anywhere. Losing that convenience is super frustrating.
That is one of the most frustrating aspects of Microsoft software (and websites) on MacOS- Microsoft blocks GNU Readline shortcuts and overwrites many of the more useful ones with the windows conventions.
If anyone knows how to turn that 'feature' off and get headline back, I'd love to know
I feel like most IDEs and Text editors I’ve used allow you to rebind keys to move the cursor across text. As someone who also doesn’t moving from the home row, I tend to use Vim for everything and it’s a lot more powerful and flexible than the rudimentary emacs shortcuts macOS provides.
Additionally, you can configure Linux to handle system wide emacs shortcuts as well.
If you're using gnome, it looks like there's a preset for it in gnome-tweak-tool in the keyboard settings.
I use dwm without a DE, so I remap mine manually using xmodmap. I use caps lock as an additional modifier key so I can put these types of shortcuts under the same modifier so it doesn't conflict with control and rebound actual caps lock (which I rarely use) to shift + caps lock.
> I could argue that having dedicated keys for navigation when you spend all your time in the IDE is a feature, not a problem.
Are you going to make that argument? Or are you just going to say that you “could”?
The problem with dedicated keys is that I make more errors and it causes more problems with RSI. Ctrl-a and Ctrl-e are easier and more accurate for touch typists, and put less strain on my hands.
Dunno, I've been touch typing since forever and i actually prefer the dedicated keys. Bending my left hand to press ctrl+a looks like more stress to me than moving the right to home/end.
In conclusion, it's basically what you're used to :)
The one thing that baffles me is why Apple won't add the shortcuts for full keyboards into the OS by default. It's not like they're unaware of their existence.
You can map home and end system-wide on Mac. I don't remember the details offhand, so you'll have to search for the method, but it's done with just a config file.
Of course, there are Qt apps, which in their faux-crossplatformity ignore what the system does for them, including these bindings.
I was a heavy keyboard shortcut user on Windows – since Windows 3.1 days – which I believed was designed with mouse being an optional user interface device. Microsoft continued to bring ahead many of the keyboard shortcuts with Win95, XP and beyond.
When I switched to Mac, I was surprised to find how limited Mac keyboard shortcuts are, even till this day. For instance, on Windows one can resize windows with keyboard alone, but not possible, as far as I'm aware, on a Mac.
Not only is it lacking, Apple has also been dropping support for some keyboard shortcuts as well, e.g. you used to be able to put a Mac to sleep with Option+Command+Eject, with the latest TouchID MacBook Pro, Eject button is no longer there and the replacement shortcut with the power button is also not working on TouchID power button.
Yea, it's not always immediately apparent. Here are suggestions for your use cases:
For sleep, I use ctrl - cmd - q (shown at this submission's link)
Resizing windows with keyboard is indeed the missing piece in macOS. Hence, Magnet* is consistently the top app in App Store (others are Spectacle* or Better Snap tool)
---
Spectacle is free and i've been using it for years, even if apparently no longer maintained:
https://www.spectacleapp.com
>There are many UI controls (including in dialogs) that just need a mouse or keyboard.
Dialogs can be activated by using cmd+the letter of the first action. e.g "File already exists, replace / cancel" cmd+R and cmd+C would work.
This is far superior than tabbing around IMHO, but you can do that too, it's an option in settings.
>Of course, I'd like to know how something like this can be done faster using the keyboard.
- cmd+space
- sys <return>
- keyb <down> <return>
- tab
then left and right arrows to choose which tab you want
I think this request is a poor workflow example for keyboard shortcuts. Better examples would be workflows that are a chain of repetitive actions in a sequence.
You may not have tab access for windows/dialog boxes. I think it is deactivated by default. You can activate with ctrl+f7 or system preferences > keyboard > shortcuts > click radial at the bottom for all controls.
Tabbing through the controls like mad, which people keep suggesting, is of course super-tiring and requires keeping track of the subtle focus indicator—and is not seriously a way to use the keyboard. Instead, there's an app called Shortcat that can activate those controls, with you typing the control's text or a part of it. Like a combination of Vimium and Spotlight. Alas, the app is not free.
Also, personally instead of Spotlight I prefer Alfred, which can replace many shortcuts with commands, which are way more ‘mnemonic’. E.g. locking the screen is ‘scr’ in Alfred for me, which pops up ‘Screen saver’ as the suggestion.
> On Windows (and mostly in Linux too), I can navigate the entire system, application menus and UI controls without touching the mouse or trackpad, relying only on the keyboard.
At least on Windows, this is for historical reasons: back in the late 80s and early 90s, when the Windows interface was originally designed, having a mouse (or any other pointing device) was optional. Windows had to be fully usable on computers which came only with a keyboard. (There were a couple of exceptions, IIRC the Paintbrush application which came with Windows required a mouse, for understandable reasons.)
Yes, ctrl-F7 (de-)activates keyboard navigation. When activated, the problem of grand parent does not exist. I don’t use a mouse or touch pad normally.
I think the point was "holding tab to cycle through every user interface element until you get to the visual tabs on the page is an exercise in frustration."
Also for anyone trying to turn on all-element keyboard navigation, you'll probably need to use ctrl-fn-f7.
Granted, I had to disable Quicksilver (lovely app) to enable spotlight, but this is as simple as:
Summon spotlight to open System Preferences
Tab to search
Search for your keyboard Settings
Hit Return
Tab to search
Search again
Hit Return
I get it's not the Windows dynamic (and having just had to spin up a few test server 2008 VMs on vmware today for a specific test, I do appreciate what Windows offers), but it's quite doable. I actually didn't even know how to do it before writing this as I've been used to Windows due to work, but using normal keyboard navigation tools (tab), it was fast to get to what I wanted.
To get to those panes, cmd + space for Spotlight and typing in the pane window works pretty well. Sometimes the index doesn't bring up the answer quickly.
But working in the pane once you're there? You've got me, I don't know how to do that without a mouse.
also alt-tabbing between recently active windows of any app (rather than between whole apps, windows of the same app, or tabs of the same app) is curiously difficult.
after years of frustration, i finally found that "Move focus to active or next window" is the analogue functionality in macos keyboard shortcuts, and it's now mapped to the slightly-less-awkward alt-cmd-tab, from the very awkward ^F4. it's not quite the same in keeping the stack order however (in some nebulous way i haven't really determined yet).
system preferences ->
command + space, type system preferences, enter
keyboard settings ->
command + space, type system preferences, type keyboard, enter
I had quite the opposite experience. It was a few years ago when I tried to switch from Windows/Linux, but the lack of keyboard support in certian situations drove me nuts; I even remember one system popup notification with a single "Ok" button which I couldn't get rid of by keyboard (Enter, Spacebar, Esc... - no effect). Meanwhile, in many Linux DEs, especially the combination of keyboard and mouse allows for super quick window management (resizing and moving while holding a modifier like Alt, which AFAIK is impossible natively under Windows or MacOS).
- You can get rid of those annoying pop-up notifications by doing Cmd-Period (Cmd+.) It will work when even Esc / Cmd+W won't! It's a hidden shortcut not many know about, and not on the linked Apple shortcuts page.
- You can make all those system dialogs navigable (to use tab and spacebar to execute buttons) by enabling: System Preferences > Keyboard > Shortcuts > "Use keyboard navigation to move focus between controls".
It can take years to learn everything that macOS secretly offers, but no more than it took me to be at that level on Windows, or any Linux DE. I agree though, multiple Linux DEs seem superior to both macOS and Windows with their out-of-the-box hotkey ability. For everything else, there's Mastercard, uh, AutoKey.
The Command + . was sort of a general "stop" shortcut on Classic MacOS. Most apps with some sort of cancelable operation used it to stop the operation which often caused the modal to be dismissed.
Since old MacOS had cooperative multitasking if an app started some task that never offered control back to the OS it monopolized the system. Many (but not all) apps used the Command + . shortcut to cancel those sorts of tasks.
And for those who'd like to use a keyboard shortcut to toggle keyboard control of system dialogs, there's ctrl + F7.
Although I see this is no longer displayed in the system preferences area you mention, but just tested and it still works on 10.15.6. Wonder if this is the first step in that keyboard shortcut's removal due to the touch bar.
This is also true of a pop up that has options like yes, no, cancel. In other OS's, this would be done with an arrow key, but in MacOS, this is done via mouse, I think.
I suspect there will be a comment that tells me how to do this with a keyboard?
Not sure if I've changed any crazy configuration options, but I can use tab to move a blue outline around buttons on popups, pressing space to press the button outlined. Enter always interacts with the default button, indicated with a blue fill.
> Meanwhile, in many Linux DEs, especially the combination of keyboard and mouse allows for super quick window management (resizing and moving while holding a modifier like Alt, which AFAIK is impossible natively under Windows or MacOS).
not a linux user: why do you need to hold a modifier to resize a window?
It allows you to resize the window from anywhere without having to 'grab' the corner or side. It's my preferred option and is much quicker and easier once you're used to it.
cmd-shift-first letter will activate nearly any dialog box button. Some folks griped when the first marzipan/combine apps wouldn't support that, but I believe they caught up sometime last spring.
Window management is one area where this is definitely not true. Window snapping is something people have to install Spectacle/Rectangle for and even then shortcuts to move windows to workspaces are sorely missing for me.
Both are woefully behind a good Xorg based window manager. i3 blows Windows and OSX window management out of the water, no matter what add-on is installed.
It's dangerous though, one of my biggest fears is getting a job that won't let me use Linux.
Oh I know. I use Windows (gaming), OS X (work) and Linux with i3 (most personal use) all on regular basis. i3 is obviously my preference for window management but my feeling is even Windows is noticeably ahead of OS X here.
i3 and similar tiling WMs sound nice in theory, but any time I tried them I ended up frustrated by the sheer number of windows that don't tile nicely and thus the high number of floating windows in a window manager designed to tile. At least for me, WMs designed to float by default with tiling as the optional mode work much better.
What applications were those? Maybe it's worth reporting a bug (either with i3 or the application in question)?
I'm asking because it's been a long time since I encountered an application which didn't tile nicely / didn't work well with i3[^]. Besides, you can always make a window float in i3.
[^] With the exception of the Android emulator but that thing is a monster for a whole bunch of reasons.
I'm not OP. But when I read his reply I got the impression they meant "windows that aren't useful when tiled". Like a laptop screen with three horizontal windows, each window is too tall and narrow to be useful. It's a pretty valid complaint against tiling window managers IMO. When I'm on a laptop, I tend to switch to i3's tabbed mode instead of tiling (or one window per virtual desktop).
Even a lot of video games tile well these days, which wasn't the case a few years ago.
I think literally the only things I have that don't tile are some of my Ludum Dare games because it's a 48 hour game jam so I don't have time to make them handle resizing or anything other than windowed 720p.
Oh, and native Terraria 1.4 (Proton Terraria 1.4 tiles just fine though).
Try BetterTouchTool. It has window snapping built-in and it has all sorts of options for hotkey actions for snapping and moving windows between desktops.
Also you can use it to get middle click on a MacBook trackpad and to completely customize the touchbar in quite complex ways (doesn't even require disabling SIP to do that).
It would be nice if a third-party tool wasn't required, but I think it's worth the cost (and if you owned BetterSnapTool in the past, it actually costs nothing extra to upgrade the license).
BetterTouchTool uses enough consistent cpu usage even with almost no settings enabled that I stopped using it. I’ve had inconsistent personal luck with computers after 5 years. I’ve just past that point with my MacBook.
I understand it needs to be doing some things in the background, but on the other hand, Hammerspoon and Karabiner don’t use much cpu usage.
I could be doing it wrong. Not knowing how to better manage apps, cpu usage, and so on
I use fullscreen pretty frequently on laptops with certain apps. For instance, right now Mailplane is open fullscreen in one virtual desktop, and Slack is open fullscreen in another. While I sometimes feel like I'm an outlier, when I joked on Twitter about being the only person who used fullscreen, I got a surprising amount of replies from people saying "wait, is that uncommon? I use it all the time."
Actually, I frequently had Slack and Mailplane open in the "split pane full screen" mode on my 27" monitor at work back when going into the office was a thing, so it's not just a laptop thing, either.
I use fullscreen fairy frequently (or the sister functionality: split-pane). I also like the classic zoom functionality (which tries to intelligently size the window based on content).
The Windows "maximize" functionality is something I almost never use, on any platform.
I'm aware of both of these and mentioned them in my post. Personally I use Rectangle on my OS X machines and did use Spectacle until my 2015 MBP died. When setting up my replacement, I noticed Spectacle was abandoned and moved to Rectangle.
Me too! Why do I have to use a third party app to snap my windows? It’s so cumbersome pressing the green button, clicking which side you want the app on, clicking which app you want on the other side. When you exit, one app goes full screen. It’s maddening.
Wow, my experience couldn't be more different. I think my biggest annoyance is how ⌘-Tab ignores different windows of the same program, so I constantly have to switch between ⌘-Tab and ⌘-`.
The funny thing is this is one of my favorite features, it keeps the switcher uncluttered. If you don't like it, you can use "Mission Control" (Control+Up Arrow) that will show you all windows across all applications (pressing Control+Down Arrow is the same but only within windows of the current application).
You can also switch with Command+Tab and once you hover over the application you want, you can press Command+Down Arrow (or Up Arrow or even Key 1) and that will show you all windows within that application (the same as Control+Down Arrow). Notice that each window has a title and you can press the initial letter and that window will get focus. You can then press Enter to select it.
This could be use case dependent but I find that as a developer, I frequently want to cycle between 3-5 windows in 2-3 applications. Text editor, 2-3 browser windows (generally: thing I am working on, browser dev-tools for the thing I am working on, and reference web-pages), and 1-2 terminal windows.
In this specific use case, I found all the little differences between Windows and MacOS window switching to end up adding together in Window's favor fairly significantly.
On macOS you can cycle apps, the focused app’s windows and its tabs using cmd+tab, cmd+tilde and ctrl+tab respectively. Once that becomes natural it’s better than Windows’ plain alt+tab.
I understand how this works, but it's not better, especially not for multi monitor setups. Switching between three dev-tools, two browser windows, five terminals and an editor or two makes the Mac way a horrible way to work:
First, select the application that you want to use now. All windows from that application, across all monitors are now brought to the front. Then, you switch to the window you want to use. Most of these windows have no clear way of communicating to the user that it is active, so you have to look at each of the available windows to see if it's active or not.
Let's say that I have a monitor with three terminal windows on. I don't want to close them or minimize them, as I will need them again shortly. Now, I want to open a browser window above those three terminal windows, so I open it. Now, I want to move a single one of those terminal windows on top of the browser window, while keeping the other two below the browser window. Nope, not possible. On Mac, I have to use the mouse to pick the right terminal window to achieve this.
Sibling comment pretty much covers my feelings on this but I want stress the main point and add a couple minor notes.
My main point is that a window is a window. The app to which that window belongs means essentially nothing to me, I don't think there needs to be a separate hot-key for cycling windows-per-application, I do not find it to be a usefull organizational tool for switching between windows. I am aware of ctrl+tab but that seems to be a generally accepted program-level control not something from the operating system level.
Minor annoyances:
MacOS's cmd+tab visualization has a slight delay before appearing. This seems to be intentional and provides a nice experience when you know for certain that the selected window of the previously selected application is what you want to switch to; quickly tapping cmd+tab switches directly to that window without the visualization. On windows, the alt+tab visualization always renders immediately. I prefer the windows way because frequently the window I want is maybe 2 or 3 back. So I can more quickly locate it visually through the visualization that pops up on alt+tab.
On MacOS, that visualization I just mentioned does not have separate selection for mouse/keyboard in the cmd+tab menu. What this means is that if an errant mouse cursor passes the visualization while you are cmd+tab'ing to some application, the mouse will scramble your selection. On Windows, there are two separate selectors, one for alt+tab (confirmed by releasing alt) and one for mouse selection (standard point + click). MacOS does support both mouse and keyboard but they share the same selection and interfere with eachother. I know this sounds like an unlikely case but I actually find it quite common -- moving the cursor towards the anticipated area of interest in the soon-to-be-focused window while alt+tabbing will frequently pass through the area of the screen where the alt+tab visualization renders.
Why doesn't MacOS have an intuitve way to maximize a window? This drives me insane. It really feels very reasonable to me to want to see the system clock/tray/etc but have a window take up all other available space. This really feels like a fundamental window-control interaction to me and it is not the same as full screen. I do not understand why MacOS does not have this and why it does not seem to bother other people.
> Why doesn't MacOS have an intuitve way to maximize a window?
That's a Microsoft Windows paradigm, copied by Gnome and KDE. Systems 1-8 and OS 9 had no mechanism for making a window full screen, much like LisaOS and Xerox Star 8010 IS before it and NeXTSTEP/macOS continued this. It's just never been a part of the UI as it doesn't really fit with the desktop metaphor.
Yeah Apple is woefully behind as I see it. The window management is clunky and backwards and the keyboard shortcuts being lauded here are too.
They get even the simplest things wrong. Instead of labeling app menu items with a word or abbreviation, they use a freaking symbol that isn’t printed anywhere on the keyboard.
They have more 2-handed / 3+ key shortcuts than any other OS despite lacking the ability to let you control every aspect of the macOS GUI like you can with Windows or most Linux DEs.
It’s laughable to me that anyone thinks it’s a good system and I’d love to see a productivity contest between workers who are experts in their respective OSes. Mac people would lose miserably. There’s no doubt in mind after years of working with and watching Mac users pitiful attempts at doing anything quickly or efficiently.
The modifier key symbols are printed on most modern Apple keyboards. See the Magic Keyboard, for example.
> They have more 2-handed / 3+ key shortcuts than any other OS despite lacking the ability to let you control every aspect of the macOS GUI like you can with Windows or most Linux DEs.
What are you trying to say here with “every aspect”?
Mac window management is the opposite of tiling window management. Windows is some sort of hybrid with the snap-to functionality. I wouldn’t say that one or the other is more effective or efficient—Mac trackpad gestures for switching between virtual desktops definitely beat alt-tabbing in Windows (although Windows 10 now finally has virtual desktops as well). They’re different workflows that you can’t expect to immediately find familiar. A “productivity contest” would likely show nearly identical results on both operating systems for the kinds of tasks that users do on a daily basis because they’ve already gotten used to doing those tasks. Switching between terminal windows, text editors, and web browsers is pretty fast on both Windows and macOS.
> The modifier key symbols are printed on most modern Apple keyboards. See the Magic Keyboard, for example.
Apple has loads of symbols for their keys. There's the modifier keys ⌘(cmd), ⌃(ctrl), ⌥(alt), ⇧(shift) and ⇪(caps-lock), of which shift and caps-lock are missing on the magic keyboard (in addition to ctrl and alt on the macbook in front of me).
Then there's ⇥(tab), ↩(return), ⌫(delete) and ⎋(escape) to name a few. These can and do all show up in menus and documentation. With all the control they have over their hardware and software you'd think they could do better than linux on their own hardware (super and backspace are wrong, but the rest are correct at least on this macbook).
I really hate how sporadically these symbols come and go; it feels like they appear or disappear on new Apple hardware every other year. The old Apple Wireless Keyboard I'm typing this on just has ⌘. The laptop it's connected to has ⌘, ⌃, ⌥. I think I have an older laptop sitting around that has ⇧ and maybe even ⎋. I wish they'd at least start always including all the ones that show up in menus.
Historically Apple's ISO keyboards made more use of the icons than their US keyboards, although ⌃ and ⌥ are on some of the newer US keyboards. Was your older laptop a European or other ISO-keyboard model?
I am looking at my MacBook Pro 2015 right now. There is no symbol for the alt key.
You cannot control the entirety of macOS with just a keyboard.
Simple example: open the About this Mac window. Now switch away from it with the keyboard. I challenge you to switch back to that window with just the keyboard without installing any third-party software that changes the way that you handle window switching. Same goes for any window that you open from an app that is running in the menu bar.
With better operating systems, I can put focus on and work with any aspect of the GUI. macOS is extremely limited in this area.
They don’t even have an easily discoverable process for hunting through app menus with just the keyboard. On Windows, there is a thing called a keyboard acceleration. It happens when you hit alt plus the underlined letter of a menu item.
This is why users with disabilities, like Stephen Hawking have historically used Windows and not Mac.
> You cannot control the entirety of macOS with just a keyboard.
Yes, you can. There's an option in System Preferences called "Full Keyboard Access" to enable this.
> They don’t even have an easily discoverable process for hunting through app menus with just the keyboard.
macOS does it better: you can search all the menus with ⌘?.
> This is why users with disabilities, like Stephen Hawking have historically used Windows and not Mac.
Users with disabilities use Macs, I don't know what you're talking about. Macs are generally miles ahead in accessibility. Stephen Hawking was extremely attached to the one synthesizer he used, to the point that a team of engineers went through the effort to port that exact 30-year-old voice: https://www.sfchronicle.com/bayarea/article/The-Silicon-Vall...
How do you get to things not in the menubar? For example, with Zoom you can’t disconnect audio via menu bar. Only connect and mute or unmute. Disconnecting only works via the GUI of Zoom.
Unless you’re suggesting that the OS-provided controls don’t consistently implement the OS-provided shortcuts. That does sounds like a concern, but in the case of Zoom, it still assumes Zoom used the default widgets.
The Zoom interface on Mac seems very unlike a Mac app to me. It has that flat quality you get in Electron apps. It wouldn't be surprised if it was highly bespoke. You can’t even open the preferences with CMD-, which almost every app implements.
The preference shortcut works for me. Maybe not all the time. Will have to check again.
I don’t think Zoom is the only app that doesn’t have everything in the menu bar. The point was more general for when things aren’t in the menu bar (and not just electron apps)
Keyboard Maestro or something else may be able to automate it. But still.
>I am looking at my MacBook Pro 2015 right now. There is no symbol for the alt key.
Just FYI, they've corrected this since then. I'm not sure but I believe it was 2017. At that time they also removed the "alt" label so it only says "option" along with the symbol.
That's the first time I ever got this answer. So basically - start the program again.
This is the height of usability?
How's that work for say...a program running in the menubar, like Docker? (If you open the Docker settings window from the menubar, switch away and switch back.) I bet it doesn't.
You have a macbook, but it seems to me you almost certainly grew up on Windows, because in situations where they take different approaches to the same problem you always expect the Windows behavior and haven't discovered the corresponding mac behavior. Then you blame mac for not behaving as you expect.
> start the program again
Case in point. On mac, choosing (through the dock, through Cmd+Tab, through Finder, through Spotlight, through terminal) an already open program has the semantics of giving it focus. On windows, it opens multiple copies. Sometimes.
Yeah. This connects with how Mac apps can be open, but not have windows. That’s pretty uncommon, or even impossible, on Windows. At least, it was when I last used Win regularly (XP!!).
It’s an extension of the desktop metaphor. In a Mac, the distinction between an open app and a closed one is fuzzier than on Windows. In a Mac, you have A Mac and it helps you do things, and the Mac tends to the applications for you. In Windows, you have a computer with an OS that hosts applications that help you do things. The distinction is irrelevant when considered from the hardware outward, but is subtly but powerfully different when considered from the user inwards.
Just tried it, and it does work exactly that way, because the Docker menu -> settings choice opens an application called Docker Desktop, which can be switched to-and-from with the keyboard. I'm not arguing with your basic point, because I think that Mac strategies for keyboard navigation are simply different, not worse, but for your specific example, keyboard is fine.
> Simple example: open the About this Mac window. Now switch away from it with the keyboard. I challenge you to switch back to that window with just the keyboard
Three-finger-up + click is way smoother than doing a random walk through your open windows.
It also lends discoverability to multiple desktops at exactly the moment where you might be thinking to yourself "hmm, I could use multiple desktops right about now."
> With better operating systems, I can put focus on and work with any aspect of the GUI.
I'm glad you feel that way because when I use Windows I quickly get frustrated by apps stealing the focus and authorization windows opening underneath everything else.
> They don’t even have an easily discoverable process for hunting through app menus with just the keyboard.
lolwut? Cmd+? opens a box to incrementally search all menus, Ctrl+P and Ctrl+N let you navigate the results, and return runs the menu item. Arrow keys let you walk the focus if you don't know emacs shortcuts, and they do so in every menu. It's head and shoulders above Windows.
> Three-finger-up + click is way smoother than doing a random walk through your open windows.
Ummm, the challenge was to use the keyboard though? No amount of rationalization will convince me that taking hands your hands off the keyboard is smoother than leaving them on.
I do enjoy watching junior devs struggling to find their lost full-screen workspace window by swiping furiously sideways with their trackpad though. For even more ridiculousness, I know I can always get a minute to read some news after I ask them to open Chrome devtools and wait while they try to get back to the original Chrome window afterwards.
> lolwut? Cmd+? opens a box to incrementally search all menus, Ctrl+P and Ctrl+N let you navigate the results, and return runs the menu item.
Pffft, okay. You don't even know the difference between searching and hunting. They're completely different operations, for different purposes. There is a way to hunt through menus with macOS, but like all Apple shortcuts it's completely obtuse.
>Ummm, the challenge was to use the keyboard though? No amount of rationalization will convince me that taking hands your hands off the keyboard is smoother than leaving them on.
No amount of rationalization will convince me that Windows shortcuts for accessibility are more productive than using your mouse in appropriate situations (some X11 tiling WMs do a better job, yes). See, I can make statements like this too.
> I do enjoy watching junior devs struggling to find their lost full-screen workspace window by swiping furiously sideways with their trackpad though. For even more ridiculousness, I know I can always get a minute to read some news after I ask them to open Chrome devtools and wait while they try to get back to the original Chrome window afterwards.
That's nice; you enjoy watching fledglings who don't know what they're doing struggle to use their tools effectively. That says nothing about achievable productivity in an environment.
Yep. You can say whatever you want. I have never seen a mixed mouse and keyboard user do things faster or more efficiently than a pure keyboard user. Pure scientific empirical evidence is on my side and no amount of rationalization will change the fact that keyboard shortcuts are faster once you learn them. You can read about some studies surrounding this here:
> Ummm, the challenge was to use the keyboard though?
The challenge was to get to a window, quickly. The keyboard was your constraint.
> I do enjoy watching junior devs struggling
Funny, I enjoy watching the windows crowd alt-tab-tab-tab-tab-tab-tab-tab-tab ah were was it again?
> Pffft, okay. You don't even know the difference between searching and hunting.
Now you're playing with definitions to hide the fact that you were wrong.
> like all Apple shortcuts it's completely obtuse.
Not if you learn them. You clearly did it before, so get off your butt and do it again.
Personally, I love having emacs-style Ctrl+PN and Ctrl+FB navigation available everywhere, and I love the fact that with copy/paste on Cmd+CV I don't have to worry about where a terminal app moved Ctrl+C off to.
Incorrect. My challenge, that you responded to in an article about keyboard shortcuts was about using the keyboard. You failed miserably and your comment got disappeared for it. Try harder xP
> Funny, I enjoy watching the windows crowd alt-tab-tab-tab...
Sure, you can have newbs on any platform. The difference is that Windows and Windows-inspired desktop environments like XFCE are vastly more configurable than anything on a Mac - where it's Apple's way or the highway. You're stuck with Apple's choices unless you hack your OS with third party apps to fix them.
> Now you're playing with definitions to hide the fact that you were wrong.
You're wearing your ignorance like a badge of pride. Learn about UX if you don't understand the difference between searching and hunting. There's a world of difference.
> Not if you learn them.
That's my entire point. Windows shortcuts easily discoverable since they are clearly labeled; no weird symbols that don't exist anywhere on the keyboard and there are fewer of them since the same shortcuts work everywhere. Plus you can tab to focus everywhere instead of pushing a mouse pointer thousands of miles a year to get where you want.
> Personally, I love having emacs-style Ctrl+PN and Ctrl+FB navigation available everywhere...
And yet, you think constantly swapping between keyboard and mouse is "smooth". Makes sense!
I prefer this personally, but what does annoy me is that ⌘+` doesn't work with any windows that are fullscreened. I don't use it often, but when I do it's annoying to lose all keyboard navigation.
I use an app called Contexts which hijacks ⌘+` with extra functionality (and includes fullscreen windows), but it seems to be abandoned so I fear it will stop working eventually.
For Zoom, that home/launcher screen can be closed so you can switch to your video without having to do the above. Realized that after being annoyed for weeks.
I recommend changing the ⌘-` shortcut to ⌘-§, which is right above Tab on Mac keyboards (Preferences > Keyboard > Shortcuts > Keyboard > Move focus to next window).
Having both in the same area of the keyboard makes my brain happy.
https://alt-tab-macos.netlify.app/ Is an open source alternative with thumbnails. I don’t care about them so I stick with Contexts.co, but this is my back up
Great app but it's pretty buggy. command+tab to an app that has multiple windwos and then command + window number crashes for me, which seems like one of the primary features. Seems like alt+tab directly to the window works though.
Awesome! Finally some alternatives! I'll try it and switch to that GPL project if it's a better app! Thanks for sharing. Update: AltTab is already better and exactly what one wants from an alt-tab, and best of all, FOSS and actively in development on Github. It's got some small bugs to iron out but none that are dealbreakers for me. PERFECT, thank you.
>It's shocking to me how far ahead MacOS is in terms of keyboard shortcuts compared to all other operating systems. [...] Everything just makes sense logically and mnemonically [...]
I get your point but macOS still has inconveniences for many tasks:
That's 9 keys (including "return" key) pressed vs just 2 for Winkey+E.
>Hardly difficult,
Well, we're on HN so I don't claim things are "difficult" for any of us techies. I say it's "inconvenient" -- especially relative to other operating systems since this thread is making comparisons.
>Also for Finder, you can enable [...]
Sure, there are often workarounds for various inconveniences. The Superuser links I cited mentioned some too.
On a Mac, you can switch to the Finder and ⌘N. Not possible on Windows because on Windows, an application cannot be in the foreground if it does not have any windows.
Once you have the Finder window open you have column view, and you can browse the filesystem with nothing more than arrow keys (and no modifiers). Preview any document with space. Rename documents without reaching over to the F-keys.
Command-Tab switcher.
Command-N for a New Window if you don’t already have one open.
For a more advanced trick, use the Command-Tab switcher, after taking your finger off of tab once the application you want is selected, but before you take your finger off the command key, press the option key, and then take your finger off the command key and then take your finger off the option key. This sounds more complicated than it is but once you get used to it, it’s straightforward and the following behavior will execute.
1. If there are no open windows, the most recent minimized window for that application will unminimize and take focus.
2. If there are no open windows and no minimized windows, a new window will open, as in the Finder, Terminal or Safari.
In an application like BBEdit or TextMate, it will create a new file, and in the case of TextEdit or Pages, the Document chooser or whatever Apple calls this dialog will pop-up. In an application like Notes, the main window will appear.
This all sounds complicated, but if you know your applications well, and what type of application it is, you’ll quickly suss our the pattern that it is basically a Command-N shortcut from the switcher except for some of those newfangled iCloud-aware and/or Database-centric apps.
The huge problem (in my experience) with the Windows key and associated shortcuts is accidentally hitting it when you don’t intend. Like you want to hit control but hit Windows key and your context gets totally messed up
Command option space opens a search window in the Finder. Or you can use command tab, or use the gesture / button to show desktop and click. Lots of options.
You need to turn off the Siri suggestions and Web results in Spotlight. That’s what caused it to go so bad some five years ago. Disable it I tell you.
I did this in Safari too hoping to fix their race condition bugs with the autocomplete. Sometimes I can even paste a full URL, see it in the entry field, hit enter, and Safari just loads the previous address again as if I had just pressed enter. Crazy that these types of bugs are sneaking in.
To be clear, that first one is pretty outdated, and while Yosemite was not day one, it was over 6 years ago now.
>maximize a window
Control-Command-F: Use the app in full screen, if supported by the app.
>file manager
Option-Command-Space brings up a Finder window from anywhere I believe, but defaults it to search mode, so you may have to chain the shortcut for a particular directory or Go to Folder after that.
I'm guessing the Activity Monitor thing is more that there is not a dedicated shortcut for launching any single app in macOS (that I can think of).
Command + Shift + g in Finder brings up a "Go To Folder" window so you can type in a folder and go directly to it. Bonus 1: it supports tab completion. Bonus 2: this also works in file open dialogs.
> It's shocking to me how far ahead MacOS is in terms of keyboard shortcuts compared to all other operating systems.
You only think that because you're used to macos shortcuts.
> There absolutely has been some people there who deeply care and think long and hard about how experts use their systems even if the actual main company doesn't care so much about that segment anymore.
Do any macbooks have a numpad? Lack of a numpad is the opposite of 'thinking long and hard about how experts use their systems'.
> Everything just makes sense logically and mnemonically like using shift to invert actions like cmd+z and cmd+shift+z rather than having ctrl+z and ctrl+y for undo/redo.
ctrl+z/ctrl+shift+z, tab/shift+tab, etc, is how my fairly default linux system works.
> Then add to this the ability to rebind any shortcuts in any app at an OS level.
You can do this on pretty much any operating system.
> were some way to actually achieve this level of coherence across the whole system on Linux.
What level of coherence? All you said is you prefer macos default shortcuts...? If we're talking about support for customisation then macos is laughably far behind linux in every single respect.
My own experience, being forced to work with macos for the last few years has been quite annoying. The UI is very buggy, the app bar auto-hide constantly breaks, windows randomly disappear, macos has it's own weird (coherent?) set of shortcuts different from every other operating system, there is an insane amount of popups and notifications, maximising/fullscreening a window creates a new workspace which complicates quickly switching between windows, etc. Ability to customize the system is okay... still far behind linux. I literally do not see a single benefit of macos over linux.
Some you need to be have octopus fingers to hit them with one hand, and others are particularly weird such as screenshot (cmd+alt+4/3 isn't it?) - windows is just "something" + printscreen.
Windows keyboard shortcuts tend to feel a bit more ergonomic to me, but then I've used Windows much more than the Mac.
Screenshots are cmd-shift 3 or 4 or 5. Cmd shift is a familiar enough chord in Mac OS keyboarding, it's used quite a lot.
The differences between the 3 types of screen shorting is that Cmd-shift 3 immediately screenshots the whole screen. Cmd-shift 4 lets you select the area that is captured, pressing the space bar after hitting the key combo turns the cursor into a camera that allows you to screenshot just a window by hovering and clicking. Cmd-shift 5 gives you even more options including screen recording.
I recently discovered Cmd-ctrl-shift-3 and 4, which does the usual screenshotting but moves the image to your clipboard rather than automatically creating a new file.
It’s true you can use a mac with a broken (partially functional) trackpad — I did for a couple of years and it wasn’t a noticeable impairment...but I’ve been an Emacs user since the 70s so am keyboard-by-default already.
But I can’t say the Mac is the best: Windows, back in the Gates days, had keyboard commands for almost everything at his insistence (some of the PMs weren’t enthusiastic but couldn’t go against him of course). I’m not a windows fan (prefer the Mac’s direct manipulation approach to the subject-verb-object model at the foundation of Windows) but I really respected and appreciated that commitment by MS.
The clean separation between command-keys (for app-behavior) and control-keys (for emacs-like text navigation) is far and away my favorite aspect of using MacOS. I know it sounds crazy, but I navigate through text far more frequently than anything else. The ability to further customize[1] these to support meta-keys (using option) and rebinding caps-lock to control makes for a very powerful experience.
This. Almost as important as the superior trackpad, these keybindings push laptop-macOS eons above any other laptop-OS combination. When using Windows, I prefer having at least a tenkeyless layout, as the arrows, home/end, page up/page down, delete can do most of the same navigational behaviors but obviously are rarely found on a laptop.
>It's a little frustrating because I'm trying to move my computing away from Apple because I'm no longer convinced they care about Macs in the long term…
They just committed to transition the Mac platform to arguably the most performant (per watt) architecture available and just released the public beta Big Sur.
If they didn't care about the Mac long term, why on Earth would they go through the trouble of making this transition?
The Mac just set a June quarter record of $7.1 billion in revenue, up 22% from last year. These numbers give Apple a lot to care about: https://www.apple.com/investor/earnings-call/
My biggest irritation with MacOS is CMD-Tab back to Finder breaks constantly.
Then the terminal short cuts are bound to CTL, and at least on my Macbook Pro, CTL is only on one side. I also don't like how Return is "change a file name" instead of "run a file." There are so many things that are inconsistent with other OS's, that I guess it just comes down to what you are used to.
I've found that MacOS is much more touch-pad / mouse heavy than other OS's. For example, CTL-K is awesome for browsing through a Linux folder system. This would put you in the path area, so you can sort of use it like a terminal.
Browsing finder in MacOS is painful, click here, click there, hope you don't get lost, etc.
> at least on my Macbook Pro, CTL is only on one side
This is standard for modern Macs; that said, one of the first things I do with a system is use the "Keyboard" preference pane to remap caps lock to Control ("Keyboard" -> "Modifier Keys").
Right, it'd probably be more convenient to have ctl on the right side of the keyboard. I could see how using caps-a (b, f, e, r, s) to navigate the terminal could be easier.
macOS stock Finder does have basic cursor key navigation. It's not Xtree, NortonCommander awesome. (Edit: Oops. This linked cheatsheet does list the Finder navigation keys.)
> I've found that MacOS is much more touch-pad / mouse heavy than other OS's. For example, CTL-K is awesome for browsing through a Linux folder system. This would put you in the path area, so you can sort of use it like a terminal.
macOS’s Finder has the _Go to folder_ (⇧⌘G) command for that. It’s not exactly the same but it basically allows you to do the same thing.
Press Super, type a file or folder's name, then press Enter (or Down and Enter) to open it.
Or you can switch to the Files app (Super+1 if it's your first Favourite app; or Super, “fil”, Enter) and just type to search. Enter opens the first result, Down selects others.
I have to use macOS at work and it annoys me how much I have to use the mouse.
If I have Finder and Pages open (or any program, it's not relevant), I CMD-tab from Finder to Pages, then when I CMD-tab to go back to Finder, it doesn't pop up. I have to manually go to the Dock and reopen Finder. Finder restarts back to the home directory (my default start point). Of course, I would probably be in wherever the original document is. This doesn't happen all the time, but maybe 75% of the time.
This is also my second MacBook, so it's not the computer...
You could just use a keyboard with a forward delete key, like the larger keyboards that Apple themselves sell. It turns out they work! If you don't have a keyboard with a forward delete key, having a shortcut to generate that code seems kind of handy to me. But complaining that Apple makes smaller keyboards that don't include that key while still offering the same functionality at the fairly trivial cost of having to use a modifier is, you know, also a choice!
For the record, layout choice on Apple's 60% keyboards is a different topic than operating system support for keyboard navigation.
Also, I wish you luck on the quest for the perfect 60% keyboard. I'm on the same hunt, although I can make myself happy most anywhere if I have https://karabiner-elements.pqrs.org installed
Yeah everyone suggests AutoHotKey, I tried it and found it insanely janky.
It just isn't an acceptable solution at all and I wish Windows users would demand better. Really think better is possible and don't think it's even a hard problem.
If you ever have to go back, Hammerspoon is the AHK like app for macOS, and karabiner elements can do advanced remapping if you don't need the scripting.
Is Hammerspoon as good as Keyboard Maestro? I feel like Keyboard Maestro has been the definitive automation tool so I'm curious how Hammerspoon compares.
Another thing you might not realize is that Mac spacebars are narrower, which puts the command keys closer to the center of the keyboard where they can more easily be reached using thumbs. Alt on a PC keyboard is harder to reach than Command on a Mac keyboard.
I agree. To the point where they introduced the touch bar. Now there is no way to sleep your MBP with a keyboard shortcut. You now have to add a button to the touch bar, which you then accidentally press and your MBP goes to sleep while you are in the midst of typing out an email. Genius!
Desktop short cut! How is there no Shortcut for seeing the Desktop?
Legacy of Steve Jobs doing the opposite of Windows is also a killer. Mouse Scroll wheel is opposite, close open windows icon on left and not right, not using Control but use Command key. These are not due to any reason other then to make it difficult to work between Windows and Apple. Drives me CRAZY because I have to use Apple and Windows.
⌘F3 shows the desktop. You can have a button for this on the Touch Bar.
The Mac has been released in 1984 with the close icon on the left side of the window's title bar, and keyboard shortcuts using the command key located directly to the left (later also to the right) of the space bar.
Windows has been released over a year later in 1985 with its own paradigm for these. So it seems like in fact, Windows has been designed to do things differently from the Mac, not the other way around.
> The Mac has been released in 1984 with the close icon on the left side of the window's title bar [...] So it seems like in fact, Windows has been designed to do things differently from the Mac
The Windows which was released on that era also had the close function on the left side of the windows's title bar. The right side had only the minimize/maximize buttons. Moving the close function to the right side of the title bar came much later.
> and keyboard shortcuts using the command key located directly to the left (later also to the right) of the space bar.
Windows had to work with the PC keyboards of that era, which did not have that key. Much later, Microsoft gained enough influence to mandate adding a couple of extra keys to the keyboard (the "Windows" and "Menu" keys), but by then, the shortcuts had already become established (not to mention that many people still had old keyboards without these keys).
> It's shocking to me how far ahead MacOS is in terms of keyboard shortcuts compared to all other operating systems.
It's shocking to me that people will make authoritative sounding comments about systems that they don't use, and get their facts wrong. It's shocking to me that the supposedly bright people on Hacker News upvote it.
I couldn't care less how apple microoptimizes keyboard interaction. Now that shortcuts are mostly uniform across Windows and Linux, better they would be same on Macs too.
So break 37 years of consistency because Microsoft decided to basically replicate it (9 years after the fact, btw) using a key-chord that was already in use for SIGINT and that Gnome and KDE copied, shortsightedly given their target base OS?
I don't find it shocking at all, when you consider just how much farther advanced Apple is in so many different ways including disability accessibility (please let me know if you have ever seen a blind person that uses anything but an iPhone), inter-device sharing/airdrop, configuration sync across devices, etc.
(not disagreeing) It's been this way for decades. Learning to use a computer growing up, it was almost immediately apparent to me how widespread, useful, and discoverable Apple's keyboard shortcuts were on OS 8 or 9, especially when compared to Windows 3/3.1/95.
The consistency of macOS keyboard shortcuts is one of the main reasons I have huge problems switching to Linux or Windows. Despite the non-trivial amount of tweaking and customization, I could never achieve the same level outside of macOS.
Just to name a few:
- CMD+left/right: start/end of line
- CMD+up/down: start/end of file
- CMD+Shift+arrows: corresponding selection
- Alt+left/right: word movement
- Alt+Shift+arrows: corresponding word selection
- CMD+a: select all
- CMD+1,2,3: switch between tabs in browsers/iterm/IDEs/editors
(surprisingly and infuriatingly, this does not apply to native macOS tabs; e.g. in Finder Cmd+1/2/3 changes the view, but not tabs)
All that + the fact that clipboard, undo/redo, app and windows switching are ALL done via CMD makes it truly a modern hyper button. And you still have Control for Emacs bindings, which also work in most Cocoa text fields.
If you're interested, this [1] is one of the best attempts to bring macOS keybindings to Linux (in particular, Elementary OS). It's a set of settings for Autokey [2].
There is also Kinto [3], which solves one particular problem: copy-paste from terminal with consistent shortcuts.
Not sure how different this is from Windows. Use home/end for start of line or ctrl+page up/page down to go to start of document. Ctrl+left/right moves by words. Holding shift selects while doing any of these. Ctrl+backspace/delete to delete by word instead of character. Ctrl+a to select everything. Ctrl+1,2,3 select tabs, Windows+1,2,3 selects apps. The main advantage I see on Mac is the separate ctrl/cmd keys that let you use ctrl+c/v for unix terminals. Other than that, I think it's whatever you're used to.
Of course some laptops don't have end/home/page up/page down keys and you have to avoid those.
It's not just that some laptops don't have them, it's also that they're always in a different place. Every time I use windows, I need to look at the keyboard to find home, end, etc. On any Mac I use I don't have to search.
Windows key doesn't do any of the cursor move commands and 'ctrl' consistently does the "move in a bigger block than without ctrl" thing. Shift consistently adds selection to that. There's different choices than on macs but it seems equally consistent, when starting with a keyboard with the additional movement keys (home/end/pagedown/pageup).
This is consistency in UX is what keeps me from switching to linux full-time for my personal rig.
I would assume the keyboard UX would be a low-lying fruit. I'm hoping someone with deep knowledge about linux can help me understand what is stopping various distros from simply copying the mac keyboard layout. Replace 'cmd' with the 'super' key and setup the key combinations to match macOS. That way they're consistent whether you're in a GUI application or the command-line.
Is it that the super key is not available on every computer? Or are these shortcuts protected by some sort of a copyright? Kinto seems to work by intercepting signals and reinterpreting them, then why not have the X keyboard component recompiled with a macOS keymap? I'm not at all knowledgeable in this area, so may be missing some very obvious challenges to doing so.
> The consistency of macOS keyboard shortcuts is one of the main reasons I have huge problems switching to Linux or Windows.
When I left Mac 8 years or so it was quite the opposite:
- home and end depended on application, the only one that worked consistently was ctrl - e and ctrl - a but they didn't work with shift so select to end of line was hit and miss
- one of the shortcuts that sometimes worked was cmd - left, unfortunately that was mapped to go-back-one-page in Safari. Kknd of annoying when you try to select a sentence in a form and end up losing all your carefully crafted edits.
- fn button in the place where ctrl is supposed to be, but only on laptop and small keyboards, not on the full size one. Not remappable (I understand this is fixed now).
I struggled with that machine for three years. After that I realized that Macs are perfect - for Mac people, not for Linux peasants like me.
Just moved to a mac and I'm having the same experience you had. Never had issues with Windows or various Linux distros. Currently I have a pretty absurd Karabiner config to work around some of the issues but I still haven't ironed them all out.
Home/End always worked for me on Windows and didn't work for me on mac until I did a ton of tweaking.
FWIW, I've found cmd+left to be very consistent, the only app(s) that I can think of that it doesn't work in are terminal apps, where I use ctrl+a etc.
And thankfully, the Safari bug/inconsistency has been fixed. In all the major browsers on macos now, CMD+left will behave like "beginning of line" when you're in a text box.
I feel your struggle though, as someone who frequently has to / chooses to use Win/Linux, I don't think I'll ever end the fight against the shortcut patterns that have been ingrained in my hands.
- Ctrl + Shift + left/right arrows: corresponding word selection
- Ctrl + a: select all
- Alt + 1/2/3/...: switch between tabs in Chrome and VSCode where I tested it, don't know if it is working in ALL apps, for example it does not work on alacritty+tmux (where I spend most of my time) for obvious reasons.
I don't know about the consistency, but some of these make more sense semantically, like Alt+1/2/3 - "alternate to a different tab".
I change Cycle Windows to Ctrl+Tab in the Window Manager. I disable menu Alt keys where I can.
I use AutoKey for Terminal so that it works like Terminal in Mac OS X: Copy and paste and other Application shortcuts do not require using a shift key. Alt+C is the kill key (control-c) and all the rest of the Alt keys work like control keys in the terminal.
And yes, despite the non-trivial amount of tweaking and customization, I could never achieve the same level outside of Mac OS X.
> (surprisingly and infuriatingly, this does not apply to native macOS tabs; e.g. in Finder Cmd+1/2/3 changes the view, but not tabs)
That behaviour predates native tabs on the Mac, historically it even predates Safari and other browsers with tabs, I believe.
⌘1,2,3 in Safari for a long time selected favourites in the favourites bar. There is still a setting to still do that. I use it for useful bookmarklets.
The other thing that bugs me when using apps that don't use Mac widgets is single line text fields. If your cursor is at or near the end of the line, pressing the up arrow moves the cursor to the beginning of the line. Same with the down arrow when the cursor is at or near the beginning of the line. Any Mac app that doesn't do that is not using native text fields.
i'm currently switching from windows/linux to Mac and I'm used to using a full-length mechanical keyboard with ins/del/home/end/pgup/pgdn buttons. Yes, mac has these cmd+ shortcuts that work as expected, but the "usual" keys behave wrong/inconsistent in some apps:
Chrome:
- Shift+Home/End selects to the start/end of the entire textarea.
- Home/End first scrolls the textarea, if it is not, if it is already scrolled (this is double weird if you are somewhere down in the textarea, press home, it scrolls you to the top, press home again, it scrolls you back to where you were with the cursor on beginning of the line, then it goes to the start/end of the line as expected.
Safari:
- Home/End only scroll the page, have no effect in textarea,
- Shift+Home/End selects to the start/end of the textarea.
Also, I can't get insert to work in none of my IDEs (pycharm, vscode)
I just have a macbook, so no insert key at all, but vscode has an insert extension that I use when I need insert mode. Probably doing it wrong, but it works very nicely for me when I need it.
I’m loving WSL2 and would like to start mixing my gaming desktop more into my workflow, but I simply cannot feel productive without CMD+left/right.
If anyone knows of a way to rebind Alt+left/right to mimic the behavior, please give me a shout out. I’ve tried to reproduce with remapping to Home/End but I’ve found it really inconsistent.
This doesn't work globally like the other shortcuts, but Ctrl+left/right will move the cursor to word boundaries in camelCasedWords, which is great for programming. I quickly tested it and it worked in Xcode and Sublime Text but not in TextEdit. (You also have to disable the system shortcuts for moving between spaces)
I highly recommend everyone learn the readline keys. They apply everywhere, in chrome, messengers, etc. They're the most valuable hotkeys that I've learned other than learning vim.
I set them as the Message Of The Day in my .zshrc (or .bashrc if you don't use zsh) until I memorized them. <c-f> is genric formatting for hotkeys, where c stands for control and you type "f" at same time.
IMPORTANT: For these to be level extremely effective you MUST REMAP your caps lock key to a control key. System Prefs > Keyboard > Modifier Keys button at bottom right
# MOTD
function echo_color() {
local color="$1"
printf "${color}$2\033[0m\n"
}
echo_color "\033[0;90m" "c-f Move forward"
echo_color "\033[0;90m" "c-b Move backward"
echo_color "\033[0;90m" "c-p Move up"
echo_color "\033[0;90m" "c-n Move down"
echo_color "\033[0;90m" "c-a Jump to beginning of line"
echo_color "\033[0;90m" "c-e Jump to end of line"
echo_color "\033[0;90m" "c-d Delete forward"
echo_color "\033[0;90m" "c-h Delete backward"
echo_color "\033[0;90m" "c-k Delete forward to end of line"
echo_color "\033[0;90m" "c-u Delete entire line"
Imagine you want to go up 2 lines to edit a HN comment. You could move your right hand to arrow key, or you can simply press caps with your pinky and type "p" with your other pinky. So much faster! Now you can see why these are so effective, and are really my favorite.
Note that as you start to use these you will be pleased to see they apply in a lot of applications. For example, type command+L in chrome to jump to the address bar and highlight it, now type "news" in the address bar. The autocomplete dropdown will pop up. Now type control+n (readline move down) and you can scroll through the list.
MOTD - message of the day, it's the small text blurb that's printed when you start a new shell instance on linux or mac computers. Not sure if it's a thing on windows.
Which (readline, that is) is used in tons of command line programs, shells, REPLs, etc. to parse user input. So if you know the shortcuts you can apply them in tons of programs...
If you don't use MOTD, putting the shortcuts you wanna memorize in a macOS sticky note works great. Or editing them into your desktop image. Or a legit paper sticky note / label printer label stuck to your monitor - no screen real estate gets consumed that way
As someone who uses the above constantly in Mac OS, including while typing this comment: Is there a way to make this happen in Linux—to have all those commands work in (the majority of) text fields across all applications, and to have Linux's original meaning of "c-a" (Select All) and so forth be accessible via "(Windows key)-a"?
My ctrl key seems to mimic my Command key for most of these command and not do anything in other cases (Firefox & Word). Is there some setting I need to change?
I'm using these keybindings in Firefox right now, without any custom config (other than mapping caps lock -> control). Go to the URL bar and hit control-a and control-e; do they work? Type a few words of a reply comment, and in the comment text field, try control-a and control-e; do they work?
Neither of those programs use readline. I map ctrl-e to end of line in Word because I use it so habitually. Safari uses these shortcuts as does terminal.
The ergonomics are terrible, aren't they? I suppose in your case I'd probably use my pinky and suffer.
My Air has a JIS keyboard, so the control key is where your caps lock is. Most of my keyboards are configured this way (either physically or in software); on those that aren't, I use my opposing palm to press ctrl. I can't imagine using a Mac with flat keys and no right control =(
I use karabiner elements to remap caps to ctrl for most chords, also it will act as escape if hit alone and it will act as the arrow keys when used with hjkl like in vim. and finally it will act as caps lock if you press it with right shift. pretty awesome setup.
I edited my post. You absolutely must rebind caps to control. One of the best changes I ever made, and I regret that I didn't add that to my post after so many people have seen it. Thanks for reminding me
Because I make lots of use of control, I usually map Right Command to Right Control, so I can easily thumb control, command or option at practically any time.
You’re right, I confused it but my point still stands.
What I really meant to say:
Not really because unlike c-u, the c-a c-k combo deletes the whole line, while I actually wanted to delete only the part of the line up to the cursor. My workaround is ⇧⌘← followed by Backspace but that always feels a little awkward to me.
I can confirm that C-u has the behavior I described for me. Running Mojave. It's very useful at times in terminal as a sort of "reflected" C-k shortcut.
Because it allows you to type these hotkeys by moving your pinky 1 key to the left, which is orders of magnitude easier than the control key at the bottom left.
You can only jump by word, forwards and back, by holding the option key while using the arrow left and right.
Backspacing however can be done by word by using c-w to delete back by word. Unfortunately this hotkey only works in terminal I think, so you'd have to do option+backspace in chrome, etc.
Tools > customize keyboard. Select the All Commands category to see all possible shortcuts. You can adjust some shortcuts to match readline shortcuts. C-n, p, f, b, k, a, and e are all possible. Even Cmd-f and Cmd-b for forward word and backward word can be done. Some of these do override existing shortcuts. Also, this can’t be done for PowerPoint.
Microsoft has implemented their own text controls system in their apps. It's annoying as heck to me. I should say it's not true in Teams and OneNote. I'm guessing they are electron apps.
The main shortcut to remember is ⌘⇧? (or ⌘⇧/ on some layouts) which focuses Search under Help. It searches through all menu items and pressing down arrow will highlight it and show its shortcut. Pressing enter will execute it, but I prefer to cancel and use the direct shortcut to build up muscle memory.
wow, i was not aware of this! this also works to trigger menu items that don't have assigned keyboard shortcuts. I use Macs since Mac OS 9 and somehow I never discovered this.
on Big Sur this also hovers an arrow next to the menu item, this is what it looks like:
I'm on Mojave, where it also exists. I'm pretty sure that I remember it being around since at least the days of Tiger (10.4), and that the only reason that I can't vouch for it earlier is that Tiger is when I entered the OS X ecosystem.
> Note for users with a German keyboard layout: Given that the ? character is only reachable by pressing Shift, the ⇧? combination won’t work for us.
Not arguing, but I think I don't understand the point. Also on a QWERTY-keyboard, ? requires ⇧. In fact, ⌘⇧/ and ⌘⇧? not only have the same effect, but are literally just different ways of describing exactly the same keypress. If you need ⇧ to access a key, but ⇧ is already included in the combination, then what's the problem?
My point was that when ⌘(key) is already assigned to something, Apple sometimes still introduces a ⌘⇧(key) shortcut for another thing, creating a conflict because it’s the same keypress. Sometimes they don’t notice until years later.
Example:
Apple chose ⌘⇧/ to focus the help search box but didn’t consider that ⌘/ already toggles line comments in many editors and IDEs.
Some app teams at Apple even double-assign ⌘(key), creating a conflict with a system-wide (localized) shortcut.
Example:
On German macOS, ⌘< means Next window but a few years ago, Xcode introduced the same ⌘< shortcut for stuff like Edit Scheme, a menu command the average developer probably uses at most a few dozen times a year. Next window though is super important.
Fortunately, it’s all customizable on the user side so I’m not too angry at Apple. I just have a little weltschmerz about my language having so many umlauts, forcing keyboard designers to demote so many characters to ⇧.
Oh my gosh thank you for pointing this out. I love that search bar and use it to find/activate things in programs pretty frequently that might not have a keybind or ability to create a keybind. The fact that I can now access that via a keybind that allows me to find it is phenomenal and I'm somewhat embarrassed to have been using a Mac for so many years loving keyboard shortcuts and not know about this one. I should honestly just read the entire linked article and make some notes about important ones.
Disclaimer: I made this, haven't officially launched but I thought you might find it useful. If you do check it out, I'd love to hear your feedback (especially things that aren't clear, or objections to trying it based on the website) and would be happy to gift you a license if you'd like.
Brilliant. Refinements like this is why I love the Mac. All functions in all apps are condensed into the menu bar, and you can navigate the bar with a few keystrokes.
So is this like what Ubuntu's Unity did years ago, making all an app's menus searchable? Seemed like the smartest new feature at the time, though I never really got a chance to use it. And I don't have a mac to test this on and can't quite picture what it does from the description. Certainly I'll take anything that avoids the "is it under View or Windows or Edit???" hunt.
You type ⌘+⇧+/ (⌘+?) and the help menu opens with the search box highlighted by default. Anything you type in here will search through the menus. using arrow keys or ctrl+n/p will move through the suggests and each menu suggestion is pointed out with an animated hovering pointer. Just press enter to activate the highlighted action.
A bit of a rant, but could be worth getting some input. Coming from mostly a Windows background, it feels like Mac's despite all these shortcuts, still don't have "alt-tab" working properly. The equivalent on Mac is Command-tab, but it doesn't work when going from a desktop app (ie, not maximized) to a maximized window. I can go the other direction just fine, and between maximized windows, but choosing a max window from a desktop app just does nothing.
Am I using it "wrong"? Should I only use maxed windows or only desktop un-maxed windows and not both at the same time? I've googled this multiple times and found little help.
""Command" + "~" will switch between windows of the app currently in focus."
Yes, but not properly, with memory ... C-Tab (like we expect, everywhere) will let you rapidly cycle back and forth between the two apps you are using - no matter where they are/were in the stack when you first C-Tab'd over.
However, C-` forces you to move through the entire stack for every switch. If your app-window is eight windows away, you need to go 16 spaces/slots to switch back and forth.
This has always been the case and, IMO, is actually a bug. It suggests that Apple employees don't use their systems like this because they wouldn't put up with it for one day if they did.
I didn't know this either! I'll probably continue using shift as it's engrained in me from browsers where ctrl+tab and ctrl+shift+tab cycle through open tabs forwards and backwards.
I literally just used Cmd-Tab to switch back and forth between this desktop Safari window and a full screen Slack window, so it's clearly possible. :)
And, I just confirmed my suspicion: if you want this behavior, go to System Preferences > Mission Control, and check the box for "When switching to an application, switch to a Space with open windows for an application". With that unchecked macOS behaves the way you're describing; with it checked it behaves the way I'm describing.
I've been using Macs for years, and I agree. It is infuriating that I can tab away from an application, and then be unable to tab immediately back to it. I'm at a loss why this is missing. It is the workflow between apps when they are not maximized or minimized. I fail to see any utility in breaking that flow for minimized and maximized windows.
I am unaware of any key combination that can restore a minimized window, or restore focus to a full screen window. Surly they exist though, so if anyone here knows what they are please do tell.
To restore a minimized window, cmd-tab to that app, then control-down arrow to show all the windows of the app, then use the arrow keys to select that window (minimized windows are smaller at the bottom), then return to open it.
Oh, wait. I just tried and it turns out you can simply use the up down arrow keys once you've tabbed to the app. Neither control or option keys are required just keep holding command and then use the arrow keys. Who knew?!
Not perfect but better than nothing (which is what I had before).
Hmm, doesn't seem to do anything for me. I tried with both maximized and desktop windows (multiples of the same app, Chrome and VSCode) but pressing down just results in the app selector bar disappearing.
Your experience had been the same as mine. I bought this program a couple years ago and haven't looked back - https://contexts.co/.
However, it seems it may not support the latest MacOS builds. Actually I just checked their Twitter page and saw they said it supports Mojave, so maybe it does.
The trick is to stop using full-screen maximized windows. If you hold down Option when clicking the green maximize button you can make windows maximized the old-fashioned way, where cmd-tab behavior makes sense. You can also bind global keyboard shortcuts to this action. I use cmd-shift-up. I also bind cmd-shift-left and cmd-shift-right to fill the left/right 50% of the screen.
Beyond cmd-tab working sensibly, you also get the advantage of not having annoying sliding animations when switching maximized windows. You can mitigate the animation somewhat for full-screen windows in accessibility options (it’s an effect of a “Reduce animations” checkbox or something like that) but it only turns it from sliding to a faster fade — there’s no way to make it instantaneous like non-full-screen window switching is.
Unfortunately, maximized windows and full screen windows are not equivalent, and there are plenty of contexts in which fullscreen is what is required (virtual desktop, distraction free mode, graphics apps, etc. etc). Maximized windows retain the window bar, and if you don't have auto hide enabled on the dock or menu bar they will remain as well taking up screen real estate unnecessarily.
I've been using Mac for a couple of years, before that Windows and Linux and have to say that the bottom task bar (as in Windows 95 and Gnome 2) is easily the best window management paradigm I've used. The best implementation is Gnome 2 / MATE because you can switch windows with the mouse wheel when the cursor is on the task bar.
Switching between tabs in a web browser is a very similar UX problem - and browsers got it right. Imagine that you would have to switch tabs in your browser using like you switch between windows in Mac OS. It sounds horrible. And the W95 style task bar is even better than browser tab bar because it's at the bottom of the screen so you don't have to position the cursor vertically.
It's not perfect but I've learned to love it. Command + Tab to the minimised app, while still pressing Command, press and hold Option, then release command. That pulls up the minimised app assuming you only have one instance. Here's a better explanation: https://www.google.com/amp/s/lifehacker.com/hold-down-the-op...
there's another one where you command-tab to an app and then press the down arrow to see all the windows associated with it. and then when use the arrow keys to select the window and then you hit enter it will raise that window from the dock or the background.
The thing is, this is not full screen maximize. Mac like most Unix systems (Linux included) can create multiple virtual screens. What this means you have does windows on different screen from your computer point of view.
This is something what you may or may not know as Workspace from Windows or KDE but on steroids.
How virtual screens are handled by the OS is different story. As a user of ungodly discussing i3 tailing manager I can only say, problems you described I personally consider as terrible design and putting look over functionality.
Basically this looks like OS X do care only for current screen if it's full screen or for any screen if it's not. What's inconsistent (terrible UX) and hard to use (also terrible UX).
macOS creates a distinction between windows and apps that Windows doesn't. Note that it isn't actually doing nothing when you command-tab to that app — it is selecting it. You can see the menu bar change. It's just not bringing the app's window to the forefront, because the window is in a different "space". If you create a second Desktop and put your app's window there, the same thing will happen.
I do this all the time every day. It’s my primary mode of work, going from full-screen maximized apps to windowed “desktop” apps, and back, with cmd-tab. I don’t remember ever not being able to do this, but I’ve only started using full screen often within the last few versions.
a lot of people probably don't know this but if you have a minimized to dock app and you command+tab to that app and then hold command and then press option while releasing command it will raise the last window from the dock to be open again. so command+tab while holding command then releasing tab and then pressing option and then releasing command will re-focus the last window if there is none visible.
The existence of this thread, with no mention of the Touch Bar yet, but we're seeing keen enthusiasm over shortcuts with as much as 3 keyboard keys involved, demonstrates exactly how useless the gimmick of the Touch Bar is. It provides no snappiness in tactility or aurality, which is a key part of why keyboard shortcuts are so useful and memorable.
My Touch Bar even froze up the other day, though that was almost the first time it's happened in my 3 years of using 3 generations of Touch Bar MBPs. Long live the keyboard, and I hope Apple phases out the Touch Bar soon.
>The existence of this thread, with no mention of the Touch Bar yet, but we're seeing keen enthusiasm over shortcuts with as much as 3 keyboard keys involved, demonstrates exactly how useless the gimmick of the Touch Bar is.
For the vast majority of users, the shortcuts we all know and love might as well not exist.
>About 90 per cent of computer users don't use CTRL-F to search for a word - as they don't know such a keyboard shortcut exists, a Google survey found. The results stunned Google's Uber Tech Lead for Search Quality and User Happiness, Dan Russell.
"I think we just all assume that we all know it, but no one actually does."
This specific audience is exactly the wrong group to ask about the utility of the touch bar, since we are in the tiny minority who find traditional function keys to be useful.
Tech bubble and Google were similarly chagrined to realize normals used SERPs to navigate to web sites when organic results didn't have the site itself top of the list and users were ending up at places that confused them.
From Feb 15, 2010:
"Suddenly, the two worlds collided. The tech savvy ran head-on into the tech illiterate and mockery and disbelief started to overtake confusion as the general tone..."
"While we mock those users, the simple fact is they haven't necessarily failed, something failed them. With all of our talk about the semantic Web and search engine optimization and tailoring search results to the individual user, there are thousands upon thousands of users performing the same simple search and following the same wrong road. If this were a standard traffic sign misdirecting this many people, it would have been pulled down long ago."
I'm a web programmer, and I use web search to navigate to my bank's site. Because there are probably hundreds of phishers waiting for me to mistype a letter.
My firefox just remembers what sites I visit frequently, so when I start typing my bank's URL, that's what I get when I press enter to autocomplete. This seems robust to me; either I get my bank's website every time, or I will get repeatedly scammed (unlikely).
Not that you are doing this but it is frustrating when people use this argument to justify the lack of value of some features for the general population, but this is just a "sell to the largest market" mentality. It fails to recognize the value of features that users must learn. This situation is often used to argue some features are unimportant when in fact the observation should be that there is a need for better product education.
Cars, games, and computers in general are examples of products that improve in value more rapidly as users learn how to use them as apposed to trying to cater to the least knowledgeable users. Computer games in particular often do a good job of teaching users about features incrementally.
I had to teach a new colleague (MBA with an innovation major) ctrl+c anf ctrl+v. To him, icons in a bar would probably be way more intuitive than looking for shorcuts online.
Once you're outside the world of computer nerds and Excel-wizards, it's easy to become the office "computer expert" and to become like 10x as efficient as anyone else on your floor though the magic of knowing a half-dozen common keyboard shortcuts and sort-of knowing how files work, as in how to copy them from one place to another, and that attachments are just files, and stuff like that.
Yes, seriously. What we consider to be basic or even somewhat below-basic computer literacy is rare even among the gainfully-employed-in-an-office crowd, outside our bubbles. Yet we think we have any clue at all about "UX". LOL.
I went into a GMP company (i.e. medical goods manufacturer subjected to regulations) with the attitude that I could impress with my tricks for efficiency. But GMP is so insane that there is simply no way to do anything efficently at all. I think the only thing I managed to improve was a few excel sheets. I am back in research now, and very glad to be in a culture where the most efficient and effect technique is the one used. The thing is, people know there are better ways, but sometimes their hands are tied by stupid rules.
I find Google/Gmail also have advanced shortcuts that stem from unix style, and I could not imagine not being able to use J/K to rapidly select lots of email messages for bulk actions.
I enabled this on my parents account, and years later they still are mousing through each message individually, as if I never showed them how to do it.
Since the lockdowns started, I switched from a MacBook as a daily driver to an iMac. I have missed the Touch Bar 0% of the time. I hadn't even thought about it as something that was "missing" until now.
I doubt the Touch bar will stay the same. It runs on a separate arm soc and it would seem terribly wastefull to keep all of that after the arm transition.
So they'd have to put significant effort into it (to change the architecture to make it run on the new chip together with the system). I think they would do some major changes to it in this case.
Or they can phase it out and say it paved the way for the new arm macs and that it is no longer needed (and keep the face, not admitting that it was a failure). Especially so if the 1st Apple silicon Macbook gen is already touch based.
I hope they get rid of the Touch Bar during the transition. There were no WWDC sessions about it either.
I see this going the other way. All the keys will become a large touch/display area eventually. It wont me much worse since eventually we'll have dynamically morphing surfaces so the keys raise/depress and have tactile movements/vibrations/sounds. If history and trends have shown anything the future is more gimmicky not less, and useful bits come out of it from time to time. We'll be the generation to say "In my day keys were physically separate labelled and actually moved--crumbs getting inside were a real problem."
The touch bar isn't very useful, and it's bad for things that you want to really be "keys" that you want to be able to touch type. But it's nice for some things. Volume and brightness slider. Emojis sometimes.
Here's one use I found that I like: I sometimes work in the sunlight and want to switch to Light theme. I'm not aware of a nice convenient way to just toggle Light/Dark, so I found someone's instructions on how to bind a script that does that to a slot in the Touch Bar. Could that have been a keyboard shortcut? Sure, but I appreciate this option - kind of cool.
I have a dedicated lock button on the touch bar, which I use multiple times a day in the office. It's also great for searching through video and trimming in Final Cut.
Having the esc key on my 2019 model is good. But I hate how the touch bar offers zero tactile feedback, and reacts to even the slightest brush from the edge of a finger.
I've deleted all buttons except volume control and mute on mine, and I still end up inadvertently hitting mute sometimes when typing numbers and symbols.
The touch bar is an interesting concept, but I hardly use it as a new Mac user (got a MacBook pro for the first time ever this year), as cool as I thought it was at first.
I wish it had a few features to improve the experience:
- ability to lock an app. It would be nice to have zoom controls available like unmute when I don't have zoom window active
- hard buttons, with led screens. This would make things like debugging easier where I need to hit the "step over" button repeatedly
- easier customization without paid apps or scripting. I can only change a few defaults around
I think the touchbar would have been vastly more useful as a companion app for iPhone and iPad. As implemented, I can't afford to become used to it even if I wanted to unless I plan to be not just on a Mac, but specifically on a MacBook Pro with no external keyboard most of the time.
The biggest keyboard ability that macOS gives me is built-in combining characters. alt + a bunch of different characters gives you the ability to write seamlessly in multiple languages (in my case English, French, German and Swedish) without having to memorise altgr character codes or pop up an input panel.
You need a lot of those to write fluently in English, too, thanks to all the loan words and phrases we have. Particularly French, but quite a bit of German, too. Having some common currency symbols available is nice. Enough punctuation to write the occasional quotation or passage in French or (especially in the US) Spanish. Even m-dash and a variety of other useful English punctuation and symbols are easier to comfortably type on macOS than anywhere else.
I’d buy Apple machines if I wrote for a living for that reason. Which is silly. You’d think every default English layout would be fairly good for writing English, but I’ve not seen one nearly as good as Apple’s. You can use AltGr or US International, but they’re both much worse for general-purpose English writing.
Why other operating systems have’s stolen their alt/option-based typing layout is a mystery, to me. Nothing else I’ve seen comes close for composing English-language text. Certainly no other default layout.
[EDIT] to wit (I don't know how HN will handle some of these, I'll remove it if it's a disaster...):
• Bullets.
— m-dashes.
90°
Divers mots français, n'est pas difficile. « Avez-vous un résumé? » (sorry, my French is garbage).
Would you like your change in $, ¢, £, or €, or ¥?
¿Donde esta el baño? (my Spanish is even worse than my French, again, sorry)
∑ π ≤ ≥ and so on.
Straßburg
And on and on. Most of these I remembered despite rarely using them because the layout is semi-intuitive, and the couple I had to hunt for made some sense once I found them and if I had to use them more than a couple times a year, I'd remember. No modifier + 1234 garbage, no common keys used as deadkeys screwing with normal typing, and none of it gets in the way of programming. Every other OS, please just copy this layout for your default English keyboard.
Agree. Dashes alone are worth the price of a MacBook Pro: <minus> for a hyphen, <option-minus> for an en-dash, <shift-option-minus> for an em-dash. Trivial to remember.
Just as good is the way Apple handles diacritics. You type a prefix keystroke for the diacritic, then follow it with the letter that's being modified: ö is <option-u, o>, ï is <option-u, i>, è is <option-grave, e>.
Most of the prefixes have easy-to-remember mnemonics: umlaut is <option-u>, grave is <option-grave>, tilde is <option-n> (for eñe, I suppose), but even hunting down these prefixes is fairly discoverable. After typing the prefix, a placeholder character is displayed in the text box showing the mark you've just entered, something like: ̲̈.
Then:
- <escape> or moving the cursor with an arrow key enters the diacritic as standalone character (e.g. ¨ is <option-u, escape>).
- <backspace> deletes the diacritic.
- A character that takes the diacritic enters the modified character.
- A character that does not usually take the diacritic enters the diacritic and the unmodified character (e.g. <option-n, 5> yields ˜5).
Yep, I was leaving aside instant access to em-dashes, ellipses, proper curly quotes, dipthongs, etc. I contribute books to https://standardebooks.org/ as a hobby, so those are things I use daily as well.
I wasn't joking about how I'd buy Macs if all I did with computers was write & compose English text. I mean I'd get used and fairly low-end ones, but still. The keyboard's that good. Well, not the keyboard keyboard, but the layout in software. Which, again, is a weird thing to still be a significant advantage to one brand or OS over another when they're all using very nearly the same physical key layout.
Correct, Mac's are brilliant for writing in multiple languages for that reason. Whether I quickly need an ø or ü or é or û, it's so quick to type these that I cannot imagine it's even worth having a non-US layout keyboard regardless what language you primarily type in.
This is one of the features I miss most when using other systems. Text navigation and generation are incredibly easy on a Mac (comparatively, for me). It’s a joy to come back to.
I must say, the single feature that made me switch to macOS (or that made me comfortable with the switch) was the built-in emacs keybindings. I mapped Caps Lock to Control and can finally stick with sane killing & yanking text, as well as jumping around (front,end,back/fwd a char or word).
Gnome/GNU/Linux provides a compatibility layer that isn't as good as macOS's emacs bindings.
I've gone further to support meta-keybindings for whole-word movement. Control-b goes back one character, option-b goes back a whole word. It's really easy to add and customize:
Ctrl-Command-Power does an immediate reboot. Loses any unsaved documents. Doesn't shut down cleanly so potentially damages the filesystem. No "are you sure?". That's great: they thought the feature of "damage your computer" was so useful they should make a keyboard shortcut for it.
It's one key away from Alt-Command-Power which I use all the time to put the computer to sleep. So the feature is not only convenient, it's very "discoverable". I certainly discovered it yesterday.
Windows laptops solve the problem by making you hold down the power button for 5 seconds, to prevent you from doing it accidentally.
I have never, in the past at least 15ish years of working daily on a mac, triggered this accidentally. But, I have needed to perform it a handful of times.
More than 23 years here. And 23 years ago I used it an awful lot more in the dark days of System 7 with no protected memory and cooperative multitasking.
It's one key away from Alt-Command-Power which I use all the time to put the computer to sleep.
(Not a Mac user.) What does (short-)pressing the power button do? On Windows, the default action for that is usually sleep, and as you noted, a long-press is a hard poweroff (that's done in hardware directly, the short-press is just an ACPI signal to the software.)
> Power button: Press to turn on your Mac or wake it from sleep. Press and hold for 1.5 seconds to put your Mac to sleep. Continue holding to force your Mac to turn off.
It takes a lot to type "sudo reboot" by mistake. Shortcut key combinations are something you can press by mistake, especially since there are so many of them and you can be absent-mindedly thinking of a different combination!
Human Interface Guidelines for the keyboard: https://developer.apple.com/design/human-interface-guideline.... I wish more developers of cross-platform Mac apps (built with Electron, Mac Catalyst, etc) put these into practice. Any iOS developer whose apps will be on Macs with Apple Silicon should also read it.
Prior to me adopting Linux as my main OS, I used to love the keybindings on macOS. That many of the same bindings I used in Emacs, also worked in documents was amazing. That is except for Microsoft Office, which did not comply with the system binding. All too often I'd use Ctrl + a to go to the beginning of a line and start typing, and accidentally delete the entire content of the document.
I still accidentally try to use these on my linux machine, that’s one thing I really do miss. One consolation is that I can still use them in my shell :) Weirdly enough I never accidentally use these shortcuts while using vim. I’d guess my subconscious is somehow aware of the contexts in which I’d use these shortcuts and is able to differentiate between my browser, the commandline and vim but not between using a browser on a mac vs. a linux machine.
One thing I love about macOS terminal is the distinction between Command-C and Control-C in the Terminal. One copies a text under cursor and the other sends a SIGINT. I absolutely hate using Control-Shift-C to copy a text in Linux terminal and Control-C anywhere else.
100% the best thing that Mac does with respect to keyboard shortcuts is the fact that the `Meta` key is the de-facto shortcut key. That makes so many shortcuts consistent across the command line and the OS
While I like that distinction too, I wonder why Linux terminals can’t tell whether something is currently selected or not, and have Control-C do the right thing depending on it?
I’ve been double-mapping Control-C on WSL for a few months (using ConEmu as a terminal) and it works surprisingly well for me.
I bought a MacBook Pro in 2012 and it has no symbol on the alt/option key or the control key. 8 years after coming from windows and I'm still confused when I see shortcuts with symbols.
⌥⌘v or ^⌘f
The symbols are unintuitive and a ton of online and in-app resources use only symbols. It's weirdly inconsistent to me that some keys are labeled with symbols, others are not, and they are still commonly used in apple documentation and elsewhere.
For me the option key was always the one that threw everything else off..since failure to recognize it made me doubt all the others :-). One "pneumonic" that helps for the option key is that it looks a bit like a "fork in the road" (i.e. "an option"). The ^ for ctrl goes back to linux, so "logical" for folks with that background. And, cmd is used so often I just got used to it.
The thing I miss the most on macOS is the equivalent of Shift + Windows key ⊞ + right or left arrow, to move a window from one monitor to the other. This is useful for apps like Excel and MS Word, which can't be dragged if they're maximized.
I have set up a PC and a MacBook to share a screen, keyboard and mouse (KVM switch). If I'm switched to the PC and I want to look at a window on the Mac, and the Mac's window was on the shared monitor previously, there is no way to shift the window to the built-in Retina screen without switching back to the Mac, which has its own set of problems (I can't reliably switch back to the PC, despite using a top-of-the-line Aten KVM).
I have configured Shift-Command ⌘ + ← left arrow to move the window on the Mac, but it only works for apps with a Window option on the menu.
Some of my favourite keystrokes:
Finder:
Command ⌘ + Shift + G: Explicitly paste path
Right-click, Option ⌥ to "Copy as path"
Command ⌘ + Shift + . (period): show hidden files
Command ⌘ + ↑ (up arrow): Go up one level in the directories
I set up shortcuts in magnet app[1]. Cmd+Ctrl+(left/right) moves the window to that half of the current scree, and Cmd+Ctrl+(up/down) moves it across monitors.
You should use an app like Spetacle or Rectangle to achieve this. I use spectacle personally. I can move apps from one monitor to another with command-control-option-arrow_key
No Ctrl + L does not clear the screen. It merely inserts enough blank lines (CR) until the stuff is moved out of sight. It's still there if you scroll up.
Mac keyboard shortcuts is one of a handful of features keeping me close to macOS instead of switching to Linux.
I started using Emacs when I was around 6 or 7 years old. CTRL-[aeknpbfl] etc. are hard-wired into my muscle memory, and they all work everywhere on every app when editing text. All the other shortcuts use the Command key. This brilliant distinction made the transition between FreeBSD’s command line (what I grew up on) and the macOS GUI an easy one.
I’ve lost count of the times I’ve had to use a Windows machine where I’ve hit `ctrl-a`, started typing, and lost my document. (Just an undo away, but still.) So frustrating.
I recently discovered the KDE desktop. I thought, “oh, this is pretty and really customizable! I could switch to this.”
And then I learned there was no easy way to use Emacs keybindings everywhere. (Gnome has an option to do this and it works pretty well.)
If anyone knows of a way to get most of the core Emacs keybindings in KDE, please let me know.
I have this running, but almost never use it (it usually pops up while I'm holding cmd and e.g. reading the last few words on a website before I hit cmd+w).
In what situations do you consciously decide to open cheatsheet and learn some new shortcuts related to the app?
Some of my favorites are pretty far down the list:
I was using Control-A and Control-K a lot on the command line to jump to the beginning of the line, and then erase the rest of the line and tried it once somewhere else and it worked! The other way to do this same sequence (Cmd-right Cmd-Shift-Left)doesn't work in the terminal, and would require me to take my hands off the home row to use the arrow keys (until recently [1] )
Option+arrow to jump by a word is also handy, but I almost never land exactly where I want relative to punctuation the first time.
[1] I am currently using a Kinesis Freestyle Pro with arrows mapped to right-spacebar + [IJKL]. They are still working out some issues for me where it fails if I press Command before Fn (mapped to right space bar). If anyone has a split keyboard recommendation where this would currently work without the order dependency issues with the modifier keys please let me know!
> I was using Control-A and Control-K a lot on the command line to jump to the beginning of the line, and then erase the rest of the line and tried it once somewhere else and it worked!
This is the behavior of emacs; I'm very happy as I spend most of my time in a terminal window that I can use c- shortcuts both in emacs and in the OS natively.
My favorite Mac shortcut is now option-command B, which I connected to an automator app which changes my external monitor brightness. It calls ddcctl which is a command line script which communicates over the displayport connection to control the monitor. This is a huge improvement over the annoying on screen monitor menu!
Thank you for that! The built in Mac display brightness controls only seem to work for the Apple Cinema Displays - they do nothing on my Asus monitor.
I just tried ddcctl ( https://github.com/kfix/ddcctl ) - and it worked perfectly over HDMI through a HDMI switch. I didn't even know what to look for - so this comment was a lot of help.
This sounds like something I'd find very useful, do you mind sharing a link on how to set this up or where I can find more information on this? Thanks!
I did this before learning about other tools! But you can download ddcctl from GitHub, then create an automator "quick action" with no input from any application. Then I created a flow of "Ask for text" (brightness), "run shell script" (/path/ddcctl -d 1 -b "$1/"
Once you have that saved you can go to your Mac keyboard settings and add this new automator app as a new shortcut!
Tangential to the topic: is there somewhere I can buy keyboard stickers with the macOS shortcut symbols on them? I couldn't find them when I looked in the past, and it is frustrating looking at my external keyboard (or even many internal keyboards) and trying to figure out which key matches which funky symbol.
The fact that menus use all these crazy arcane symbols for keys like Esc, Del, Tab, and so on, but they're not on the keyboard itself, has always baffled me.
Cmd, Opt, and Ctrl all have symbols on the keyboard. For the rest of the keys, why don't menus just literally spell out "Esc", "Tab", "Del"?
it would be really cool to have a keyboard (a physical one) where each key had a tiny display on it, and the key's label changed to reflect what it will do based on the modifiers currently depressed
I dislike the way mac makes almost all shortcuts start with the apple key.
Granted windows has a few, they are mostly OS specific, like windows-e to open explorer. on OSX even something as standard as ctrl-c / ctrl-v uses the cmd key.
I have much less difficulty switching between windows and ubuntu than to mac when it comes to shortcuts.
I actually prefer the Mac way since I often find myself accidentally killing terminal programs when trying to copy something. The fact that Ctrl-C is context dependent makes it a big pain usability wise.
I hear you on switching between Windows/Ubuntu vs. Mac. Especially with Cinnamon which I used at an Alphabet company, the shortcuts were pretty much the same as Windows.
On the Mac, the preference for the Command key is stated explicitly in the human interface guidelines:
• Prefer the Command key as the main modifier key in a keyboard shortcut.
• Prefer the Shift key as a secondary modifier when a shortcut complements another shortcut.
• Use the Option key as a modifier sparingly.
• As much as possible, avoid using the Control key as a modifier.
Hard to see Apple changing this, since the Mac has been using the Command key for shortcuts since 1984. You could even argue that the "standard" you mention of using the Control key actually came along after the Mac!
"The person most widely credited with Copy and Paste, Larry Tesler, did work for Apple starting in 1980. However, he created the command while working for Xerox Palo Alto Research Center at some point between 1973-1976 "
Further to other comments, looking here it seems that C, X, V for Copy, Cut, Paste were first used by Apple in the Lisa in 1983 and then later adopted by Microsoft for Windows:
"The IBM Common User Access (CUA) standard also uses combinations of the Insert, Del, Shift and Control keys. Early versions of Windows used the IBM standard. Microsoft later also adopted the Apple key combinations with the introduction of Windows, using the control key as modifier key. For users migrating to Windows from MS-DOS this was a big change as MS-DOS users used the "copy" and "move" commands."
‘In Gypsy, the user could select the source text, press the "Copy" function key, select the destination text or insertion point, and press the "Paste" function key.’
Before the Mac, all the computers I remember used function keys or their own various commands. Even after, IBM published “Common User Access” using ctrl-insert and shift-insert. Apple, as far as I know, introduced the familiar ZXCV shortcuts.
Also most Linux/Windows shortcuts feel way more natural than on macOS
For a new tab in chrome Ctlr + T is easily done on Linux/Windows. On macOS for Cmd + T you need to weirdly bend your thumb under your hand while also hitting T somehow.
Or you need to move your entire hand 2 columns of keyboard layout to the right to be able to hit cmd with your pinky.
Got nothing to do with it. Computing wasn't invented in 1990.
Ctrl-c/v is a essentially a kludge introduced into Windows because the IBM Model M keyboard and similar didn't have a Meta key. It wasn't until Windows 3.1 that we see Ctrl-C and Ctrl-V being a 'thing'. Before then it was all about IBMs CUA. Apple had CMD-C/V/X on the Lisa 9 years before. I'm not sure what Xerox did on the Alto or if it even used keyboard shortcuts, but they did refer to the operation as Copy/Paste (coined by Larry Tesla who went on to work at Apple).
But on Unix and Linux pressing Ctrl-C in a terminal will send SIGINT (unless special measures are taken by your terminal emulator).
I think this another benefit of the Mac using Command-C for copy: when the UNIX-based Mac OS X was introduced you could copy from termainl windows without accidentally stopping the running program!
Which Unix would that be? The closest thing to a common Unix desktop environment, the Common Desktop Environment, didn't steal Control because they had enough sense to know that people needed it to type control characters.
> Linux - Ctrl + c
The Linux desktop crowd has always been obsessed with cloning Windows.
Keyboards have modifier keys on both sides because you would have to stretch or move your fingers out of position to type most combinations with one hand.
The Command keys on Mac keyboards are wider and closer to the center than the Alt or Windows keys on PC keyboards.
I think that “feels natural” is not the right adjective to describe that it breaks your habits.
With Apple keyboards the Cmd key is easy to access, I only had that problem using Windows keyboards. The Win key is not used much so some manufacturers make it smaller.
I use Macs since 2007 and it “feels natural” to me, but this is because I’m used to Apple keyboards. For me the Ctrl key feels far away, and hitting Cmd plus key comes as the first reflex.
My favorite “feels natural” thing on Apple keyboards was putting raised dots on D and K, on the Keyboard II and Extended Keyboard II. This goes under the middle finger, just like on the numeric keypad.
Eventually they relented and put the dots under F and J like the rest of the PCs.
Putting the Caps Lock key above the Shift key came from typewriters, where it was a "Shift Lock" key (it physically locked the Shift key below it in the pressed position). If you have to blame something, blame typewriters.
I felt the same when I initially shifted to macOS but even though I don't like a lot about macOS, this has grown on me. Cmd key is more centrally located on the keyboard and requires less flex in your hand to reach.
I was a late switcher, only after 20ish years of Windows, Linux, and a little BeOS. I now wish everyone else would just copy apple’s layout exactly for their default English keyboard & system shortcuts. It’s way, way better. Let dwm users and such remap if they like, of course, but that should be the default. It’s so good it’s fair, so long as no one else has copied it (why not!?) to call it a feature, and one providing significant “stickiness” for their platform (ditto Preview—sometimes, it’s the little things that matter, if they’re done exceptionally well)
Maybe you could remap the keys and swap Cmd and Ctrl, I remap the keys around on my Linux machine to have them more ergonomically pressed, for example I don't use Alt as much so I make left Alt a Ctrl btn, I never use the Meta btn so I make that one an Alt btn.
I have Caps Lock remapped to Backspace, even when I don't have a programmable keyboard plugged in. I know Caps to Esc is also very common for Vim users, but I find I make typos a lot more often than I use Vim.
Using launchd you can even do this before login so that it works in the login window.
I love osx but the world needs another company that makes great hardware and combines it with a Unix based operating system. I would love to see some competition for Apple.
I was forced to use OSX due to some.unlycky life circumstances and I found it to actually be a half way decent OS! Having used Linux since I was 11, it took surprisingly little tweaking before I felt at home.
However: I had serious issues with keyboards. Alt gr (right alt, used for typing a lot of special signs useful for programming. Brackets, @ and such) stopped working more times than I care to count. I ended up having to use karabiner to work around it. There was an issue where the paragraph key magically disappeared. That would have been fine, if it hadn't been my Emacs leader key. I have had issues with some keyboard shortcuts just magically not work due to me using Swedish as a system language, which is something I did not have to deal with in any other OS. It just made the whole experience feel rather unpolished.
Then Catalina came and I switched back to Linux. Now my 2015 iMac is just collecting dust, and since they removed support for target display mode I can't even use it as a second display, which is sad since the 4k 500candela display is the only thing I really miss.
Killer keyboard feature for me is ~/Library/KeyBindinds/DefaultKeyBinding.dict - all text controls honor that. Very nice way to get basic emacs shortcuts defined. I've yet to find something half as simple & effective as that in linux desktop land, probably because of the variety of gui toolkits that isn't present in osx.
One strange behavior is that in Finder (in list view for instance), page up and page down (or Fn-Down, Fn-Up) move the view up and down, but the selected item remains unchanged so that hitting the arrow keys returns the view back to the selected item. In order to select a different item, I either use the mouse/trackpad, hold down the arrow key to my desired item, or press Option+Up/Down to move the selection to the beginning or end of the list of files. I don't know of a way to move the cursor by one page view.
It's a behavior that I can get used to, but what I find inconsistent is that the behavior is different in iTunes. It seems like in iTunes, the only way to move the selection is either arrow keys or the mouse. Option+Up/Down doesn't do what it does in Finder.
Another tip if you are mousing through a native app's menus in the menu bar, holding ⌘, ⌥, ^ and ⇧ (or combinations of them) will show you the alternate options in that menu that those extra keys in the combo perform.
One of my favorite things about the macOS shortcut system is this idea of variations on operations using variations on shortcuts. They've kept the system remarkably consistent.
Last tip is that if you want a quick way to type keyboard shortcuts, set up keyboard text expansions for things like "commandkey", "optionkey", "shiftkey" etc that resolve to those symbols. I found it slightly fast than bringing up the emoji picker with ^ + spacebar and typing e.g. "place name" for ⌘. (What is the icon for spacebar??)
This page is terrible as a documentation/reference source. It's information is indexed by keyboard shortcut instead of the other way around, by functionality.
I need a keyboard shortcut expert to help me out with something specific in Safari.
If I type a term into the URL bar, the bottom list of suggestions is for 'Bookmarks and History'. If arrow down to select one of these, it places it in the URL bar, but the only text I can edit here is the title of the page, I can't actually edit the URL. Is there a way to make the URL here editable without actually visiting the page first? I could just press enter then Command-L to edit it, but I'm looking for a way to append the URL first.
Using most of these on a daily basis. It's great that Apple paid attention to this type of requirement from power users. One shortcut I didn't know about though: option-command-eject (my bluetooth Apple keyboard does have an eject button on it) allows me to put the Mac to sleep within 0.1 seconds. When logging off in the evenings I've always used the menu bar's -> Sleep, and then carefully not moving the mouse afterwards so that I inadvertently wake it up again.
Cmd+Shift+<square_brackets> - i.e '[' and ']' switch to the previous and next tab respectively
I use this a lot, but is missing from this page. I'm pretty sure I didn't have to customise it in the settings myself. Not sure how I stumbled on this, but it works for me in all applications, native or electron (VS code is the only one I have installed).
One of the best things I love about macOS is the sheer beautiful consistency, which although not perfect, is a breath of fresh air compared to Windows.
App-level shortcuts almost always use the Command key, global shortcuts generally use Control, and Option/Shift are modifiers.
On Windows sometimes it’s Control, sometimes Alt, and sometimes the same task has different shortcuts in different apps.
What? I think macs being more consistent is in your head. It suffers the exact same issue as Windows and Linux. The issue can't be solved since app developers choose which the shortcuts and not os developers.
> I think macs being more consistent is in your head.
I've used both.
> It suffers the exact same issue as Windows and Linux.
The issue is worse on Windows.
> The issue can't be solved since app developers choose which the shortcuts and not os developers.
Wrong. macOS/AppKit/Cocoa define a lot of standard menu items and shortcuts and provide them to all native apps "for free".
If you look at the shortcuts list for a random Windows app, some shortcuts will use Alt, some will use Control. On macOS, almost all shortcuts use Command, and Option/Control are only modifiers.
Finally, on macOS, you can define custom shortcuts and edit existing shortcuts for any app, from the global Keyboard Preferences.
And you can add your own menu items as well via Automator etc.
Another thing that Mac does well is the Swedish layout. ~ [] | \ {} are IMO much better placed on the Swedish Mac layout than in Linux or Windows. In some games in windows I can't even bring up the terminal with ~ as it requires a space to be typed in after so the game doesn't register it as a keystroke. Wtf.
Funny. They are terrible on Danish and Norwegian layouts. Like, the pipe is command+i and I always have to look up square and squiggly parens. I think they are on top of normal parens .. or next to. But they are not indicated on the keyboard and they take a modifier, but if you use the wrong modifier, you'll change tab in your browser window. ~ is also not printed on the keyboard and takes a modifier, causing a clash with the command-~ shortcut for changing between windows in the same application.
I am utterly unimpressed and I want to sell my laptop just to buy a new one with US layout.
Shout out to Cheat Sheet. Hold down Command for a few extra seconds and an overlay pops up showing you all the keyboard shortcuts for whatever app is in focus. https://www.cheatsheetapp.com/CheatSheet/
Since the first Macintosh was released in 1984, Apple has continued to add keyboard shortcuts. The list of keyboard shortcut has now become ridiculously long. By the way. Many of this shortcuts also work on iPad with a physical keyboard connected to it.
There's an "enable dragging" option in the Accessibility settings, which lets you double tap on an object to start a drag without needing to use the physical button. You can choose whether the drag ends when you pick up your finger, or if it continues until canceled with a tap. You can also set it to start a drag with a three finger gesture instead of a double tap with one finger.
Such an exhaustive list... yet it omits one of my favorite timesaving shortcuts. In Terminal, option + click will move your terminal cursor to anywhere you want in the current line.
Not that I've found. You can mostly do it with KDE and a lot of shortcut setting, but there are a lot of unconfigurable programs hardcoded to use Windows shortcuts. Web browsing is a big one; Firefox used to let you do it be setting ui.key.accelKey, but it's been buggy since the Quantum transition.
1. Bringing up the print dialogue is a slow process so its annoying when you hit cmd-p on accident
2. Print operation is done very rarely and not frequently invoked in the middle of a keyboard-centric workflow -- how often would it not be more or less equivalent keyboard interruption to use the Print Menubar Action vs cmd-p?
3. It would be nice to steal the shortcut from all apps and remap it to something useful ...
They're pretty good but try toggling back and forth between two windows from different applications (NOT ENTIRE APPLICATIONS JUST TWO DIFFERENT WINDOWS)
It is curious how something like this gets published with inaccuracies like that Command-L will create an alias in Finder, when it is actually Control-Command-A.
I emailed Greg Joswiak about this (it’s cool how some of their leadership will respond to strangers’ emails: https://news.ycombinator.com/item?id=24055149) and he said the command had previously changed. It’ll be fixed soon on the site.
Everything just makes sense logically and mnemonically like using shift to invert actions like cmd+z and cmd+shift+z rather than having ctrl+z and ctrl+y for undo/redo.
Then add to this the ability to rebind any shortcuts in any app at an OS level. It's a little frustrating because I'm trying to move my computing away from Apple because I'm no longer convinced they care about Macs in the long term but just really wish either Microsoft would have the guts to throw a lot of their legacy out and fix all this stuff or that there were some way to actually achieve this level of coherence across the whole system on Linux.