Как отключить / переопределить клавишу 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 лучше:) забыл об этой настройке (хотя это в контексте, поэтому я должен был знать...). Угадайте, что мой ответ является более общим "как отключить привязку клавиш".