如何修复/转换Sublime Text中的空格缩进?

示例:如果我有一个带有2个空格缩进的文档,并且希望它有4个空格缩进,那么如何使用Sublime Text编辑器自动转换它?

这是Sublime Text 2或者3中用于在文档中转换缩进间距的巧妙方法。

TL; DR:

从2个空格转换为4个空格:

确保选项卡宽度设置为2.将您的2-空间缩进转换为制表符,切换到制表符宽度4,然后将缩进转换回空格。

详细说明:

去:

View -> Indentation

它应该是:

  • Indent using spaces [x]
  • Tab width: 2

select:

  • Convert Indentation to Tabs

然后select:

  • 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设置。

如果你想要看起来,你也可以定义一个键盘快捷键,通过在Sublime -> Preferences -> Key Binding - User粘贴以下代码自动重新缩进代码(YMMV)

 [ { "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], 

在我看来,我发现比Magne更简单的解决scheme:

在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+falt+enter任何你findselect all热键。

注意:如果您的代码中有多个空格,则此方法很容易出现“错误”。 因此它比Magne的方法更安全,但速度更快(至less对我来说)。

虽然许多build议工作转换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" } ] 

如果你发现search和replace使用更快,你可以使用这样的正则expression式replace:

查找(正则expression式): (^|\G) {2} (而不是“{2}” <space>{2}您可以只写两个空格。

换成4个空格,或者你想要的任何东西,比如\t

我为它写了一个插件。 你可以在这里find它,或者在包控件中查找“ReIndent”。 它大部分与凯尔·芬利(Kyle Finley)写的一样,但是用方便的方式将2和4之间的转换换成了快捷方式,反之亦然。

您必须将此代码添加到您的自定义键绑定中:

 { "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} } 

通过按Ctrl + F12,它会将您的文件重新制作为4的制表大小。如果您想要不同的制表大小,只需更改“值”数字。 Te格式是一个简单的json。