Как исправить / преобразовать отступ пространства в Sublime Text?
пример: если у меня есть документ с отступом 2 пробелов, и я хочу, чтобы он имел отступ 4 пробелов, как мне автоматически преобразовать его с помощью редактора Sublime Text?
8 ответов
вот аккуратный трюк в Sublime Text 2 или 3, чтобы преобразовать интервал отступов в документе.
TL; DR:
преобразование из 2 пространств в 4 пространства:
убедитесь, что ширина вкладки установлена на 2. Преобразуйте отступ 2 в вкладки, переключитесь на ширину вкладки 4, а затем преобразуйте отступ обратно в пробелы.
подробное описание:
Go кому:
View -> Indentation
следует читать:
Indent using spaces [x]
Tab width: 2
выберите:
Convert Indentation to Tabs
Выберите:
Tab width: 4
Convert Indentation to Spaces
сделано.
Я на самом деле обнаружил, что для моего здравомыслия лучше иметь пользовательские настройки, которые будут определены следующим образом:
"translate_tabs_to_spaces": true,
"tab_size": 2,
"indent_to_bracket": true,
"detect_indentation": false
на detect_indentation: false
особенно важно, так как это заставляет Sublime соблюдать эти настройки в каждом файле, в отличие от View -> Indentation
настройки.
если вы хотите получить фантазии, вы также можете определить сочетание клавиш для автоматического повторного отступа кода (YMMV), вставив следующее в Sublime -> Preferences -> Key Binding - User
:
[
{ "keys": ["ctrl+i"], "command": "reindent" }
]
и визуализировать пробел:
"indent_guide_options": ["draw_active"],
"trim_trailing_white_space_on_save": true,
"ensure_newline_at_eof_on_save": true,
"draw_white_space": "all",
"rulers": [120],
я нашел в своем уме более простое решение, чем Магне:
на mac:
"cmd+f" => " "(two spaces) => "alt+enter" => "arrow right" => " "(two more spaces) => set tab width to 4(this can be done before or after.
на windows или других платформах изменить cmd+f
и alt+enter
все find
и select all
горячие клавиши.
Примечание: этот метод подвержен "ошибкам", если в коде имеется более одного пробела. Таким образом, это менее безопасно, чем метод Магне, но это быстрее (по крайней мере для меня).
пока много из предложений работают преобразовывая Космос 2 - > 4. Я столкнулся с некоторыми проблемами при преобразовании 4 - > 2.
вот что я в конечном итоге с помощью:
Sublime Text 3/Packages/User/to-2.sublime-macro
[
{ "args": null, "command": "select_all" },
{ "args": { "set_translate_tabs": true }, "command": "unexpand_tabs" },
{ "args": { "setting": "tab_size", "value": 1 }, "command": "set_setting" },
{ "args": { "set_translate_tabs": true }, "command": "expand_tabs" },
{ "args": { "setting": "tab_size", "value": 2 }, "command": "set_setting" }
]
Если вы найдете поиск и замену быстрее использовать, вы можете использовать регулярное выражение заменить следующим образом:
найти (выражения): (^|\G) {2}
(вместо " {2}" <space>{2}
вы можете просто написать два пробела. Использовал его здесь для ясности.)
заменить на 4 пробелов, или что вы хотите, как \t
.
Я написал плагин для него. Вы можете найти его здесь или найдите "ReIndent"в элементе управления пакетом. В основном он делает то же самое, что и Кайл Финли, но удобным способом с ярлыками для преобразования между 2 и 4 и наоборот.
вы должны добавить этот код в пользовательские комбинации клавиш:
{ "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} }
нажав ctrl+f12, он будет переиндентировать ваш файл на вкладку размером 4. если вы хотите другой размер вкладки, вы просто измените номер "значение". Формат Te-это простой json.
проще всего было,
изменил отступ на вкладки
и это решило мою проблему.
вы можете сделать то же самое,
с пробелами
а также в соответствии с вашими потребностями.
упомянул снимок того же самого.