For a long time Windows user, starting using Mac can be an exercise in frustration and keeping your nerves at bay. Many things don't work as expected, need to be activated in some ways, keyboard shortcuts are non-existent or wildly different.
This page is a living reference of a Windows long-timer trying to do basic stuff on a Mac. If you see an easier way to achieve certain things, don't hesitate to drop a comment.
Related links:
- https://gist.github.com/jakub-g/66ff830e1227b470aee2355e4b933293
- https://gist.github.com/jakub-g/130d14edea5b3b9e0f91dfd0a8cd5645
- https://support.apple.com/en-us/HT201236
- https://www.computerworld.com/article/3023544/apple-mac/24-keyboard-shortcuts-mac-users-need-to-know.html
- https://support.apple.com/kb/PH25102?locale=en_US
- On Windows
shift-f10
triggers "right-click action" on the currently selected item in UI (without relying on position of the mouse). There's no equivalent on a Mac
In general, many program shortcuts that are ctrl+..
on Windows will be cmd+..
on a Mac. option
is an alternative name for alt
.
Note also that it's possible to remap some modifiers (fn, ctrl, alt, cmd, capslock, esc) via cmd-space
, type keyboard
, click Modifier Keys...
- for example switch cmd
and ctrl
to have more Windows-like behavior (and more ergonomic keybindings). Unfortunately, only fn
can be used as fn
and when it's remapped, the functionality is lost 🤔
Windows | Mac | |
---|---|---|
Focus toolbar (menu bar) | LeftAlt | ctrl-f2 or cmd-shift-/ |
Focus dock | ctrl-f3; then up to open the menu | |
Quit program | alt-f4 | cmd-q or cmd-q |
Run program | win-r | cmd-space |
Run terminal | win-r, type "cmd" | cmd-space, type "terminal" |
Minimize | alt-space ,n or alt-esc or 2x win-arrowDown |
cmd-m or cmd-h |
Switch between open programs | alt-tab | cmd-tab |
Switch between open programs and activate a previously minimized one | alt-tab | cmd-tab, release tab, hold alt, release cmd [1] 🤦 |
Switch between windows of one program | cmd-` | |
Text: Move to start of line | Home | cmd+arrowLeft |
Text: Move to end of line | End | cmd+arrowRight |
Text: Move backward one word | ctrl+arrowLeft | alt+arrowLeft |
Text: Move forward one word | ctrl+arrowRight | alt+arrowRight |
Text: Delete to the left | bkspace | del[2] |
Text: Delete to the right | del | fn-del[2] |
Next tab | ctrl+tab | ctrl+tab (not cmd!) or alt-cmd-arrowRight or cmd-shift-] |
Prev tab | ctrl+shift+tab | ctrl+shift+tab (not cmd!) or alt-cmd-arrowLeft or cmd-shift-[ |
Scroll down | pgdown or space | fn-arrowDown or alt-arrowDown or space |
Scroll up | pgup or shift-space | fn-arrowUp or alt-arrowUp or shift-space |
Scroll to the top | ctrl-home | fn-left |
Scroll to the bottom | ctrl-end | fn-right |
Toggle full screen | f11 | ctrl-cmd-f |
Open Chrome devtools | ctrl-shift-i or f12 | alt-cmd-i or fn-f12 |
Show emoji picker | win-. | ctrl-cmd-space |
Show the taskbar (dock) | alt-cmd-d | |
Open settings of the active app | cmd-, | |
Virtual desktops: Show | win+tab | |
Virtual desktops: Move left | ctrl-win+arrowLeft | |
Virtual desktops: Move right | ctrl-win+arrowRight | |
Notes: |
[1] https://superuser.com/questions/196141/keyboard-shortcut-to-unhide-or-unminimize-a-window-in-os-x
[2] Backspace is called Delete in Mac terminology
First you need to enable it: sudo pmset -a hibernatemode 25
Then instead of sleeping (which eats the battery), the machine will hibernated.
It seems it's not possible to have sleep and hibernation enabled at the same time (insane, correct me if I'm wrong)
fn + delete = delete forward
option + delete = delete preceding word
command + delete = delete preceding text in line