Sublime Text 无内置计算器,所有计算依赖插件:Calculate需手动选中并触发,仅支持基础运算符和字面量;Emmet支持光标定位计算,适合CSS但易受单位/上下文干扰;Python控制台功能最强但结果不自动回填。

Sublime Text 没有内置计算器——所有“选中即算”功能都依赖插件,且必须手动触发、精准选中、表达式干净。
Calculate 插件:选中后按 ctrl+shift+c 替换原内容
这是最接近“内置体验”的方案,但本质是调用 Python eval(),只认纯运算符和字面量:
- 支持:
+、-、*、/、**、%、括号、小数;不支持^(那是异或)、sin()、px、中文符号(×÷)、前导零(007 + 1解析为八进制得 6) - 多行选中时,逐行替换:选中三行
10、20、30,按ctrl+shift+c后仍是10、20、30(因每行非合法表达式);得写成10+0、20+0、30+0才生效 - 在 CSS 中批量改数字时,不能直接全选
width: 200px; height: 150px;——:和px会中断解析;应先用多光标(ctrl+click)点中每个数字,或正则\d+匹配后替换为$0 + 10,再统一触发
Emmet 的 ctrl+shift+y:光标停在表达式里就能算,适合 CSS 场景
无需选中,但对上下文更敏感,常用于 calc() 内部或行内数值:
- 光标停在
calc(100% - 240px)任意位置,按ctrl+shift+y会尝试计算,但必须提前删掉px,否则卡在单位上 - 支持整数除法写法
11\2→ 解析为round(11/2)=6;也认(100 - 20) / 3这类混合运算 - 不自动跳过注释或字符串:若光标在
// 10 * 2里,它照样算并可能覆盖注释;若在"value: 5+3"字符串内,可能把引号一起吞进去报SyntaxError
Python 控制台:ctrl+` 输入即执行,唯一支持函数和变量的方案
这是唯一能跑 math.sqrt()、赋值、导入模块的地方,但不读取选区,需手动复制粘贴:
- 输入
import math; math.ceil(3.14)回车,立刻返回4.0 - 想算
768 / 16 * 9?直接输,不用删px—— 因为根本没单位 - 缺点明显:结果不会自动回填到编辑器,得手动复制;也不支持中文符号,
×必须换成* - 临时算带对数、三角、条件判断的式子,比切窗口开计算器快,但不适合高频批量操作
真正容易被忽略的是隐形字符:一个零宽空格(\u200b)或全角空格,就足以让 Calculate 报 SyntaxError。别急着重装插件,先用正则 [\s\u200b-\u200f\u2028-\u202f] 检查选区。


















