Ctrl+D只选中部分数字因按单词逻辑匹配,遇小数点、逗号等即中断;批量提取数值需用正则Find All后Ctrl+Shift+L,且须确保至少匹配两处才生效。

Ctrl+D 多光标选中数字时为什么只跳到部分数字?
因为 Ctrl+D 默认按“单词”逻辑扩展选区,遇到小数点、逗号、负号、字母就中断。比如你选中 123 后按 Ctrl+D,它不会继续选 -45.67 或 1,234,而是停在下一个纯字母/数字组合上。
真正想批量提取所有数值,得先让 Sublime “看见”它们是独立单元:
- 先用正则
\b-?\d+(?:,\d{3})*(?:\.\d+)?(?:[eE][+-]?\d+)?\b在Ctrl+F中Find All - 确保右下角勾了
.* (Regular Expression) - 再按
Ctrl+Shift+L—— 这步把每个匹配结果转成独立光标,而不是靠Ctrl+D猜
为什么 Find All 之后 Ctrl+Shift+L 没反应?
常见原因是没真正触发“多匹配”。Find All 必须成功命中至少两个位置,否则 Ctrl+Shift+L 会静默失败(不报错、也不变光标)。
排查要点:
- 确认正则本身能匹配多处:在查找框里输入
\d+,点Find All,看状态栏是否显示类似5 matches in 1 file - 别用
^或$锚定单行模式,除非你明确只要整行是数字 - 中文混排时
\b失效,改用(? 替代 - 如果文件是
CSV或日志,先切Plain Text语法(Ctrl+Shift+P→Set Syntax: Plain Text),避免高亮插件干扰换行符识别
多光标选中后复制,怎么避免带空行或多余空格?
直接 Ctrl+C 会把每行末尾的换行符和前后空白一起复制进来,粘贴到 Excel 或脚本里容易错位。
推荐两步清理:
- 复制前先执行
Ctrl+Shift+P→ 输入Remove Empty Lines,删掉所有空行 - 粘贴后立刻
Ctrl+H,启用正则,查找^\s+|\s+$,替换为空 —— 这能清除每行首尾不可见空白(包括全角空格\u3000) - 如果数值含前导零(如
00123),Excel 会自动转成123;粘贴前在 Excel 对应列设为“文本格式”,或在 Sublime 里每行前加单引号'
跨文件提取数字,为什么 Ctrl+Shift+F 的结果不能直接多光标编辑?
Ctrl+Shift+F 的结果页是只读视图,不是可编辑缓冲区。它不支持 Ctrl+Shift+L 或任何光标操作 —— 这是 Sublime 的设计限制,不是你操作错了。
正确路径只有两条:
- 把结果页内容
Copy All→ 新建标签页 →Ctrl+H用正则^[^:\n]+:\d+:\s*(.*?)(?=\n|$)提取冒号后内容 → 再对新文本做Find All + Ctrl+Shift+L - 或者放弃结果页,改用终端:
grep -oE '\b-?[0-9]+(,[0-9]{3})*(\.[0-9]+)?([eE][+-][0-9]+)?\b' ./data/**/*.log | sort -n | uniq -c,更稳且可管道处理
真正容易被忽略的是:Sublime 的多光标本质是“编辑行为”,而 Find in Files 是“索引行为”——两者底层数据模型不同,强行桥接只会卡顿或漏数据。

















