在 Sublime Text 中将缩进转换为个人偏好可能是一项乏味的任务,正如您所观察到的,在 StackOverflow 上经常会提到它。事实上 4 年前我answered a question 几乎完全列出了您在问题中列出的步骤。
我也发现 3 个 Command Pallette reindent 命令有点喜怒无常,有时会按照我认为他们应该做的那样工作,有时(似乎是)什么都不做。不过没关系……
当然有一种方法可以一次性执行您列出的操作;使用宏。
复制并粘贴下面的宏代码,并将其作为IndentationTo4Spaces.sublime-macro 保存在您的User 文件夹中。
[
{ "command": "set_setting", "args": {"setting": "tab_size", "value": 2} },
{ "command": "unexpand_tabs", "args": {"set_translate_tabs": true} },
{ "command": "set_setting", "args": {"setting": "tab_size", "value": 4} },
{ "command": "expand_tabs", "args": {"set_translate_tabs": true} }
]
您可以从菜单 Tools --> Macros --> User --> IndentationTo4Spaces 运行宏、设置键绑定或向 Command Pallette 添加条目。
// Add keys to: Packages/User/Default (Linux/OSX/Windows).sublime-keymap
{ "keys": ["ctrl+shift+y"], "command": "run_macro_file",
"args": {"file": "res://Packages/User/IndentationTo4Spaces.sublime-macro"} },
// Add command to: Packages/User/Default.sublime-commands
{ "caption": "Convert Indentation To 4 Spaces", "command": "run_macro_file",
"args": {"file": "res://Packages/User/IndentationTo4Spaces.sublime-macro"} },