Sublime Text无内置计算器,所有计算均依赖插件:Calculate需手动选中纯数字表达式并触发,仅支持基础运算符;Emmet通过光标位置计算但易受单位/上下文干扰;Python控制台功能最强却无法自动回填结果。

Sublime Text 没有“一键装上就能算 CSS 数值”的万能插件——所有靠谱方案都依赖明确选中、干净表达式和单位预处理。
Calculate 插件:最稳的选中即算,但必须手动触发且只认纯数字表达式
它本质是调用 Python 的 eval(),所以对输入极其挑剔。常见错误不是插件坏了,而是你选中了带单位或符号的文本。
- 支持:
+、-、*、/、**、%、括号、小数;不支持:^(那是异或)、px、rem、中文乘除号、前导零(010 + 5会按八进制解析) - 批量改 CSS 数字时,不能直接全选
width: 200px; height: 150px;—— 冒号和px会让解析失败;得先用多光标(Ctrl+Click)点中每个数字,或用正则\d+匹配后替换为$0 + 10,再统一按Ctrl+Shift+C - 快捷键默认未绑定,需在
Preferences → Key Bindings – User中添加:{"keys": ["ctrl+shift+c"], "command": "calculate", "args": {"replace": true}}
Emmet 的 Ctrl+Shift+Y:适合光标停在 calc() 或行内数值里算,但上下文干扰强
它不依赖选中,靠光标位置判断计算范围,省事但容易翻车。
- 光标停在
calc(100% - 240px)任意位置,按Ctrl+Shift+Y会尝试算,但px不删就卡住;得提前删掉单位,或写成calc(100% - 240) - 支持整数除法写法:
11\2→ 解析为round(11/2) = 6;也认(100 - 20) / 3这类混合运算 - 不跳过注释或字符串:光标在
// 10 * 2或"margin: 5+3"里,它照样执行,可能吞掉引号或注释符号导致报错
Python 控制台:Ctrl+` 输入即执行,唯一支持函数和变量,但结果不回填
这是唯一能跑 math.ceil()、round()、甚至临时定义变量的地方,适合复杂临时计算。
立即学习“前端免费学习笔记(深入)”;
- 输入
import math; math.sqrt(144)回车,立刻返回12.0;想算768 / 16 * 9?直接输,不用删单位——因为根本没单位参与 - 缺点明显:结果不会自动写回编辑器,得手动复制粘贴;也不支持中文符号,
×必须换成* - 适合场景:临时算带对数、三角、条件判断的式子,比切窗口开计算器快,但不适合高频批量操作
隐形字符才是真杀手:一个零宽空格就让 Calculate 报 SyntaxError
别急着重装插件,先检查选区有没有不可见字符。它们肉眼看不见,却足以中断解析。
- 用正则
[\s\u200b-\u200f\u2028-\u202f]搜索当前选区,能快速揪出零宽空格(\u200b)、软连字符、行分隔符等 - 复制粘贴来的数值常带这些字符,尤其是从网页、Notion 或微信文档里拷贝的数字
- 哪怕只是多了一个全角空格,
Calculate就会静默失败,控制台也不报错——它只是默默不执行


















