在 Sublime Text 中永久设置 Tab 为 4 个空格需修改用户配置:Preferences → Settings,在右侧 User 配置中添加 {"tab_size": 4, "translate_tabs_to_spaces": true};注意语言专属设置(如 Python.sublime-settings)和 .editorconfig 会覆盖该配置,需一并检查调整。
如何在 Sublime Text 中永久设置 Tab 为 4 个空格
直接改配置就能生效,不用装插件或写脚本。关键在于区分「当前文件临时设置」和「全局默认设置」,很多人只调了前者,关掉文件就失效。
打开当前文件后,点击右下角的
或
,选
—— 这只是临时转换当前文件缩进,不改默认行为
真正起作用的是修改用户配置:菜单栏
,在右侧用户配置(User)里加这两行:
保存后,所有新打开的文件(包括新建的)都会默认用 4 空格缩进;已打开的文件不会自动重排,需手动触发
如果项目有
,Sublime 默认不读它——得装
插件,否则配置会被覆盖
为什么改了设置但 Python 文件还是用 Tab?
因为 Sublime 会按文件类型加载专属语法设置,Python 的默认缩进行为可能被
覆盖。
检查是否启用了语言专属设置:菜单
如果该文件里有
或
,优先级高于全局配置,必须删掉或同步改成
和
常见坑:有人复制了别人 GitHub 上的 Python 配置,里面写了
,结果全局设置完全无效
缩进混乱时怎么批量修复已有文件?
不能只靠 Ctrl+A + 缩进命令,容易误伤字符串里的制表符或注释对齐。
仿Sublime和notepad++编辑器效果
仿Sublime和notepad++编辑器效果
下载
先确保当前文件缩进模式正确:右下角确认显示
,不是
菜单执行
,再执行一次
(避免 Windows 换行干扰)
批量处理多个文件:用侧边栏多选文件 → 右键 →
,但注意——这个操作不支持递归子目录,要处理整个项目得用命令行配合
+
或
和 PEP 8、Black 等工具共存要注意什么
Sublime 自己不校验代码风格,只是“画布”,真正决定格式的是你用的格式化工具。
如果装了
或
插件,它们会在保存时重写缩进,此时 Sublime 的
设置仅影响光标移动和新输入,不影响最终结果
推荐做法:Sublime 设为
+
,再让 Black 接管格式化——两者目标一致,不会冲突
唯一容易出问题的是团队协作:有人用 Sublime 未启用
,手敲 Tab,Git 提交后 Black 一跑,整块缩进被重排,diff 巨大
最麻烦的其实是混合缩进的旧项目,Sublime 不会主动报错,得靠 linter 或 pre-commit 拦住。一旦文件里同时存在 Tab 和空格,
设置再准也没用。
Tab Width: 4Indentation: TabConvert Indentation to SpacesPreferences → Settings
{
"tab_size": 4,
"translate_tabs_to_spaces": true
}
Convert Indentation to Spaces.editorconfigEditorConfig for Sublime TextPython.sublime-settingsPreferences → Package Settings → Python → Settings"translate_tabs_to_spaces""tab_size"true4"translate_tabs_to_spaces": falseSpaces: 4TabConvert Indentation → To SpacesIndentation → Convert Line Endings → UnixConvert Indentation to Spacesfindsedautopep8Blackautopep8tab_size"tab_size": 4"translate_tabs_to_spaces": truetranslate_tabs_to_spacestab_size