Как исправить / преобразовать отступ пространства в возвышенном тексте?
пример: если у меня есть документ с отступом 2 пробела, и я хочу, чтобы он имел отступ 4 пробела, как я могу автоматически преобразовать его с помощью текстового редактора Sublime?
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
The
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.