Когда я выделяю несколько строк в Sublime Text 3 и делаю отступ в виде блока (используя Tab или Ctrl + ]), он добавляет новые пробельные символы в начале первой строки вне выделения, а не внутри.
Скажем, у меня есть блок кода, который выглядит следующим образом (Примечание: все нижеприведенное приведено только для иллюстрации идеи; пожалуйста, не начинайте с меня о том, где находятся мои скобки, или какой отступ я делаю и т.д.):
int firstVar, secondVar;
firstVar = 4;
secondVar = 11;
Теперь я вернусь к этому коду позже и мне нужно сделать условные присвоения значений:
int firstVar, secondVar;
int myVar = 0;
int result = someThing(myVar);
if (result == GOOD_RESULT)
{
firstVar = 4;
secondVar = 11;
}
else
{
}
Конечно, я хочу сделать отступ в этом месте, поэтому я выбираю два элемента в предложении if
и делаю их в виде блока с помощью клавиши Tab , а Sublime Text, как и ожидалось, добавляет символы отступа (табуляция или предопределенный количество пробелов) для каждой выбранной строки:
[snip]
if (result == GOOD_RESULT)
{
firstVar = 4;
secondVar = 11;
}
else
{
}
Затем, так как я просто собираюсь присвоить им различные значения в предложении else
, я скопирую и вставлю их туда, готовый изменить:
if (result == BAD_RESULT)
{
firstVar = 4;
secondVar = 11;
}
else
{
firstVar = 4;
secondVar = 11;
}
И есть проблема: Sublime Text отступил в первой строке моего блока, но не включил символы отступа в выделение, поэтому, когда я его копировал и вставлял, я не получал отступ первой строки. (Я хотел бы изменить цвет фона, чтобы проиллюстрировать лучше.)
Не только это, но если бы я вырезал и вставил вместо этого, символы отступа остались бы позади.
Я могу немного обойти эту проблему, пытаясь вспомнить, чтобы скопировать / вырезать перед выполнением отступа, но а) я не всегда помню и б) затем мне приходится делать отступ кода дважды.
Кто-нибудь знает, как это исправить?