Skip to content

Instantly share code, notes, and snippets.

@jakub-g
Last active Sep 21, 2022
Embed
What would you like to do?
MacOS for Windows users: overcoming the annoyances

Introduction

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:

Missing things / wishlist

  • 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

Keyboard shortcuts

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

Hibernating a Mac

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)

@mrkstu
Copy link

mrkstu commented Feb 20, 2019

Lock current user without logging out: win-l - ctrl-cmd-q

@jakub-g
Copy link
Author

jakub-g commented Mar 5, 2019

fn + delete = delete forward
option + delete = delete preceding word
command + delete = delete preceding text in line

@mbrasch
Copy link

mbrasch commented Feb 11, 2022

Virtual Desktops: for Shortcuts see System preferences –> Keyboard -> Shortcuts –> Mission Control or you can use finger gestures: System preferences –> Trackpad
Symbol-Picker: single fn-tap opens it at text cursor
Screenshots: for Shortcuts see System preferences –> Keyboard -> Shortcuts -> Screenshots

OPTION/ALT: in many menus or buttons, you can get alternatives for some entries (–> see Apple-menu and toggle OPTION)

PS: I am on a German macOS, the identifiers are probably called something different on an English system. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment