The keys a MacBook leaves out: Home, End, Page Up, Forward Delete

Hold fn (the Globe key) and the arrow keys become the missing keys: fn-Left Arrow is Home, fn-Right Arrow is End, fn-Up Arrow is Page Up, fn-Down Arrow is Page Down, and fn-Delete deletes forward, the character to the right of the insertion point. The catch, especially if you come from Windows, is that Home and End on a Mac usually scroll to the top or bottom of the document without moving the insertion point. To jump to the start or end of a line, use Command-Left Arrow and Command-Right Arrow instead.

The fn combinations

Missing key On a MacBook What it does in most Mac apps
Home fn ← Scrolls to the top; the insertion point stays put
End fn → Scrolls to the bottom; the insertion point stays put
Page Up fn ↑ Scrolls up one screen
Page Down fn ↓ Scrolls down one screen
Forward Delete (⌦) fn ⌫ Deletes the character to the right

The fn key sits in the bottom-left corner, marked fn, with a globe, or both. What the fn and Globe key does on a Mac covers its other jobs.

These combinations are exactly the keys a full-size keyboard has. Plug in a Magic Keyboard with Numeric Keypad and its Home, End, Page Up, Page Down and ⌦ keys behave the same way as fn with the arrows.

Why Home does not move your cursor

On Windows, Home moves the cursor to the start of the line. On a Mac, in apps that use Apple’s own text system (TextEdit, Mail and most text fields), Home only scrolls the view to the top of the document. Your insertion point stays where it was, and the moment you type, the view jumps back to it.

Page Up and Page Down work the same way: they scroll, and the insertion point does not follow. If you want it to move a page as well, add Option: fn-Option-Up Arrow and fn-Option-Down Arrow.

Shift with Home or End selects from the insertion point to the start or end of the whole document, not the line, which surprises people the first time.

What to press instead

These do what Windows users expect from Home, End and their friends, and they work in almost every Mac app:

On Windows On a Mac What it does
Home ⌘← Start of the line
End ⌘→ End of the line
Ctrl+Home ⌘↑ Start of the document
Ctrl+End ⌘↓ End of the document
Ctrl+← / Ctrl+→ ⌥← / ⌥→ Back or forward one word
Shift+Home / Shift+End ⇧⌘← / ⇧⌘→ Select to the start or end of the line
Delete fn ⌫ Delete the character to the right
Ctrl+Backspace ⌥⌫ Delete the word to the left
Ctrl+Delete fn ⌥⌫ Delete the word to the right

Mac text fields also understand a few Control shortcuts that came from Emacs and never left:

  • Control-A and Control-E move to the start and end of the line (strictly, the paragraph).
  • Control-D deletes forward, like fn-Delete, without leaving the home row.
  • Control-K deletes from the insertion point to the end of the line (again, strictly the paragraph).

Command-Delete deletes everything from the insertion point back to the start of the line. Text editing shortcuts that work in almost every Mac app has the full set.

Apps that do their own thing

Some apps ignore the Mac’s way and pick their own:

  • VS Code moves to the start or end of the line on Home and End, like Windows, and Command-Left Arrow and Command-Right Arrow do the same.
  • Terminal uses Home and End to scroll its window to the top and bottom of the history, and Page Up and Page Down to scroll a page. To move along the command you are typing, use Control-A and Control-E.
  • Web browsers, outside a text field, jump to the top and bottom of the page with Home and End, and Space and Shift-Space scroll a page down and up.
  • Finder has no use for forward delete on files. To move a file to the Trash, press Command-Delete.

So if fn-Left Arrow does something different in one app, it is usually the app, not your keyboard.

Make Home and End move along the line

If your fingers insist on Home and End, you can teach Apple’s text system the Windows meaning. macOS reads extra key bindings from a file called DefaultKeyBinding.dict in your Library folder. These three Terminal commands make the folder, create the file if it does not exist (an existing one is left as it is), and open it in TextEdit:

mkdir -p ~/Library/KeyBindings
touch ~/Library/KeyBindings/DefaultKeyBinding.dict
open -e ~/Library/KeyBindings/DefaultKeyBinding.dict

If the file is empty, paste this in and save. If it already has bindings, add the four lines inside its braces:

{
    "\UF729"  = "moveToBeginningOfLine:";
    "\UF72B"  = "moveToEndOfLine:";
    "$\UF729" = "moveToBeginningOfLineAndModifySelection:";
    "$\UF72B" = "moveToEndOfLineAndModifySelection:";
}

\UF729 is Home and \UF72B is End; the $ lines handle Shift for selecting. Quit and reopen an app for it to take effect. It changes apps built on Apple’s text system, such as TextEdit and Mail. Apps that handle keys themselves, such as VS Code and Terminal, ignore it and keep their own behavior. To remove it, delete the file.

Other keys you will not find

A few more Windows keys have no key on a MacBook:

  • Print Screen. Shift-Command-3 captures the screen, Shift-Command-4 an area, and Shift-Command-5 opens the screenshot and recording toolbar.
  • The menu key for right-click menus. Control-click, or click with two fingers on the trackpad.
  • Insert. There is no key, and most Mac apps have no overtype mode to switch to.

Moving from Windows to Mac covers the rest of the switch.

Showing fn combinations in a recording

“Press Home” is a confusing instruction to someone on a MacBook, and “press fn and the Left Arrow” is easy to miss when you say it once. If you teach these keys on video, show both keys going down.

Typebar puts a keyboard on screen that lights every key you press, the fn key included. Choose the MacBook shape so the board matches your keyboard, and viewers see fn and the arrow light together. The pill shows the keys as keycaps, so viewers can read the combination as well as see where the keys are.

Typebar is $9 once for up to 5 Macs, with a free 24-hour trial and no card.

Questions

How do I forward delete on a MacBook?

Press fn-Delete. In most text fields, Control-D does the same.

Why does Home not move my cursor on a Mac?

In most Mac apps, Home scrolls the view to the top of the document and leaves the insertion point where it is. Use Command-Left Arrow to go to the start of the line.

How do I select to the end of a line?

Press Shift-Command-Right Arrow. Shift-Command-Down Arrow selects to the end of the document.