Подтвердить что ты не робот

Sublime Text 3 Удаление кода при нажатии клавиши Tab

Когда я выделяю блок кода в Sublime Text 3 и нажимаю клавишу Tab, это не означает, что весь блок, как он использовался. Вместо этого он удаляет выделенный код.

Кто-нибудь знает, как это исправить?

4b9b3361

Ответ 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, он отлично работает. Удачи!