状态栏不显示行号、编码或换行符,是因 status_bar_visible、show_encoding、show_line_endings 三个开关被关闭;Ln/Col 由光标上下文动态触发,与左侧 line_numbers 无关;编码显示仅反映当前解码方式,非文件真实编码。

状态栏不显示行号、编码或换行符,基本不是 Sublime 坏了,而是三个开关被关了:status_bar_visible、show_encoding、show_line_endings。
怎么确认状态栏本身是否被禁用
状态栏是独立开关,和 line_numbers 无关。它可能被以下方式关闭:
- Preferences → Settings – User 里写了
"status_bar_visible": false—— 直接删掉这行或改成true - 手动执行过 View → Hide Status Bar(快捷键通常是
Ctrl+K Ctrl+S或Cmd+K Cmd+S) - 当前处于 Distraction Free Mode(按
F11进入,再按一次退出)
验证方法:在控制台(Ctrl+`)输入 sublime.status_message("test"),如果底部没弹出 test,说明状态栏确实被禁用。
为什么能看到 Ln/Col 却看不到 UTF-8 或 CRLF
Ln/Col 和编码、换行符是两套独立机制:Ln/Col 由光标监听自动触发;而编码和换行符必须显式启用开关:
-
"show_encoding": true—— 控制是否显示UTF-8、GBK等字样 -
"show_line_endings": true—— 控制是否显示LF、CRLF -
show_encoding_on_status_bar是过时字段,2026 年主流版本已完全忽略,别写
注意:新建未保存的文件(Untitled)通常不显示编码,保存为 test.py 后再看;状态栏显示的 UTF-8 只代表 Sublime “当前用什么解码”,不是磁盘文件的真实编码。
行号(左侧 gutter)和状态栏右下角 Ln/Col 的区别
很多人混淆这两者,但它们互不影响:
-
"line_numbers": true控制左侧 gutter 是否显示数字,和状态栏无关 - 状态栏右下角的
Ln 12, Col 5依赖文件解析上下文:未保存、UTF-16 无 BOM、Vintage Normal 模式、多光标主光标落在折叠块内,都可能导致它不显示或卡在Col 0 - 通过
Ctrl+P打开的预览页(Preview Pane)不会激活编辑上下文,Ln/Col不出现是正常行为
状态栏信息不刷新或点击无效怎么办
不是配置失效,而是上下文没更新或被压制:
- 右键点击状态栏中编码或换行符区域(哪怕显示为空),选
Set Encoding或Set Line Endings,强制重载一次 - Vintage 模式下处于 Normal 状态时,
Ln/Col可能延迟更新;按i进入插入模式即可恢复 - 某些插件(如旧版 SideBarEnhancements、自定义主题)会覆盖或隐藏原生状态栏字段;临时切回
Adaptive.sublime-theme验证是否主题导致
最常被忽略的一点:状态栏永远只反映 Sublime 当前“怎么读这个文件”,而不是“文件本来是什么”。想验证真实编码,要用 File → Reopen with Encoding 强制重读。

















