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.