在 Sublime Text 中切换空格和制表符

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 200 美元的免费额度!

Sublime Text 在轻松切换使用制表符和空格缩进代码方面非常出色。 更重要的是,它可以轻松调整与您的偏好不符的代码缩进。 我认为我应该将其整理出来以供参考,因为某些转换需要遵循特定的步骤序列。

第一步是确保您的用户首选项符合您的喜好。

我更喜欢空格,所以我的设置如下

{
  // other stuff

  "tab_size": 2,
  "translate_tabs_to_spaces": true,

   // more other stuff
}

根据您的喜好进行调整。

您可以从右下角覆盖任何给定文件的这些设置。

右下角是您可以查看打开文档的当前设置的位置。

这也是修复不符合您喜好的文档的中心。

从制表符更改为空格(相同缩进级别)

这是一个目前使用制表符的文档。 我可以判断,因为我选择了文本,并且在空白处有短划线而不是点。 短划线是制表符,点是空格。 此外,在右下角,我可以看到它显示“制表符大小:2”。

您可以看到这些制表符宽 2 个空格。 假设我想切换到空格,并且对每个制表符 2 个空格感到满意,我只需从该菜单中选择“将缩进转换为空格”。

在这种情况下,我就可以了。

从制表符更改为空格(不同缩进级别)

假设直接从制表符转换为空格对我来说不起作用。 假设制表符级别设置为每个制表符 6 个空格,我想转换为空格,但每个缩进只有 2 个空格。 这里的技巧是首先在制表符中调整间距,然后转换。

从空格更改为空格(不同缩进级别)

如果您的文件以您喜欢的空格格式存在,但它使用的是 4 个空格而不是 2 个空格,该怎么办? Sublime Text 仍然可以在这里提供帮助。 您使用制表符可以具有可变长度的功能。 因此,首先转换为制表符,调整宽度,然后切换回空格。

从空格更改为制表符

我认为我们现在已经掌握了窍门。 如果您更喜欢制表符,则可以反向执行此操作。


我认为您可以从那里推断出其他切换方案。

我认为没有任何一种情况您无法通过这种方式调整到您喜欢的状态。 如果您发现自己手动调整缩进(缩进本身一致),请停止,您可以找到一种方法使用设置来修复它。

如果您想在下面讨论制表符与空格,尽管来,但我可以告诉您,我并不在乎。 我主要关心的是任何特定项目对此保持一致并强制执行它。

.editorconfig

还值得一提的是:有一项名为 EditorConfig 的功能。 您将一个名为 .editorconfig 的文件放在项目的根目录中。 如果有人在支持它的编辑器中打开该项目,则这些设置将被采用。 有一个 用于 SublimeText。

该文件可能如下所示

# editorconfig.org
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false