Up until Xcode 8.0, it was possible to customize IDETextKeyBindingSet.plist file. However, now it seems like modifying this file causes Xcode to stop behaving normally (e.g. arr
The above answer seems to be broken in Xcode 9.
Here is another solution that I have verified does work in Xcode 9 GM:
Custom Commands Duplicate Current Line moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, moveToBeginningOfLine:, yank: