Setting tab binding for Shift Right did not work for me even when reassigning the "Insert tab" to something else (it seems to be hard-coded / error). However, I got the binding Alt + Tab and Shift + Alt + Tab (with the layout of the Finnish keyboard, I did not test the extended ones or myself). I still had to reassign the "Insert tab without additional action" from Alt + Tab to Alt + Ctrl + Tab, you can avoid this by using Ctrl instead of Alt to switch.
Here is the xml file for it.
cd ~/Library/Developer/Xcode/UserData/KeyBindings
vi Default.idekeybindings (possibly an empty plist if it is not properly distributed)
Paste:
<?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>Menu Key Bindings</key> <dict> <key>Key Bindings</key> <array> <dict> <key>Action</key> <string>shiftRight:</string> <key>Alternate</key> <string>NO</string> <key>CommandID</key> <string>Xcode.IDESourceEditor.CmdDefinition.ShiftRight</string> <key>Group</key> <string>Editor Menu for Source Code</string> <key>GroupID</key> <string>Xcode.IDESourceEditor.MenuDefinition.Editor</string> <key>GroupedAlternate</key> <string>NO</string> <key>Keyboard Shortcut</key> <string>~ </string> <key>Navigation</key> <string>NO</string> <key>Parent Title</key> <string>Structure</string> <key>Title</key> <string>Shift Right</string> </dict> <dict> <key>Action</key> <string>shiftLeft:</string> <key>Alternate</key> <string>NO</string> <key>CommandID</key> <string>Xcode.IDESourceEditor.CmdDefinition.ShiftLeft</string> <key>Group</key> <string>Editor Menu for Source Code</string> <key>GroupID</key> <string>Xcode.IDESourceEditor.MenuDefinition.Editor</string> <key>GroupedAlternate</key> <string>NO</string> <key>Keyboard Shortcut</key> <string>~$</string> <key>Navigation</key> <string>NO</string> <key>Parent Title</key> <string>Structure</string> <key>Title</key> <string>Shift Left</string> </dict> </array> <key>Version</key> <integer>3</integer> </dict> <key>Text Key Bindings</key> <dict> <key>Key Bindings</key> <dict> <key>^~ </key> <string>insertTabIgnoringFieldEditor:</string> </dict> <key>Version</key> <integer>3</integer> </dict> </dict> </plist>
source share