I have seen many articles telling what the Mac shortcuts are, but I would like to know if there is a way to change a few of them. Namely, when I want to do text selection and cursor positioning.

In Windows, I use control-end and control-home and control-arrow keys a LOT. In Mac, I know that I need to use the alt key instead.

Copy and paste, instead of being based on the control key, are based on the apple key (windows key for me -- using a Microsoft Natural keyboard).

Is there any place I can go in Mac and alter the keyboard shortcuts for those few commands that I want to do?

  • Like @jtbandes wrote I'd also recommend getting used to the Mac way. That includes using the Mac name: Option, not Alt. ;-) (Though, while you're still sing a Windows keyboard, you may want to remap to get the Mac order: Ctrl-Option-Command.) – Arjan Jul 28 '09 at 19:51

While I understand that you want to change these shortcuts because you're used to the Windows ones, I'd encourage you to learn to use the Mac shortcuts, because if you ever run across a Mac system, chances are it will be set up that way — that's the way they're "meant" to be for Macs. Home and End have a different meaning on Macs: they're for navigation, not for cursor movement. You can usually use Option or Command and the arrow keys to do what you want.

Nonetheless, if you insist on changing them, there are a few things to do:

  • Look at the file StandardKeyBinding.dict in /System/Library/Frameworks/AppKit.framework/Resources/. It contains all of the default keyboard shortcuts related to text editing (@ is command, ~ is option, $ is shift, and ^ is control). Pick out the ones you want to change, and stick their modified versions (more information on the key specifiers is here; keep in mind you'll want to change the "...AndModifySelection:" ones too) in a similar file in ~/Library/KeyBindings/DefaultKeyBinding.dict. You can also use a plain-text format, which instead of having

    ... <dict> <key>k</key><string>value</string> ... </dict> ...

    uses the format

    { "key" = "value"; ... }
  • To change the modifier keys themselves, go into the Keyboard & Mouse preferences, and click Modifier Keys under the Keyboard tab:

    modifier keys

  • To change "regular" keyboard shortcuts which aren't built into the Cocoa text system, you can change them in the Keyboard Shortcuts tab. If they're not in the list, you can add them by pressing the "+" button.

    custom shortcuts

  • 1
    +1 For screenshots and recommendation to learn MacOSX key shortcuts – BinaryMisfit Jul 28 '09 at 19:08
  • Thanks for that. I use both Mac and Windows daily, and I've been programming on the Mac side for about 3 months now, but I canNOT get used to them! I'll stick with it for a while longer, but if I crack, I'll use your suggestions. Thanks. – Matt Dawdy Jul 28 '09 at 20:10
  • For programming, the main navigation keys you'll need are ⌥+arrows for word-by-word navigation, and ⌘+arrows for beginning/end of line and document. If you're using Xcode, also take note that it supports navigation between parts of words, for example segments CamelCase words, with ⌃+arrows. Also, feel free to mark this as the answer if it answered your question ;) – jtbandes Jul 28 '09 at 20:21
  • The fundamental problem with this answer is that some users like to switch between Windows, Linux (primarily Ubuntu), and Mac OS'es. In Windows and Linux 98% of the shortcut key combinations are the exact same but when switching to Mac everything changes. It hurts productivity and causes ergonomic issues. – PW Kad Aug 25 '14 at 2:29


To view or change system-level Keyboard shortcuts:

  1. Open the Keyboard & Mouse Preference Pane
  2. Click on the Keyboard Shortcuts tab
  3. To change a shortcut, double click on the existing shortcut, and press the keys that make up your new shortcut.
  4. If you make a mistake, click '"Restore Defaults to return the keyboard shortcuts to the factory defaults.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.