Как заменить четыре пробела вкладкой в ​​Sublime Text 2?


310

введите описание изображения здесь

Я хочу заменить все «четыре пробела», написанные другим текстовым редактором, на вкладки. Как мне это сделать?

Ответы:


639

В правом нижнем углу строки состояния нажмите Spaces: N(или Tab Width: N, где N - целое число), убедитесь, что он говорит Tab Width: 4о преобразовании из четырех пробелов, а затем выберите Convert Indentation to Tabsв контекстном меню, которое появится при первом щелчке.

Точно так же, если вы хотите сделать обратное, нажмите Spacesили Tab Widthтекст в строке состояния и выберите из того же меню.

введите описание изображения здесьвведите описание изображения здесь


3
Хотя все ответы верны, этот самый простой! Спасибо
Мохсен

1
Должен признаться; это так :) Никогда не использовал контекстные меню строки состояния, наверное, я всегда думал, что это статические индикаторы.
Экин Кок

2
Они не такие выдающиеся, какими они, возможно, должны быть, у меня есть пара ошибок, которые я должен подать за выдающиеся пробки. Отличный редактор.
ncremins

Вы также можете использовать настройки в файле проекта sublime-project, если хотите, чтобы редактор запомнил этот параметр для всех файлов в проекте
Майкл

1
@phreakhead Я не уверен, полностью ли я понимаю вашу потребность (подумать об открытии нового вопроса?), но если для translate_tabs_to_spaces установлено значение false, то, когда вы печатаете (новый текст) и нажимаете клавишу табуляции, это будет символ табуляции , если у вас есть файл, в котором уже есть отступы в виде 4 пробелов (вместо вкладок), вы можете использовать опцию в нижней части меню на снимке экрана, чтобы преобразовать отступы во вкладки.
Майкл

106

Выберите все, затем:

Windows / Linux:

Ctrl+ Shift+p

затем введите «отступ»


Mac:

Shift+ Command+p

затем введите «отступ»


Это самый быстрый способ удерживать руки на клавиатуре. +1
eduncan911

Удивительно ... это дает вам возможность "Reindent Lines" из файлов, таких как Bootstrap, который имеет 2 строки отступа
Shina

Я думаю, что это не совсем то, что он просит. Это также изменяет отступ строк, так что фактически меняет отступ, и он только спрашивает о преобразовании пробелов во вкладки. В любом случае, это хороший ответ, но в некоторых случаях он может испортить ваши отступы (например, подумайте о шаблонах с отступами).
Сержи Рамон

Это лучше, так как работает отлично с копией вставленного кода.
SaurabhM

45

Чтобы настроить Sublime на постоянное использование вкладок, попробуйте добавить следующее в settings-> settings-user:

{
    "tab_size": 4,
    "translate_tabs_to_spaces": false
}

Более подробная информация здесь: http://www.sublimetext.com/docs/2/indentation.html


5
Это правильный ответ, потому что даже после выбора «Отступ с использованием пробелов» этот параметр будет сброшен при перезапуске.
mvd

1
ОП попросил обратное. Что странно, тут не вариант. Вкладки ненавистников.
phreakhead


9

Выполните регулярное выражение «Поиск» \t(обратная косая черта, табуляция) и замените его четырьмя пробелами.

Либо главное меню, либо нижнее правое меню строки состояния делают то же самое, с меньшим количеством работы.


3
Это обратная , что спросил плакат
Макс Nanasy

3
@MaxNanasy Так оно и есть. Я предполагаю, что моя неприязнь к символам табуляции настолько глубока, что это подсознание.
Дейв Ньютон,

2
Этот ответ совершенно не имеет отношения к задаваемому вопросу. Пожалуйста, подумайте о том, чтобы заменить его на правильный ответ или иным образом удалить свой ответ.
Рэнди Дев

2
@AndrewDunn "Полностью"? В самом деле? Как инверсия чего-либо может быть «совершенно» не связана? По определению это связано, и исправление очевидно. Если бы у нас была возможность редактировать ответы.
Дейв Ньютон,

6

создать связывание клавиш для быстрого пути

{ "keys": ["super+alt+t"], "command": "unexpand_tabs", "args": { "set_translate_tabs": true } }

добавьте это в « Настройки»> «Привязки клавиш» (пользователь), когда вы нажмете super+ alt+, tоно преобразует пробелы во вкладки


2

Вы можете добавить простую привязку клавиш:

Предпочтение> Связывание ключей - пользователь:

[
    { "keys": ["super+l"], "command": "reindent"},
]

Теперь выберите строку или файл и нажмите: command + l


0

Если вы хотите рекурсивно применить это изменение ко всем файлам в директое, вы можете использовать модальное меню Find> Find in Files ...:

Найти в файлах модальных

Редактировать Я не выделил его на изображении, но вы должны нажать кнопку. * Слева, чтобы Sublime интерпретировал поле Find как регулярное выражение / Edit

Edit 2 Я забыл добавить начало привязки строки к регулярному выражению. Я исправляю это ниже, и обновлю изображение, когда у меня будет шанс / Правка

Регулярное выражение в поле «Найти» ^[^\S\t\n\r]{4}будет соответствовать пробельным символам в группах по 4 (исключая символы табуляции и символы новой строки). Поле замены \tуказывает, что вы хотите заменить их на вкладки.

Если вы нажмете кнопку справа от поля «Где», вы увидите параметры, которые помогут вам нацелить поиск, замените. Add Folderопция позволит вам выбрать папку, из которой вы хотите осуществлять рекурсивный поиск. Add Include FilterОпция позволит вам ограничить поиск файлов определенного расширения.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.