back
121 comments
I live by keyboard shortcuts, and one that I use many times a day that I find lists of OS X shortcuts always miss is how to restore a window if it's minimized, or open a new empty document if no windows are active.

Normally, when you cycle open apps with Command+Tab, if you land on an application that has minimized windows, nothing happens. The way to remedy that is as follows: Hold Command and tab to the app you want to un-minimize. Without letting go of Command, press down Option, then while holding down Option, let go of Command.

It's a little awkward to use at first, then you'll do it automatically. I hold Command with my thumb, then tab with ring finger, then just move ring finger back down to Option, and let go of thumb.

Edit: Bonus tip: When landing on an application icon with Tab, continue holding Command and use Tilde (~) to cycle through windows of the same App. I use that one a lot too.

This was one of the things that made OSX horrible for me when switching from Windows and Linux. I have since learned the tricks to get around many of OSX's windowing quirks, but I do wonder how things like this have not been fixed.

I love my OSX setup now, but if I was a "non-power-user", I think it would be completely unusable. Watching a typical Windows user try to maximize a window in OSX is pure pain.

Hit the + button: window gets a bit bigger, but not full screen.

Drag the window to the top: nothing happens.

Try to get to the edge of the window, and drag it out: RSI inducing frustration.

Windows seems to dominate as far as basic user usability goes on the windowing front. I would still find it completely unusable without the help of a windowing app like spectacle[1] or slate[2].

[1] http://spectacleapp.com/

[2] https://github.com/jigish/slate

This is a good tip but it comes too late. To deal with this exact frustration I decided years back to simply never minimize anything ever. It's working well for me.
This is a game changer, how did you even discover it?
Good to know.

What I do is Command+Tab then Down Arrow. This will allow you to use the left and right arrows to cycle through all windows.

Because of this awkwardness, I never minimize windows either (like others who replied here). I simply hide them.
It seems to work for me even without letting go of Command, I just need to tap Option while Command is being held down and it will pop the window back out.
Huh. Cool.

Depending on your keyboard you might also be able to slide (with your thumb) from Command to Option. It’s certainly possible on Apple’s keyboards (I just tried).

This is incredibly helpful - thank you.
but you need to know apriori that it is minimised no?
Made my day...
I find the philosophy behind keyboard shortcuts in Mac OS vs Windows interesting; the former appears to be designed with a much heavier emphasis on mouse use, with keyboard shortcuts added later, while the latter feels somewhat more balanced and the shortcuts easier to discover. E.g. menubars can be navigated in Windows via Alt, the arrow keys, and Enter, with the underlined items also accessible by pressing the corresponding key; in Mac OS the corresponding shortcut is Ctrl+F2, is only available after enabling it with Ctrl+F1. and there's no underlined letters to guide you. Things like moving/resizing windows can be accomplished pretty easily with the keyboard in Windows (Alt- -M/Alt- -S), there's no equivalent by default on a Mac.
I feel the same way. When I moved from Windows to Mac, I nearly burst into tears due to lack of simple keyboard shortcuts. And it was surprising to me given how geeks prefer Mac over Windows. I expected Mac to be more keyboard friendly and was disappointed.
I understand this, but I feel the opposite. I'm a heavy user of both platforms and find the lack of depth in Windows shortcuts maddening. On a Mac, almost every individual operation can be accomplished with a direct shortcut while on Windows, you are often invoking a menu and navigating to the option you want.

I think Mac shortcuts take longer to memorise as they are often a combination of command, shift, option, etc. (although they are helpfully spelled out in each menu) but once you have learned them there is little that can't be done directly from the keyboard with a single invocation.

I work in web browsers a lot and the greatest thing I've ever done for productivity is use the Vimium extension in Chrome, which allows me to easily navigate the web using my keyboard.

Pressing "f" instantly tags each link on the page with one or two letters that I can type on the keyboard to go to that link (if I type them as capital letters, the link gets open in a new background tab, otherwise just a new tab).

Even if you're not a fan of the vim editor, if you enjoy keeping your hands on the keyboard it's worth learning the few keyboard shortcuts that Vimium provides for navigating the web.

https://chrome.google.com/webstore/detail/vimium/dbepggeogba...

Well how many of you felt frustrated when not being able to use Cmd+x / Cmd+v for moving files/directories in finder and have to take a recourse to mouse, open the source and destination finder windows and drag files manually?

I recently discovered this gem that accomplishes the feat using keyboard shortcut. Use Cmd+c to place the file(s)/directorie(s) on clipboard. Now move to destination directory and use "Cmd+v" to do copy-paste and use "Cmd+Option+v" to move the selected files and folders.

Highly relevant if you're interested in learning these, or are bad about remember all the random keys in disparate apps is CheatSheet: http://www.cheatsheetapp.com/CheatSheet/

Pop up that shows available keyboard shorcuts (activated by a keyboard shortcut of course :)

There are some other symbols which are (somewhat) common in OS X's shortcut listings but which aren't listed on this page, like Escape, Home, End, Delete... Found them listed here: http://www.danrodney.com/mac/index.html
If there was one basic skill that is critical for all novices in moving from novice to intermediate, it'd be keyboard shortcuts...a mechanical skill that's seemingly banal yet important to day-to-day development as typing is to modern writing...and it's even more easily overlooked because most aspiring programmers know how to type at a decent rate, and expect that that's all that's needed to become a decently productive programmer.

Doing power-scripting may not require a ton of keyboard-skill...but for novices trying to leapfrog into web-app development (let's not debate whether that's even wise)...it's excruciating to tell them "OK, now look in config.rb and see if that matches what you see in the main_controller.rb. Then switch to Chrome, refresh, and see the output"...and watch them take 5-10 seconds to poke through each open tab in Sublime Text (or just as bad, explore each branch of the project tree)...by which time, they've forgotten what they were supposed to be looking for in the first place.

In other words, if aspiring developers want to take the quick shortcut, past basic computer science and operating system theory, right into web app development, then they must make up for it in other areas of efficiency. Learning keyboard shortcuts isn't the only vital skill, but it's the easiest to master...and the easiest to pooh-pooh.

OS X is emacs-friendly, for example C-A, C-E works as home and end respectively.
Better Touch Tool (http://www.bettertouchtool.net) is another great free app that can really up your productivity. The biggest features for me are additional multitouch gestures that you can program any way you like. My favorites are three finger swipes up, left, and right to reposition windows a la Windows-Key Up Left Right.

While it isn't strictly a keyboard app, it also gives you a lot of flexibility and does support the keyboard. My latest addition is a script that pulls up the Lastpass extension from a global hot key and puts the mouse over "Copy Password." It is very useful for getting passwords into the command line.

One that doesn't seem to be mentioned: if you want to navigate to an absolute path using the keyboard from within a Finder window or a Save dialog, use ⌘⇧G to open a little "Go to..." panel that lets you type in a path. It has path completion and has tilde expansion.
Unfortunately ^F2 doesn't seem to consistently work in my experience, so I have unmapped it and use a Keyboard Maestro macro triggered by same keystroke globally...

1. Save mouse position 2. Mouse mouse to 0,0 3. Click left button. 4. Restore mouse position.

It's a hack but it works.

I also wish there was a consistent keystroke for focusing to the top-level element of a page in Safari: when browsing using Chrome I frequently use the excellent Vimium extension (Vim shortcuts in Chrome; plus great highlighting of links to pretty much navigate quickly with keyboard only). In Safari I use the similar, but not quite as good Vimari. However I find that after navigating to a page from the URL bar, the shortcut to trigger Vimari doesn't ALWAYS work until I click on the document somewhere...

Screenshot shortcuts are my favorite:

Cmd+Shift+3 = Capture the entire screen

Cmd+Shift+4 = Capture a selection with the mouse

Cmd+Shift+4 -> Space Bar -> Move cursor and click on window = Capture the selected window

By default it will save these to an image on the desktop. By holding down the Control key it will copy it to the clipboard.

I love my Mac, I really do, but damn why is Mail such a POS? Really do I need a three key combo to mark a message read? Why can't I have my smart mailbox mark its messages read? Let alone Mail went through all those trials and tribulations where it really didn't want to think you read your mail.

Still there are still other quirks that can be irritating, as others have mentioned window controls and my favorite, accidentally finding a three key combo that puts things off the main window or worse changes the zoom and you have to figure it out the hard way (yeah, have had Macs for over ten years now and there are key combos that elude me still)

My FAV key combo is simple: FN + Backspace

Since I use the terminal ALOT, this key combo is the same behavior as delete on a full keyboard. It will delete text in front of the cursor.

Another helpful one I found out through trial and error is Fn + Shift + <- OR ->

The above moves the cursors placement to the beginning or end of a terminal prompt. Hope this helps someone else :)

Good stuff. Most importantly, it highlights Cmd+Spacebar. It's amazing how many of the non-hard-core geeks know about Cmd+Spacebar on Mac.

Someone told me an investment firm took AWAY computer mice from all employees because using just keyboard makes you 20% more productive (I think they were all Windows shop). And I believe the 20% figure.

Great list. I'd also like to suggest this small plugin which allows you to rearrange your windows on your screen as you would in Windows 7/8 with the snap to feature: http://most-advantageous.com/window-keys/
I love how my 3 year old macbook pro has "alt" and "option" labels on that key that in shortcuts is some awesome unrelated glyph, and the key labeled "control" is in shortcuts described as "^" (which at least is familiar from TTY)
The "shortcat" application recomended seems pretty awesome. Playing around with it now.
My one gripe is they took away Dictionary definitions as first results from Spotlight (command+space). I'll look into using the Dictionary shortcut mentioned in by the OP but I often used the Spotlight way for words I wasn't looking at on my screen.
SizeUp is a great utility that gives you keyboard shortcuts for resizing and moving windows around. Essential!

http://www.irradiatedsoftware.com/sizeup/

A bit shallow.

For me the main problem was that Macs had a completely different shortcut layout than Windows and Linux. With 'KeyRemap4MacBook' I was able to get consistency across the different platforms (not perfect but ~ok).

Command-Shift-G in the save dialog or in a Finder window brings up a "Go to folder" prompt that allows text input of a path _with tab completion_.

As an aside, these posts remind me of macosxhints.com of years past.

You can set up a shortcut for tagging files in Finder which I find really helpful: https://coderwall.com/p/8li8hw
Most of the basic Emacs navigation bindings work as well

C-a C-e C-b C-f C-p C-n C-d

probably more...

The most glaring issue I have with Mac keyboard shortcuts is the lack of a Meta+L lock feature like in other OSes. "Hot Corners" are idiotic for this purpose.
"Opening recent items" doesn't seem to work for me with any app including TextEdit. I just get Exposé
Seriously how can you write a keyboard shortcut tutorial and not include any mention of keyremap4macbook.
useful stuff, but is skipped the easy shortcuts to get accented characters:

option-n then n or N : ñ or Ñ

option-e then a, e, i o or u : á é í ó ú or Á É Í Ó Ú

option-u then a, e, i o or u : ä ë ï ö ü or Ä Ë Ï Ö Ü

option-` then a, e, i o or u : à è ì ò ù or À È Ì Ò Ù

option-c : ç or Ç

there are probably others but I'm more familiar with French, Spanish and German than say Czech.

Why this trend of using large font size on blogs? (1.225em from http://mattgemmell.com/stylesheets/screen.css). This is ridiculous, especially when this is done on mobile too. I have to scroll to be able to even read the first word of the first paragraph on my phone!
My favorite shortcut is:

ctrl-shift-eject

to start the screen saver and lock the screen if screen locking is enabled.

Finder/Help/Search: keyboard shortcuts. Second topic.
Turning CapsLock into a modifier key changed my life.
on osx the shortcuts are different for emacs between the terminal and x forwarded sessions. it kills me inside that this is the best hardware I can afford for now. oh I also had to remap OSX shortcuts to keep from closing my xfowarded emacs session.