Search code examples
xcodexcode4keyboard-shortcutskey-bindings

Multiple-line cursor movements in XCode 4


The same question has been asked for Xcode 3 But the solution there is said to not work with Xcode4. And no new solution is available there.

How to get a key-binding to move the curser up/down about 10 lines in Xcode 4 ?


Solution

  • Eureka! Inspired by the answer on line duplication, this is how you empower Xcode 4 with multiple-line movement:

    1. Go to the folder /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources
    2. Open IDETextKeyBindingSet.plist.
    3. Add a new dictionary Customized and two new command (say, Move Down 10 and Move Up 10) keys as the screenshot below: Editing the plist
    4. Restart Xcode and go to Preferences - Key Bindings, search for your command.
    5. Set a key combination for both commands: Key Bindings

    6. Free at last from the shackles of the Jump To shortcut. Enjoy it!


    Bonus: system-wide multiple-line movement

    Unleash the cursor outside Xcode following with these steps:

    1. Go to the folder ~/Library/KeyBindings
    2. Open DefaultKeyBinding.dict.
    3. Enter the following. Customize as appropriate.

      {

      "^~n" = ("moveUp:", "moveUp:", "moveUp:", "moveUp:", "moveUp:", "moveUp:", "moveUp:", "moveUp:", "moveUp:", "moveUp:");
      "^~p" = ("moveDown:", "moveDown:", "moveDown:", "moveDown:", "moveDown:", "moveDown:", "moveDown:", "moveDown:", "moveDown:", "moveDown:");

      }

    4. Logout & Login

    All of the above works on 10.8.2 with Xcode 4.5.1.