sublime text中右下角显示的是光标所在行号(如127:5),非总行数;需用tools: word count命令或滚动至末行查看总行数,其统计含空行和注释,不区分有效代码行。

Sublime Text 里怎么看当前文件总行数
直接看窗口右下角——那里默认就显示当前光标所在行号和总行数,格式类似 127:5(第127行,第5列),但总行数不直接写出来。得点一下那个区域,或者按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS)调出命令面板,输入 Tools: Word Count,回车,弹出的小框里就有「Lines: 342」这种明确数字。
注意:这个 Word Count 统计的是**所有行**,包括空行、注释行、被折叠的代码块里的行——它不区分逻辑行或有效代码行,就是文本意义上的换行符数量。
用正则表达式手动统计非空行或代码行
如果右下角和 Word Count 都不够用(比如你想排除空行、只算带实际字符的行),就得自己搜。打开查找面板(Ctrl+H),勾选 Regular Expression,在查找框里填:
^\s*$
然后点「Find All」,左下角会显示匹配到多少个空行或纯空白行。用总行数减去这个数,就是非空行数。
-
^\s*$匹配开头到结尾全是空白符(空格、制表符、不可见符)的行 - 想统计带代码的行(至少一个非空白、非注释字符),可以搜
^[^/\s],但要注意这会漏掉以空格开头的代码行,也不处理多行注释,实用性有限 - 别用
^.*$来“匹配所有行”——它在 Sublime 里会把每行匹配一次,但无法直接给出总数,还得靠人工数左下角提示,不靠谱
插件方案:LineCounter 能不能信
确实有叫 LineCounter 的插件,安装后右键菜单多一项「Count Lines」,看起来方便。但它有几个硬伤:
- 统计逻辑简单粗暴:只按
\n拆分,和Word Count一样,不跳过注释、不合并多行字符串 - 对 UTF-8 BOM 或 Windows
\r\n换行兼容没问题,但遇到混合换行符(比如 Git 带来的 LF/CRLF 混用),可能少算一行 - 不支持排除特定目录或文件类型(比如不想统计
node_modules/下的行数),纯单文件工具
所以它适合快速扫一眼,别当真——尤其做代码规范检查或交付统计时,别拿它的结果交差。
真正要统计项目级有效代码行数,别在 Sublime 里硬刚
Sublime 不是 IDE,没内置 AST 解析能力,也跑不了语言特定的行数分析器。你要是真需要「去掉注释和空行的 Python 实际代码行」,或者「TypeScript 中非声明语句行数」,得切到终端:
比如用 cloc 工具:cloc ./src --exclude-dir=node_modules,它能按语言分类、自动过滤注释和空白,并支持常见前端/后端语言。Sublime 插件再怎么包装,底层没语法解析,就只能数换行符。
最常被忽略的一点:很多人以为「显示行号开启 = 行数可见」,其实行号只是从 1 开始编号,不代表你能直接读出总数;而右下角那个数字,不是总行数,是当前行号——这点卡住不少人,反复找设置,其实只是误解了 UI 提示的含义。











