sublime text 中 tab 键插入空格需设置 “translate_tabs_to_spaces”: true 和 “tab_size”: 2(或4)于语法专属配置中,且须确保文件被正确识别语法(如 python、javascript),否则设置不生效。
如何让 Sublime Text 的 Tab 键插入空格而非制表符
默认情况下,Sublime Text 的 Tab 键会插入一个 \t 字符。要改成插入空格(比如 2 或 4 个),关键不是改快捷键,而是调整缩进设置。这个设置是按语法类型生效的,所以 Python 文件和 HTML 文件可以各自独立配置。
- 打开任意文件 → 点击菜单 View → Indentation → Convert Indentation to Spaces(仅对当前文件生效)
- 永久生效需修改语法专属设置:菜单 Preferences → Settings – Syntax Specific,然后在右侧 JSON 中添加:
{ "translate_tabs_to_spaces": true, "tab_size": 2 } - 注意:左侧的
Settings – Default不要直接改,那是只读模板;必须用Settings – Syntax Specific或Settings – User(全局覆盖,不推荐)
为什么改了设置后新文件还是插 Tab?
常见原因是没触发“语法识别”。Sublime 只有在识别出当前文件类型(如 Python、JavaScript)后,才会加载对应语法的 Settings – Syntax Specific。如果文件是未命名的临时标签页,或后缀名不标准(比如 .ts 被识别成 Plain Text),设置就不会生效。