Ctrl+D 是递进式选中相同单词的下一个匹配项,需光标位于单词内;双击+Ctrl+Alt+G(Win/Linux)或 Ctrl+Cmd+G(macOS)才全选所有匹配,支持语法感知与大小写/正则控制。

Ctrl+D 连续按是核心操作,但得知道它到底在选什么
Sublime Text 的 Ctrl+D 不是“选中所有相同单词”,而是“选中当前光标所在词的下一个匹配项”,逐次累加。很多人按一次没反应,其实是光标没落在单词内部(比如停在空格或标点上),或者当前词太短、被当作独立 token 处理(如 a、i 在某些语法高亮下不触发)。
实操建议:
- 确保光标完全落在目标单词字母范围内,用方向键微调比鼠标点击更稳
- 第一次按
Ctrl+D会选中当前词;再按一次,会跳到文档中下一个相同词并选中(不跨行跳转,但会绕过注释/字符串内匹配,取决于当前 syntax) - 如果想跳过某个匹配,按
Ctrl+K再按Ctrl+D可跳过当前高亮项,继续找下一个 - 选中多个后,输入任意字符会同时替换全部——这是批量编辑的前提,不是“选中即完成”
双击单词 + Ctrl+Cmd+G(macOS)或 Ctrl+Alt+G(Windows/Linux)才是真·全选
这个组合键才是真正触发“Select All Occurrences”的动作,和 Ctrl+D 的递进式选择逻辑不同。它基于当前已选内容(哪怕只双击了一个词),一次性找出全文所有匹配,并全部高亮可编辑。
常见错误现象:
- 按了没反应?检查是否已先选中一个完整单词(双击最可靠),不能只靠光标悬停
- 漏选?默认不区分大小写,但若当前文件有
word和Word,它们会被视为不同项;需要手动开启大小写敏感:先按Alt+F3调出快速查找,勾选Match Case,再执行Ctrl+Alt+G - 正则干扰:如果当前启用了正则搜索(右下角显示
.*),Ctrl+Alt+G会按正则匹配,而不是纯文本——务必确认状态栏没有激活正则模式
正则替换前先用 Alt+F3 预览,避免误伤注释和字符串
批量改变量名或函数调用时,直接 Ctrl+H 全局替换风险极高。Sublime 的 Alt+F3 是安全边界:它只高亮当前视图中所有匹配,不自动替换,且支持语法感知过滤(比如跳过引号内或注释块,取决于 syntax package 是否实现 scope 排除)。
使用场景与参数差异:
- 改 JS 中的
user_name→userName?先Alt+F3看高亮是否包含"user_name"字符串——如果包含,说明未启用 word boundary,应把查找框改成\buser_name\b - 想排除注释?在
Alt+F3框中输入后,按Enter,再按Esc退出查找,此时高亮仍保留;接着按Ctrl+Shift+L把每个匹配转为独立光标,手动删掉不需要改的几处(比如某行末尾的// user_name) - 性能影响:全文含 10 万行时,
Alt+F3响应略慢,但比Ctrl+H误替换后 Ctrl+Z 撤销几十步更省时间
多行编辑冲突时,Ctrl+Shift+P → “Split into Lines” 更可控
当用 Ctrl+Alt+↑/↓ 添加多行光标后,如果各行列数不一致,直接输入容易错位。这时别硬敲,用命令面板切分更稳。
比如处理 CSV 数据、日志行或 HTML 属性列表:
- 先选中所有目标行(
Ctrl+L逐行选,或鼠标拖选) - 按
Ctrl+Shift+P,输入Split into Lines回车,每行变成独立光标,且垂直对齐(即使原行长短不一) - 此时按
Home或End可统一跳到行首/行尾;输入内容会严格按行生效,不会因缩进差异导致偏移 - 注意:该命令不适用于折叠代码块内,展开后再操作;另外,若某行为空,
Split into Lines后光标会落在行首而非行中,需手动调整
id 在 CSS 里是选择器,在 HTML 里是属性,在 JS 里可能是变量——语法高亮引擎会悄悄帮你过滤,但你得意识到它正在这么做。










