Пример. Если у меня есть документ с отступом в 2 раза, и я хочу, чтобы у него было 4 отступа пространства, как я могу автоматически преобразовать его с помощью редактора Sublime Text?
Как исправить/конвертировать отступы в Sublime Text?
Ответ 1
Здесь аккуратный трюк в Sublime Text 2 или 3, чтобы преобразовать интервал отступов в документе.
TL; ДР:
Преобразование из 2 пробелов в 4 пробела:
Убедитесь, что ширина закладки установлена равной 2. Преобразуйте отступ в 2 пробела к вкладкам, переключитесь на ширину вкладки 4, а затем преобразуйте отступ назад в пробелы.
Подробное описание:
Перейдите к:
View -> Indentation
Он должен читать:
-
Indent using spaces [x]
-
Tab width: 2
Выбрать:
-
Convert Indentation to Tabs
Затем выберите:
-
Tab width: 4
-
Convert Indentation to Spaces
Готово.
Ответ 2
Я действительно нашел, что лучше для моего здравомыслия, чтобы пользовательские настройки были определены следующим образом:
"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],
Ответ 3
Я нашел, на мой взгляд, более простое решение, чем Magne:
На mac:
"cmd+f" => " "(two spaces) => "alt+enter" => "arrow right" => " "(two more spaces) => set tab width to 4(this can be done before or after.
В окнах или других платформах измените cmd+f
и alt+enter
на любые ваши find
и select all
горячие клавиши.
Примечание. Этот метод подвержен "ошибкам", если в вашем коде имеется более одного места. Таким образом, он менее безопасен, чем метод Магне, но он быстрее (по крайней мере для меня).
Ответ 4
В то время как многие из предложений работают при преобразовании 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" }
]
Ответ 5
Если вы обнаружите, что поиск и замена быстрее используются, вы можете использовать замену регулярных выражений следующим образом:
Найти (regex): (^|\G) {2}
(Вместо "{2}" <space>{2}
вы можете просто написать два пробела. Используется здесь для ясности.)
Замените 4 пробела или что угодно, например \t
.
Ответ 6
Я написал для него плагин. Вы можете найти здесь здесь или искать "ReIndent" в управлении пакетами. В основном он делает то же самое, что написал Кайл Финли, но удобным способом с ярлыками для преобразования между 2 и 4 и наоборот.
Ответ 7
Вы должны добавить этот код к своим пользовательским привязкам клавиш:
{ "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} }
нажимая ctrl + f12, он будет повторно прикреплять ваш файл к размеру вкладки 4. Если вам нужен другой размер вкладки, вы просто изменяете значение "значение". Формат Te - простой json.