Як замінити чотири пробіли на вкладку в 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

Ви також можете скористатися налаштуваннями у файлі піднесеного проекту, якщо ви хочете, щоб редактор запам'ятав цей параметр для всіх файлів у проекті
Майкл

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

106

Виберіть усе, а потім:

Windows / Linux:

Ctrl+ Shift+p

потім введіть "відступ"


Мак:

Shift+ Command+p

потім введіть "відступ"


Це найшвидше, зберігаючи руки на клавіатурі. +1
eduncan911

Дивовижно ... це дає вам можливість "Reindent Lines" з таких файлів, як Bootstrap, який надходить з двома рядками відступу
Shina,

Я думаю, що це не робить саме те, що він просить. Це також нагадує рядки, тому воно фактично змінює відступ, і він запитує лише про перетворення пробілів у вкладки. У будь-якому випадку це хороша відповідь, але в деяких випадках це може зіпсувати ваше відступ (придумайте, наприклад, шаблони з відступом леза).
Сергі Рамон

Це краще, оскільки це працює з приголомшливим кодом, вставленим кодом.
SaurabhM

45

Щоб настроїти Sublime завжди використовувати вкладки, спробуйте додати наступне до налаштувань-> налаштування-користувача:

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

Більше інформації тут: http://www.sublimetext.com/docs/2/indentation.html


5
Це правильна відповідь, оскільки навіть після вибору "Відступ за допомогою пробілів", ця опція буде скинута при перезапуску.
mvd

1
ОП попросили зворотного. Що дивно, немає варіанту. Ненавиджувачі вкладок.
freakhead


9

Зробіть регулярний вираз "Пошук" \t(зворотний косий рядок, вкладка) та замініть чотири пробіли.

Або головне меню, або нижнє праворучне інтервал між рядками стану роблять те саме, з меншою роботою.


3
Це зворотне запитання, про яке
плакав

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"},
]

Тепер виберіть рядок або файл і натисніть: команда + l


0

Якщо ви хочете рекурсивно застосувати цю зміну до всіх файлів у директі, ви можете скористатися модалом Find> Find in Files ...

Знайти у файлі модально

Редагувати Я не виділив його на зображенні, але ви повинні натиснути кнопку. * Зліва, щоб Sublime інтерпретував поле Find як регулярний вираз / редагувати

Редагувати 2 Я нехтував, щоб додати початок якорного рядка в регулярний вираз. Я виправляю це нижче та оновлюю зображення, коли отримаю шанс / Редагувати

Зворотний вираз у полі «Знайти» ^[^\S\t\n\r]{4}буде відповідати символам пробілів у групах по 4 (виключаючи вкладки та символи нового рядка). Поле заміни \tвказує, що ви хочете замінити їх на вкладки.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.