Как отключить / переопределить клавишу enter для автозаполнения?

в Sublime Text 3 я хочу отключить enter ключ для выбора элемента из выпадающего списка автозаполнения и разрешить только tab клавишу для этого.

Я нашел этот раздел во встроенном :

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

кажется, что если я удалю это от конфигурации enter не будет выбирать элемент в раскрывающемся списке. К сожалению, изменять этот файл не рекомендуется, а только переопределять его в my User файлы. Я не думаю, что я могу редактировать его без изменения .app содержание.

Я попытался переопределить его, удалив разные разделы, а также удалить все, кроме "keys": ["enter"], но ничего не работает.

как бы я мог достичь этого без изменения встроенного Default (OSX).sublime-keymap и только ?

2 ответов


Я никогда не использовал Sublime Text 3, но я не думаю, что следующее изменилось с Sublime Text 2.

то, что вы хотите достичь, на самом деле является стандартной функцией в Sublime Text. Тебе просто нужно его включить.

эта строка из вашего кода, который вы процитировали ...

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

... означает "выполнить команду только в том случае, если для параметра auto_complete_commit_on_tab установлено значение false". Поэтому просто включите эту настройку.

In По Умолчанию / Настройки.sublime-настройки:

// 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,

поставить "auto_complete_commit_on_tab": true пользователь/предпочтения.возвышенное-настройки. Оба упомянутых файла можно получить через меню настроек.


вы можете назначить его несуществующей команде. Попробуйте добавить в User/Default (OSX).sublime-keymap

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

предоставляется, если вы устанавливаете / пишете плагин, который имеет команду noop вам нужно будет изменить эту команду.

редактировать

решение Lydell лучше:) забыл об этой настройке (хотя это в контексте, поэтому я должен был знать...). Угадайте, что мой ответ является более общим "как отключить привязку клавиш".