Linux keyboard habits on a Mac

Updated · by , maker of Ribbon

On a Mac, ⌘ Command does what Ctrl does in Linux desktop apps (copy, paste, save, new tab), while ⌃ Control keeps its terminal meaning: ⌃C still interrupts, ⌃R still searches history. That split is the good news for Linux users. The awkward parts are the missing Super key for your window manager, and Home and End.

Command, Control and Option

LinuxMacWhat it's for
Ctrl in GUI apps⌘ CommandCopy, paste, save, find, new tab, close tab
Ctrl in a terminal⌃ ControlInterrupt, EOF, readline, tmux prefix
Alt⌥ OptionSpecial characters when typing; Meta in terminals if you turn it on
SuperNothing fixedFree for your window manager (see below)

This is why terminal copy and paste are easy on a Mac: ⌘C and ⌘V work in the terminal, and ⌃C still sends SIGINT. No CtrlShiftC needed.

Option as Meta in the terminal

By default ⌥ types special characters (⌥3 is # on a UK layout, for example), so AltB and AltF for word movement don't work. Every Mac terminal can send Option as Meta:

Emacs keys work everywhere

macOS text fields support the readline-style Emacs bindings out of the box, in nearly every app: ⌃A and ⌃E for start and end of line, ⌃K to kill to end of line, ⌃Y to yank it back, ⌃F/B/N/P to move. Many Linux users find this the nicest surprise of the switch.

Home, End and friends

Mac laptops have no Home or End keys, and on external keyboards they scroll the document instead of moving the cursor in many apps. The Mac equivalents:

LinuxMac
Home / End⌘← / ⌘→, or ⌃A / ⌃E
Ctrl← / →⌥← / ⌥→
CtrlBackspace⌥Delete
CtrlHome / End⌘↑ / ⌘↓

If you'd rather make Home and End behave like Linux, Karabiner-Elements has ready-made rules for it.

Your Super key and window manager

On Linux, Super usually belongs to the window manager: SuperEnter for a terminal, SuperH/L to move focus, Super plus a number for workspaces. On a Mac, ⌘ sits where Super sits, but it's taken by every app, so a window manager needs a different modifier.

Common choices:

If you came from niri, PaperWM or a sway setup with a scrolling layout, Ribbon gives you the same strip on macOS; niri keybindings on a Mac maps each bind. From i3, see i3 for Mac. You can try Ribbon's keys in the live demo, and pricing is $9.99 once.

Launchers

⌘Space opens Spotlight, the dmenu/rofi stand-in. Many Linux switchers prefer Raycast (free for personal use), which is closer to rofi with scripts and extensions. The Linux to Mac app replacements guide covers the rest of the toolkit.

FAQ

What is the Super key on a Mac?

There isn't one in the Linux sense. ⌘ sits where Super does, but apps use it for their shortcuts, so window managers on macOS use ⌃⌥, ⌥ or a Hyper key instead.

Does Ctrl-C work in the Mac terminal?

Yes. ⌃C interrupts as on Linux. Copy is ⌘C, so the two never clash.

Should I swap Command and Control?

Most Linux users don't need to, because Control keeps its terminal role. A system-wide swap moves the terminal's Control keys to the Command key too; Karabiner-Elements can swap them only in the apps you choose.

Keep reading