# Linux keyboard habits on a Mac

Source: https://ribbonformac.com/linux-keyboard-shortcuts-on-mac  
Updated: 2026-10-29

On a Mac, <kbd>⌘</kbd> Command does what Ctrl does in Linux desktop apps (copy, paste, save, new tab), while <kbd>⌃</kbd> Control keeps its terminal meaning: <kbd>⌃</kbd><kbd>C</kbd> still interrupts, <kbd>⌃</kbd><kbd>R</kbd> 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

| Linux | Mac | What it's for |
| --- | --- | --- |
| <kbd>Ctrl</kbd> in GUI apps | <kbd>⌘</kbd> Command | Copy, paste, save, find, new tab, close tab |
| <kbd>Ctrl</kbd> in a terminal | <kbd>⌃</kbd> Control | Interrupt, EOF, readline, tmux prefix |
| <kbd>Alt</kbd> | <kbd>⌥</kbd> Option | Special characters when typing; Meta in terminals if you turn it on |
| <kbd>Super</kbd> | Nothing fixed | Free for your window manager (see below) |

This is why terminal copy and paste are easy on a Mac: <kbd>⌘</kbd><kbd>C</kbd> and <kbd>⌘</kbd><kbd>V</kbd> work in the terminal, and <kbd>⌃</kbd><kbd>C</kbd> still sends SIGINT. No <kbd>Ctrl</kbd><kbd>Shift</kbd><kbd>C</kbd> needed.

## Option as Meta in the terminal

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

- **Terminal.app:** Settings → Profiles → Keyboard → **Use Option as Meta key**.
- **iTerm2:** Settings → Profiles → Keys → set Left Option key to **Esc+**.
- **Ghostty and kitty:** a config option (`macos-option-as-alt` in Ghostty, `macos_option_as_alt` in kitty). WezTerm has its own setting for the left and right Option keys.

## Emacs keys work everywhere

macOS text fields support the readline-style Emacs bindings out of the box, in nearly every app: <kbd>⌃</kbd><kbd>A</kbd> and <kbd>⌃</kbd><kbd>E</kbd> for start and end of line, <kbd>⌃</kbd><kbd>K</kbd> to kill to end of line, <kbd>⌃</kbd><kbd>Y</kbd> to yank it back, <kbd>⌃</kbd><kbd>F</kbd>/<kbd>B</kbd>/<kbd>N</kbd>/<kbd>P</kbd> 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:

| Linux | Mac |
| --- | --- |
| <kbd>Home</kbd> / <kbd>End</kbd> | <kbd>⌘</kbd><kbd>←</kbd> / <kbd>⌘</kbd><kbd>→</kbd>, or <kbd>⌃</kbd><kbd>A</kbd> / <kbd>⌃</kbd><kbd>E</kbd> |
| <kbd>Ctrl</kbd><kbd>←</kbd> / <kbd>→</kbd> | <kbd>⌥</kbd><kbd>←</kbd> / <kbd>⌥</kbd><kbd>→</kbd> |
| <kbd>Ctrl</kbd><kbd>Backspace</kbd> | <kbd>⌥</kbd><kbd>Delete</kbd> |
| <kbd>Ctrl</kbd><kbd>Home</kbd> / <kbd>End</kbd> | <kbd>⌘</kbd><kbd>↑</kbd> / <kbd>⌘</kbd><kbd>↓</kbd> |

If you'd rather make Home and End behave like Linux, [Karabiner-Elements](https://karabiner-elements.pqrs.org/) has ready-made rules for it.

## Your Super key and window manager

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

Common choices:

- **<kbd>⌃</kbd><kbd>⌥</kbd> together.** Rarely used by apps. [Ribbon](https://ribbonformac.com/) uses it for every shortcut: <kbd>⌃</kbd><kbd>⌥</kbd><kbd>H</kbd>/<kbd>J</kbd>/<kbd>K</kbd>/<kbd>L</kbd> to focus, <kbd>⌃</kbd><kbd>⌥</kbd><kbd>⇧</kbd> plus the same keys to move, <kbd>⌃</kbd><kbd>⌥</kbd><kbd>1</kbd>–<kbd>9</kbd> to jump.
- **<kbd>⌥</kbd> alone.** AeroSpace's defaults use it. It clashes with typing special characters on many non-US layouts.
- **A Hyper key.** Caps Lock remapped to all four modifiers. See [how to set up a Hyper key](https://ribbonformac.com/hyper-key-mac).

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](https://ribbonformac.com/niri-keybindings-mac) maps each bind. From i3, see [i3 for Mac](https://ribbonformac.com/i3-for-mac). You can [try Ribbon's keys in the live demo](https://ribbonformac.com/#demo), and [pricing](https://ribbonformac.com/#pricing) is $9.99 once.

## Launchers

<kbd>⌘</kbd><kbd>Space</kbd> opens Spotlight, the dmenu/rofi stand-in. Many Linux switchers prefer [Raycast](https://www.raycast.com/) (free for personal use), which is closer to rofi with scripts and extensions. The [Linux to Mac app replacements guide](https://ribbonformac.com/linux-to-mac-app-replacements) covers the rest of the toolkit.

## FAQ

### What is the Super key on a Mac?

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

### Does Ctrl-C work in the Mac terminal?

Yes. <kbd>⌃</kbd><kbd>C</kbd> interrupts as on Linux. Copy is <kbd>⌘</kbd><kbd>C</kbd>, 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
- [Linux to Mac replacements](https://ribbonformac.com/linux-to-mac-app-replacements) — Window manager, launcher, bar, hotkeys, terminal and more: the Mac equivalents.
- [Vim keys for windows](https://ribbonformac.com/vim-keys-window-management-mac) — hjkl for focus and moving windows, the right modifier, and Vim keys beyond the editor.
- [Hyper key on Mac](https://ribbonformac.com/hyper-key-mac) — Caps Lock as Hyper with Raycast or Karabiner, the built-in option, and what to bind.
- [i3 for Mac](https://ribbonformac.com/i3-for-mac) — No i3 or sway on macOS. Match the i3 habit you miss to the right Mac tiler.
- [Niri keybindings on Mac](https://ribbonformac.com/niri-keybindings-mac) — Each default niri bind next to its Ribbon shortcut, and the ones with no Mac twin.
