diff --git a/MSVC.idekeybindings b/MSVC.idekeybindings
new file mode 100644
index 0000000..c7ab929
--- /dev/null
+++ b/MSVC.idekeybindings
@@ -0,0 +1,461 @@
+
+
+
+
+ Menu Key Bindings
+
+ Key Bindings
+
+
+ Action
+ runActiveRunContext:
+ Alternate
+ NO
+ CommandID
+ Xcode.IDEKit.CmdDefinition.Run
+ Group
+ Product Menu
+ GroupID
+ Xcode.IDEKit.MenuDefinition.Main
+ GroupedAlternate
+ NO
+ Keyboard Shortcut
+
+ Navigation
+ NO
+ Title
+ Run
+
+
+ Action
+ editAndRunActiveRunContext:
+ Alternate
+ YES
+ CommandID
+ Xcode.IDEKit.CmdDefinition.EditAndRun
+ Group
+ Product Menu
+ GroupID
+ Xcode.IDEKit.MenuDefinition.Main
+ GroupedAlternate
+ NO
+ Keyboard Shortcut
+ ~
+ Navigation
+ NO
+ Title
+ Run…
+
+
+ Action
+ ReleaseGPUFrame:
+ Alternate
+ NO
+ CommandGroupID
+ Xcode.IDEKit.CmdDefinition.PauseContinue
+ CommandID
+ Xcode.GPUToolsKit.CmdDefinition.ReleaseGPUFrame
+ Group
+ Debug Menu for GPU Frame Debugger
+ GroupID
+ Xcode.GPUToolsKit.MenuDefinition.Debug
+ GroupedAlternate
+ NO
+ Keyboard Shortcut
+
+ Navigation
+ NO
+ Title
+ Release GPU Frame
+
+
+ Action
+ stepToPreviousDisplayableCall:
+ Alternate
+ NO
+ CommandID
+ Xcode.GPUToolsKit.CmdDefinition.StepPreviousDisplayableCall
+ Group
+ Debug Menu for GPU Frame Debugger
+ GroupID
+ Xcode.GPUToolsKit.MenuDefinition.Debug
+ GroupedAlternate
+ NO
+ Navigation
+ NO
+ Title
+ Step to Previous Draw/Dispatch Call
+
+
+ Action
+ stepToNextDisplayableCall:
+ Alternate
+ NO
+ CommandGroupID
+ Xcode.IDEKit.CmdDefinition.StepOver
+ CommandID
+ Xcode.GPUToolsKit.CmdDefinition.StepNextDisplayableCall
+ Group
+ Debug Menu for GPU Frame Debugger
+ GroupID
+ Xcode.GPUToolsKit.MenuDefinition.Debug
+ GroupedAlternate
+ NO
+ Keyboard Shortcut
+
+ Navigation
+ NO
+ Title
+ Step to Next Draw/Dispatch Call
+
+
+ Action
+ stepToPreviousCall:
+ Alternate
+ NO
+ CommandID
+ Xcode.GPUToolsKit.CmdDefinition.StepPreviousCall
+ Group
+ Debug Menu for GPU Frame Debugger
+ GroupID
+ Xcode.GPUToolsKit.MenuDefinition.Debug
+ GroupedAlternate
+ NO
+ Navigation
+ NO
+ Title
+ Step to Previous GPU Call
+
+
+ Action
+ stepToPreviousMarker:
+ Alternate
+ NO
+ CommandID
+ Xcode.GPUToolsKit.CmdDefinition.StepPreviousMarker
+ Group
+ Debug Menu for GPU Frame Debugger
+ GroupID
+ Xcode.GPUToolsKit.MenuDefinition.Debug
+ GroupedAlternate
+ NO
+ Navigation
+ NO
+ Title
+ Step to Previous GPU Marker
+
+
+ Action
+ stepToNextCall:
+ Alternate
+ NO
+ CommandGroupID
+ Xcode.IDEKit.CmdDefinition.StepOverInstruction
+ CommandID
+ Xcode.GPUToolsKit.CmdDefinition.StepNextCall
+ Group
+ Debug Menu for GPU Frame Debugger
+ GroupID
+ Xcode.GPUToolsKit.MenuDefinition.Debug
+ GroupedAlternate
+ NO
+ Navigation
+ NO
+ Title
+ Step to Next GPU Call
+
+
+ Action
+ stepToNextMarker:
+ Alternate
+ NO
+ CommandGroupID
+ Xcode.IDEKit.CmdDefinition.StepOverThread
+ CommandID
+ Xcode.GPUToolsKit.CmdDefinition.StepNextMarker
+ Group
+ Debug Menu for GPU Frame Debugger
+ GroupID
+ Xcode.GPUToolsKit.MenuDefinition.Debug
+ GroupedAlternate
+ NO
+ Navigation
+ NO
+ Title
+ Step to Next GPU Marker
+
+
+ Action
+ pauseOrContinue:
+ Alternate
+ NO
+ CommandGroupID
+ Xcode.IDEKit.CmdDefinition.PauseContinue
+ CommandID
+ Xcode.IDEKit.CmdDefinition.PauseContinue
+ Group
+ Debug Menu
+ GroupID
+ Xcode.IDEKit.MenuDefinition.Main
+ GroupedAlternate
+ NO
+ Keyboard Shortcut
+
+ Navigation
+ NO
+ Title
+ Pause / Continue
+
+
+ Action
+ stepOver:
+ Alternate
+ NO
+ CommandGroupID
+ Xcode.IDEKit.CmdDefinition.StepOver
+ CommandID
+ Xcode.IDEKit.CmdDefinition.StepOver
+ Group
+ Debug Menu
+ GroupID
+ Xcode.IDEKit.MenuDefinition.Main
+ GroupedAlternate
+ NO
+ Keyboard Shortcut
+
+ Navigation
+ NO
+ Title
+ Step Over
+
+
+ Action
+ stepInto:
+ Alternate
+ NO
+ CommandID
+ Xcode.IDEKit.CmdDefinition.StepInto
+ Group
+ Debug Menu
+ GroupID
+ Xcode.IDEKit.MenuDefinition.Main
+ GroupedAlternate
+ NO
+ Keyboard Shortcut
+
+ Navigation
+ NO
+ Title
+ Step Into
+
+
+ Action
+ stepOut:
+ Alternate
+ NO
+ CommandID
+ Xcode.IDEKit.CmdDefinition.StepOut
+ Group
+ Debug Menu
+ GroupID
+ Xcode.IDEKit.MenuDefinition.Main
+ GroupedAlternate
+ NO
+ Keyboard Shortcut
+ $
+ Navigation
+ NO
+ Title
+ Step Out
+
+
+ Action
+ stepOverInstruction:
+ Alternate
+ NO
+ CommandGroupID
+ Xcode.IDEKit.CmdDefinition.StepOverInstruction
+ CommandID
+ Xcode.IDEKit.CmdDefinition.StepOverInstruction
+ Group
+ Debug Menu
+ GroupID
+ Xcode.IDEKit.MenuDefinition.Main
+ GroupedAlternate
+ NO
+ Navigation
+ NO
+ Title
+ Step Over Instruction
+
+
+ Action
+ stepOverThread:
+ Alternate
+ NO
+ CommandGroupID
+ Xcode.IDEKit.CmdDefinition.StepOverThread
+ CommandID
+ Xcode.IDEKit.CmdDefinition.StepOverThread
+ Group
+ Debug Menu
+ GroupID
+ Xcode.IDEKit.MenuDefinition.Main
+ GroupedAlternate
+ NO
+ Navigation
+ NO
+ Title
+ Step Over Thread
+
+
+ Action
+ stepIntoInstruction:
+ Alternate
+ NO
+ CommandID
+ Xcode.IDEKit.CmdDefinition.StepIntoInstruction
+ Group
+ Debug Menu
+ GroupID
+ Xcode.IDEKit.MenuDefinition.Main
+ GroupedAlternate
+ NO
+ Navigation
+ NO
+ Title
+ Step Into Instruction
+
+
+ Action
+ stepIntoThread:
+ Alternate
+ NO
+ CommandID
+ Xcode.IDEKit.CmdDefinition.StepIntoThread
+ Group
+ Debug Menu
+ GroupID
+ Xcode.IDEKit.MenuDefinition.Main
+ GroupedAlternate
+ NO
+ Navigation
+ NO
+ Title
+ Step Into Thread
+
+
+ Version
+ 3
+
+ Text Key Bindings
+
+ Key Bindings
+
+
+
+ moveSubWordForward:
+ moveToBeginningOfParagraph:
+ moveSubWordBackward:
+ moveToRightEndOfLineAndModifySelection:
+ moveToLeftEndOfLineAndModifySelection:
+ moveToRightEndOfLine:
+ moveToLeftEndOfLine:
+ yank:
+ scrollToBeginningOfDocument:
+ scrollToEndOfDocument:
+
+
+ insertNewline:
+
+ deleteBackward:
+
+ insertNewline:
+ $@
+ moveToBeginningOfDocumentAndModifySelection:
+ $@
+ moveToEndOfDocumentAndModifySelection:
+ $@
+ moveToBeginningOfLineAndModifySelection:
+ $@
+ moveToEndOfLineAndModifySelection:
+ $@
+ moveToBeginningOfDocumentAndModifySelection:
+ $@
+ moveToEndOfDocumentAndModifySelection:
+ $
+ moveUpAndModifySelection:
+ $
+ moveDownAndModifySelection:
+ $
+ moveToBeginningOfLineAndModifySelection:
+ $
+ moveToEndOfLineAndModifySelection:
+ $
+ pageDownAndModifySelection:
+ @
+ moveToBeginningOfDocument:
+ @
+ moveToBeginningOfLine:
+ @
+ moveToEndOfLine:
+ @
+ moveToBeginningOfDocument:
+ @
+ moveToEndOfDocument:
+ ^
+ complete:
+ ^$H
+ replaceAll:
+ ^$
+ moveToBeginningOfDocumentAndModifySelection:
+ ^$
+ moveToEndOfDocumentAndModifySelection:
+ ^`
+ complete:
+ ^a
+ selectAll:
+ ^v
+ pageDown:
+ ^y
+ redo:
+ ^
+ scrollPageUp:
+ ^
+ scrollPageDown:
+ ^
+ moveWordLeft:
+ ^
+ moveWordRight:
+ ^
+ moveToBeginningOfDocument:
+ ^
+ moveToEndOfDocument:
+ ~
+ insertNewlineIgnoringFieldEditor:
+ ~
+ insertNewlineIgnoringFieldEditor:
+ ~.
+ nextCompletion:
+ ~
+ moveWordLeft:
+ ~
+ moveWordRight:
+
+ deleteBackward:
+
+ findNext:
+
+ moveToBeginningOfLine:
+
+ moveToEndOfLine:
+
+ pageUp:
+
+ pageDown:
+
+ Version
+ 3
+
+
+
diff --git a/MSVC.idekeybindings b/MSVC.idekeybindings
new file mode 100644
index 0000000..c7ab929
--- /dev/null
+++ b/MSVC.idekeybindings
@@ -0,0 +1,461 @@
+
+
+
+
+ Menu Key Bindings
+
+ Key Bindings
+
+
+ Action
+ runActiveRunContext:
+ Alternate
+ NO
+ CommandID
+ Xcode.IDEKit.CmdDefinition.Run
+ Group
+ Product Menu
+ GroupID
+ Xcode.IDEKit.MenuDefinition.Main
+ GroupedAlternate
+ NO
+ Keyboard Shortcut
+
+ Navigation
+ NO
+ Title
+ Run
+
+
+ Action
+ editAndRunActiveRunContext:
+ Alternate
+ YES
+ CommandID
+ Xcode.IDEKit.CmdDefinition.EditAndRun
+ Group
+ Product Menu
+ GroupID
+ Xcode.IDEKit.MenuDefinition.Main
+ GroupedAlternate
+ NO
+ Keyboard Shortcut
+ ~
+ Navigation
+ NO
+ Title
+ Run…
+
+
+ Action
+ ReleaseGPUFrame:
+ Alternate
+ NO
+ CommandGroupID
+ Xcode.IDEKit.CmdDefinition.PauseContinue
+ CommandID
+ Xcode.GPUToolsKit.CmdDefinition.ReleaseGPUFrame
+ Group
+ Debug Menu for GPU Frame Debugger
+ GroupID
+ Xcode.GPUToolsKit.MenuDefinition.Debug
+ GroupedAlternate
+ NO
+ Keyboard Shortcut
+
+ Navigation
+ NO
+ Title
+ Release GPU Frame
+
+
+ Action
+ stepToPreviousDisplayableCall:
+ Alternate
+ NO
+ CommandID
+ Xcode.GPUToolsKit.CmdDefinition.StepPreviousDisplayableCall
+ Group
+ Debug Menu for GPU Frame Debugger
+ GroupID
+ Xcode.GPUToolsKit.MenuDefinition.Debug
+ GroupedAlternate
+ NO
+ Navigation
+ NO
+ Title
+ Step to Previous Draw/Dispatch Call
+
+
+ Action
+ stepToNextDisplayableCall:
+ Alternate
+ NO
+ CommandGroupID
+ Xcode.IDEKit.CmdDefinition.StepOver
+ CommandID
+ Xcode.GPUToolsKit.CmdDefinition.StepNextDisplayableCall
+ Group
+ Debug Menu for GPU Frame Debugger
+ GroupID
+ Xcode.GPUToolsKit.MenuDefinition.Debug
+ GroupedAlternate
+ NO
+ Keyboard Shortcut
+
+ Navigation
+ NO
+ Title
+ Step to Next Draw/Dispatch Call
+
+
+ Action
+ stepToPreviousCall:
+ Alternate
+ NO
+ CommandID
+ Xcode.GPUToolsKit.CmdDefinition.StepPreviousCall
+ Group
+ Debug Menu for GPU Frame Debugger
+ GroupID
+ Xcode.GPUToolsKit.MenuDefinition.Debug
+ GroupedAlternate
+ NO
+ Navigation
+ NO
+ Title
+ Step to Previous GPU Call
+
+
+ Action
+ stepToPreviousMarker:
+ Alternate
+ NO
+ CommandID
+ Xcode.GPUToolsKit.CmdDefinition.StepPreviousMarker
+ Group
+ Debug Menu for GPU Frame Debugger
+ GroupID
+ Xcode.GPUToolsKit.MenuDefinition.Debug
+ GroupedAlternate
+ NO
+ Navigation
+ NO
+ Title
+ Step to Previous GPU Marker
+
+
+ Action
+ stepToNextCall:
+ Alternate
+ NO
+ CommandGroupID
+ Xcode.IDEKit.CmdDefinition.StepOverInstruction
+ CommandID
+ Xcode.GPUToolsKit.CmdDefinition.StepNextCall
+ Group
+ Debug Menu for GPU Frame Debugger
+ GroupID
+ Xcode.GPUToolsKit.MenuDefinition.Debug
+ GroupedAlternate
+ NO
+ Navigation
+ NO
+ Title
+ Step to Next GPU Call
+
+
+ Action
+ stepToNextMarker:
+ Alternate
+ NO
+ CommandGroupID
+ Xcode.IDEKit.CmdDefinition.StepOverThread
+ CommandID
+ Xcode.GPUToolsKit.CmdDefinition.StepNextMarker
+ Group
+ Debug Menu for GPU Frame Debugger
+ GroupID
+ Xcode.GPUToolsKit.MenuDefinition.Debug
+ GroupedAlternate
+ NO
+ Navigation
+ NO
+ Title
+ Step to Next GPU Marker
+
+
+ Action
+ pauseOrContinue:
+ Alternate
+ NO
+ CommandGroupID
+ Xcode.IDEKit.CmdDefinition.PauseContinue
+ CommandID
+ Xcode.IDEKit.CmdDefinition.PauseContinue
+ Group
+ Debug Menu
+ GroupID
+ Xcode.IDEKit.MenuDefinition.Main
+ GroupedAlternate
+ NO
+ Keyboard Shortcut
+
+ Navigation
+ NO
+ Title
+ Pause / Continue
+
+
+ Action
+ stepOver:
+ Alternate
+ NO
+ CommandGroupID
+ Xcode.IDEKit.CmdDefinition.StepOver
+ CommandID
+ Xcode.IDEKit.CmdDefinition.StepOver
+ Group
+ Debug Menu
+ GroupID
+ Xcode.IDEKit.MenuDefinition.Main
+ GroupedAlternate
+ NO
+ Keyboard Shortcut
+
+ Navigation
+ NO
+ Title
+ Step Over
+
+
+ Action
+ stepInto:
+ Alternate
+ NO
+ CommandID
+ Xcode.IDEKit.CmdDefinition.StepInto
+ Group
+ Debug Menu
+ GroupID
+ Xcode.IDEKit.MenuDefinition.Main
+ GroupedAlternate
+ NO
+ Keyboard Shortcut
+
+ Navigation
+ NO
+ Title
+ Step Into
+
+
+ Action
+ stepOut:
+ Alternate
+ NO
+ CommandID
+ Xcode.IDEKit.CmdDefinition.StepOut
+ Group
+ Debug Menu
+ GroupID
+ Xcode.IDEKit.MenuDefinition.Main
+ GroupedAlternate
+ NO
+ Keyboard Shortcut
+ $
+ Navigation
+ NO
+ Title
+ Step Out
+
+
+ Action
+ stepOverInstruction:
+ Alternate
+ NO
+ CommandGroupID
+ Xcode.IDEKit.CmdDefinition.StepOverInstruction
+ CommandID
+ Xcode.IDEKit.CmdDefinition.StepOverInstruction
+ Group
+ Debug Menu
+ GroupID
+ Xcode.IDEKit.MenuDefinition.Main
+ GroupedAlternate
+ NO
+ Navigation
+ NO
+ Title
+ Step Over Instruction
+
+
+ Action
+ stepOverThread:
+ Alternate
+ NO
+ CommandGroupID
+ Xcode.IDEKit.CmdDefinition.StepOverThread
+ CommandID
+ Xcode.IDEKit.CmdDefinition.StepOverThread
+ Group
+ Debug Menu
+ GroupID
+ Xcode.IDEKit.MenuDefinition.Main
+ GroupedAlternate
+ NO
+ Navigation
+ NO
+ Title
+ Step Over Thread
+
+
+ Action
+ stepIntoInstruction:
+ Alternate
+ NO
+ CommandID
+ Xcode.IDEKit.CmdDefinition.StepIntoInstruction
+ Group
+ Debug Menu
+ GroupID
+ Xcode.IDEKit.MenuDefinition.Main
+ GroupedAlternate
+ NO
+ Navigation
+ NO
+ Title
+ Step Into Instruction
+
+
+ Action
+ stepIntoThread:
+ Alternate
+ NO
+ CommandID
+ Xcode.IDEKit.CmdDefinition.StepIntoThread
+ Group
+ Debug Menu
+ GroupID
+ Xcode.IDEKit.MenuDefinition.Main
+ GroupedAlternate
+ NO
+ Navigation
+ NO
+ Title
+ Step Into Thread
+
+
+ Version
+ 3
+
+ Text Key Bindings
+
+ Key Bindings
+
+
+
+ moveSubWordForward:
+ moveToBeginningOfParagraph:
+ moveSubWordBackward:
+ moveToRightEndOfLineAndModifySelection:
+ moveToLeftEndOfLineAndModifySelection:
+ moveToRightEndOfLine:
+ moveToLeftEndOfLine:
+ yank:
+ scrollToBeginningOfDocument:
+ scrollToEndOfDocument:
+
+
+ insertNewline:
+
+ deleteBackward:
+
+ insertNewline:
+ $@
+ moveToBeginningOfDocumentAndModifySelection:
+ $@
+ moveToEndOfDocumentAndModifySelection:
+ $@
+ moveToBeginningOfLineAndModifySelection:
+ $@
+ moveToEndOfLineAndModifySelection:
+ $@
+ moveToBeginningOfDocumentAndModifySelection:
+ $@
+ moveToEndOfDocumentAndModifySelection:
+ $
+ moveUpAndModifySelection:
+ $
+ moveDownAndModifySelection:
+ $
+ moveToBeginningOfLineAndModifySelection:
+ $
+ moveToEndOfLineAndModifySelection:
+ $
+ pageDownAndModifySelection:
+ @
+ moveToBeginningOfDocument:
+ @
+ moveToBeginningOfLine:
+ @
+ moveToEndOfLine:
+ @
+ moveToBeginningOfDocument:
+ @
+ moveToEndOfDocument:
+ ^
+ complete:
+ ^$H
+ replaceAll:
+ ^$
+ moveToBeginningOfDocumentAndModifySelection:
+ ^$
+ moveToEndOfDocumentAndModifySelection:
+ ^`
+ complete:
+ ^a
+ selectAll:
+ ^v
+ pageDown:
+ ^y
+ redo:
+ ^
+ scrollPageUp:
+ ^
+ scrollPageDown:
+ ^
+ moveWordLeft:
+ ^
+ moveWordRight:
+ ^
+ moveToBeginningOfDocument:
+ ^
+ moveToEndOfDocument:
+ ~
+ insertNewlineIgnoringFieldEditor:
+ ~
+ insertNewlineIgnoringFieldEditor:
+ ~.
+ nextCompletion:
+ ~
+ moveWordLeft:
+ ~
+ moveWordRight:
+
+ deleteBackward:
+
+ findNext:
+
+ moveToBeginningOfLine:
+
+ moveToEndOfLine:
+
+ pageUp:
+
+ pageDown:
+
+ Version
+ 3
+
+
+
diff --git a/setup-xcode-key-bindings.sh b/setup-xcode-key-bindings.sh
new file mode 100755
index 0000000..a9c34ca
--- /dev/null
+++ b/setup-xcode-key-bindings.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+#
+# Based on keybindings from here but essentially re-defined to exactly what I wanted
+#
+# curl -s http://www.codedojo.com/files/MSVC_xcode_config.zip -o MSVC_xcode_config.zip
+# unzip MSVC_xcode_config.zip
+# rm MSVC_xcode_config.zip
+# mkdir -p ~/Library/Developer/Xcode/UserData/KeyBindings
+# mv MSVC.pbxkeys ~/Library/Developer/Xcode/UserData/KeyBindings/MSVC.idekeybindings
+#
+
+mkdir -p ~/Library/Developer/Xcode/UserData/KeyBindings
+cp MSVC.idekeybindings ~/Library/Developer/Xcode/UserData/KeyBindings/MSVC.idekeybindings
+
+
+