ctrl+g跳转后用shift+end可选中物理行尾内容(不含换行符),非视觉行尾;正则提取数值需注意边界、编码、换行符及大文件性能问题,优先切plain text并统一lf格式。

Ctrl+G跳转后,用Shift+End选中整行数值
定位到某行后,光标停在数值前或中间,按Shift + End就能选中从当前位置到物理行尾的所有内容(不含换行符)。这不是“视觉行尾”,而是真实换行符位置——哪怕这行被软换行折成三段,它仍能一次性选完末尾数字、单位或空格。
常见错误:只按End不按Shift,结果只是移动光标;或误用Ctrl + Shift + →,遇到小数点、下划线就中断,比如123.45只选中45。
- 想精确到数值本身(不含前后空格)?先用正则
\b\d+(?:\.\d+)?\b匹配,再Alt+F3多选,最后Ctrl+Shift+L转为多光标编辑 - 数值带逗号分隔(如
1,234.56)?正则改用\b\d{1,3}(?:,\d{3})*(?:\.\d+)?\b,注意,不用转义 - 选中后复制粘贴进Excel,发现首列自动去零(如
00123变123)?粘贴前先把Excel对应列设为“文本格式”,或在Sublime里每行前加单引号'
用Find in Files提取跨文件数值,但别信“matches”数字
Ctrl+Shift+F搜\b\d+\b看似能批量抓整数,但结果页显示的“X matches”是匹配行数,不是数值个数。一行有id: 101, status: 200,它只算1行,不是2个数。
真正要统计或导出所有数值,得两步走:先搜出含数值的行,再在结果页里用Ctrl+H配合^[^:]+:\d+:\s*(.*)$提取冒号后内容,最后对新标签页里的纯数值列表做二次处理。
- Where栏必须填路径(如
./data/**/*.csv),留空=只搜当前打开文件 - 务必勾选右下角
.*(Regular Expression),否则\b被当普通字符 - 搜
123会命中1234,加\b边界限定;但中文混排时\b可能失效,此时改用(?
大文件里数值提取失败?先切Plain Text模式再试
超过5MB的CSV或日志文件,Sublime加载慢、正则响应卡顿,甚至^$锚定失效——根本原因是语法高亮插件干扰换行符识别,尤其Windows的\r\n和中文标点混在一起时。
实操优先级:按Ctrl+Shift+P输入Set Syntax: Plain Text切回纯文本;右下角点击换行符标识,手动改为Unix (LF);再搜^\s*(\d+(?:\.\d+)?)\s*$这类整行数值模式。
- 别依赖
Count按钮统计大文件数值——它会假死;改用终端grep -oE '\b[0-9]+\b' file.csv | wc -l - 数值含科学计数法(如
1.23e-4)?正则补上[eE][+-]?\d+部分,完整写为\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b - 复制结果带多余空行?粘贴后执行
Ctrl+Shift+P→Remove Empty Lines,比手动删快得多
JSON里提数值最怕字段名拼错,先校验再动手
直接在损坏JSON里写正则提取"price": 99.99,结果为空?大概率是JSON语法错误导致Sublime解析错乱。必须先按Ctrl+Shift+P运行JSON: Validate(需提前装JSON插件),验证通过再操作。
字段值类型决定正则写法:"count": 123用"count"\s*:\s*(\d+);"rate": 0.85得用"rate"\s*:\s*(\d*\.\d+);若字段名含@或-(如"@timestamp"),正则里必须加反斜杠转义"@timestamp"\s*:\s*(\d+)。
- 嵌套结构(如
"user": {"score": 85})不建议单条正则硬解,先用Ctrl+Click折叠外层,再局部搜索更稳 - 导出数值列表时想加换行分隔?Replace框里填
$1\n,别漏\n,否则全挤成一行 - 真遇到动态字段名或超大JSON(>10MB),放弃Sublime,终端跑
jq -r '.items[].price' data.json,秒出结果
^$完全失灵**。每次提取前花10秒切Plain Text + 统一LF,比反复调正则省半小时。











