How to disable/override the enter key for autocomplete?

I have never used Sublime Text 3, but I don't think the following has changed since Sublime Text 2.

What you want to achieve is actually a standard feature in Sublime Text. You just have to turn it on.

This line from your the code you quoted …

{ "key": "setting.auto_complete_commit_on_tab", "operand": false }

… means "only execute the command if the setting called 'auto_complete_commit_on_tab' is set to false". So simply turn on that setting.

In Default/Preferences.sublime-settings:

// By default, auto complete will commit the current completion on enter.
// This setting can be used to make it complete on tab instead.
// Completing on tab is generally a superior option, as it removes
// ambiguity between committing the completion and inserting a newline.
"auto_complete_commit_on_tab": false,

Put "auto_complete_commit_on_tab": true in User/Preferences.sublime-settings. Both mentioned files can be accessed via the Preferences menu.


You can assign it to a non existent command. Try adding the following to User/Default (OSX).sublime-keymap

{ "keys": ["enter"], "command": "noop", "context":
    [
        { "key": "auto_complete_visible" },
        { "key": "setting.auto_complete_commit_on_tab", "operand": false }
    ]
}

Granted if you install/write a plugin that has a command noop you will need to change this command.

Edit

Lydell's solution is better :) Forgot about that setting (though it is in the context so I should have known...). Guess my answer is a more generic "how to disable a keybinding".