537

在处理 Ruby 文件时,有没有办法强制 Sublime Text 2 总是每个制表符缩进两个空格?

我知道可以在view -> indentation菜单选项下设置缩进,但它不粘。每次我打开一个新文件并点击选项卡时,它都会恢复为四个空格。

4

6 回答 6

955

如果您希望所有文件都使用它,请转到Preferences -> Settings - Default/User。但正如下面的几条评论所示,语法特定设置可以将其限制为您选择的语言。

要将此配置限制为 Ruby 文件,首先在编辑器中打开一个 Ruby 文件,然后转到Preferences -> Settings - Syntax Specific. 这应该会打开一个名为Ruby.sublime-settings

保存这些设置:

{
  "tab_size": 2,
  "translate_tabs_to_spaces": true,
  "detect_indentation": false
}

通过打开该类型的文件并返回首选项以打开该语法的正确首选项文件,对任何其他语法类型重复此操作。

我已对其进行了编辑,以根据评论中的请求包含“detect_indentation”行;我以前使用默认/用户来设置我的标签大小,并且不需要标签检测,但这是由于全局配置还是由于我很少用标签打开文件,我不知道。

尽管在某些情况下可能需要,但不需要重新启动。

于 2012-02-27T23:37:12.547 回答
171

如果你想强制你选择的选项卡设置,忽略文件中可能已经发生的事情,那么你应该detect_indentation在你的配置中包含(你的用户设置或你的语法特定设置,取决于你想要它是全局的还是每个文件类型):

{
    "tab_size": 2,
    "translate_tabs_to_spaces": true,
    "detect_indentation": false
}
于 2013-04-05T20:41:12.937 回答
100

您也可以使用 Sublime Text 2(右侧)底部栏中的文本链接执行此操作,默认情况下显示“Tab Size 4”,单击该链接并出现一个窗口,其中包含从 1 个空格设置选项卡大小的选项一直到 8 个空格,并包括将制表符转换为空格和将空格转换为制表符的选项。

看起来像这样:

Sublime Text 2 中的选项卡选项

于 2013-10-10T03:24:01.480 回答
34

我可以建议EditorConfig吗?有一个自动加载和应用文件的扩展名。.editorconfig然后只需在项目的根目录中创建一个。

.editorconfig

[*.rb]
indent_style = tab
indent_size = 2

这样,如果您为每个项目或语言使用不同的样式,则您的设置是特定于项目和文件的。


这是我自己的.editorconfig样子。

# 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
于 2014-07-07T20:40:25.763 回答
10

我使用Stupid Indent包。

Install Package->Stupid Indent

Preferences-> Package Settings-> Stupid Indent->Setting-Users

将设置(Ruby部分)复制到。

{
    "configuration":
    [
        {
            "patterns": ["*.rb"],
            "tab_size": 2,
            "translate_tabs_to_spaces": true
        }
    ]
}
于 2016-04-27T15:06:39.680 回答
1

我遵循了之前的答案,包括添加了 detect_indentation 行,我的制表符仍然是五个空格。然后我意识到Preferences -> Settings -> More -> Syntax Specific -> User从 ruby​​ 文件中选择对我来说是开放Ruby on Rails.sublime-settings的,而不是Ruby.sublime-settings.

我将Ruby on Rails.sublime-settings文件重命名为Ruby.sublime-settings. 最后两个空格制表符起作用了!Ruby on Rails.sublime-settings为了确定,我继续进行相同的设置。

于 2016-01-22T22:53:22.437 回答