Remap command-arrow key to the same as ctrl-arrow keys (moving by word)

keyboard

I would like to be able to use Command arrow keys to navigate by word like you can with Ctrl. I've disabled the Mission Control mappings already. What's the easiest way to remap?

Best Answer

You can change the default keybindings for OS X text editing with the DefaultKeyBinding.dict file. Make a new text file at ~/Library/KeyBindings/DefaultKeyBinding.dict, with these contents:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>^&#xF702;</key>
    <string>moveWordLeft:</string>
    <key>^&#xF703;</key>
    <string>moveWordRight:</string>
</dict>
</plist>

Restart or log out and in, and controlleft and controlright should do what you're looking for. This will work in most OS X apps, but there are some (typically third party text editors) that use their own bindings, which will need to be switched on a case-by-case basis.