Sublime Text 3 Удаление кода при нажатии клавиши Tab
Когда я выделяю блок кода в Sublime Text 3 и нажимаю клавишу Tab, это не означает, что весь блок, как он использовался. Вместо этого он удаляет выделенный код.
Кто-нибудь знает, как это исправить?
Ответы
Ответ 1
Это простая проблема с alt-tab
Я обнаружил, что это происходит, когда я пропустил диалог "купить это программное обеспечение" и не отклонил его.
Alt-tab (или Cmd-tab на Mac), чтобы проверить, есть ли диалоговое окно, ожидающее ответа, и отпустите его. Это устранит проблему.
Ответ 2
Для всех, кто приходит сюда из Google, сначала прочтите это:
SublimeText 2 (работает и для 3) вдруг начал делать это со мной сегодня, не меняя никаких настроек. Все, что мне нужно было сделать, это перезапустить программу, и она исправлена.
Ответ 3
Это поведение по умолчанию для Sublime Text. Если вы выберете несколько строк, это будет отступ, но если вы выберете одну строку (выбор не содержит \n
), она запустит команду insert_best_completion
и удалит выделение.
Исправление:
В вашем пользователе .sublime-keymap
добавьте следующее:
{ "keys": ["tab"], "command": "indent", "context":
[
{ "key": "text", "operator": "regex_contains", "operand": "." }
]
},
Это сделает ваш ключ вкладки всегда отступом. Не уверен, что он будет конфликтовать с автозаполнением, если вы настроили его на клавише Tab.
То же самое для unindenting с shift + Tab:
{ "keys": ["shift+tab"], "command": "unindent", "context":
[
{ "key": "text", "operator": "regex_contains", "operand": "." }
]
},
Ответ 4
Как и в ответе Dom выше, это также происходит, когда сообщение об обновлении для возвышенности появляется и не находится в фокусе. Я также обнаружил, что если вы откроете Sublime, включите другой монитор, тогда сообщение об обновлении также появится на экране.
Единственное исправление, похоже, перезапускает возвышенное. Это также повторно центрирует диалоговое окно.
Ответ 5
Это происходило и со мной, и это было связано с тем, что мой выделенный текст оказался блоком, но на самом деле это была одна строка обернутого текста. По умолчанию ST3 заменит одну выделенную строку символом tab
.
Для меня удобнее выбирать un/indent, будь то несколько строк или нет, поэтому я добавил следующее в свой файл Sublime-keymap для пользователя.
{ "keys": ["tab"], "command": "indent", "context":
[
{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true },
]
}
Ответ 6
То же самое случилось со мной. Просто перейдите к настройкам- > привязки клавиш, а затем в пользовательские (справа) ключевые слова добавьте это:
[
{ "keys": ["tab"], "command": "indent" },
{ "keys": ["shift+tab"], "command": "unindent" },
]
Затем перезапустите sublime, и он будет работать нормально!
Примечание: это нарушает вкладку, дополняя все, но копирование настроек по умолчанию будет исправлять это. Также, если вы используете enter, он отлично работает. Удачи!