Answers:
这是Sublime Text 2或3中的一个巧妙技巧,可以转换文档中的缩进间距。
TL; DR:
从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
做完了
实际上,我发现最好像这样定义用户首选项:
"translate_tabs_to_spaces": true,
"tab_size": 2,
"indent_to_bracket": true,
"detect_indentation": false
该detect_indentation: false
是特别重要的,因为它迫使崇高的每个文件兑现这些设置,而不是在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],
在我看来,我发现了比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.
在Windows或其他平台的变化cmd+f
,并alt+enter
以您find
和select all
热键。
注意:如果您的代码中有多个空格,则此方法容易出现“错误”。因此,它不如Magne的方法安全,但速度更快(至少对我而言)。
RubyFormat
则只需设置所需的标签大小,然后重新格式化代码即可。在的情况下,RubyFormat
这将是cmd+shift+R
。
虽然许多建议在转换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" }
]
您必须将此代码添加到自定义键绑定中:
{ "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} }
通过按ctrl + f12组合键,可以将文件重新缩进制表符大小为4。如果要改变制表符大小,只需更改“值”数字。格式是一个简单的json。
{ "keys": ["ctrl+f10"], "command": "set_setting", "args": {"setting": "translate_tabs_to_spaces", "value": 2} }, { "keys": ["ctrl+f11"], "command": "set_setting", "args": {"setting": "tab_size", "value": 2} }, { "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} },