sublime如何快速选中当前单词的所有出现位置?

9次阅读

Alt+F3(win/linux)或Ctrl+Cmd+G(macos)可全选当前单词所有精确匹配项,严格区分整词,支持手动选中后匹配任意字符串;Ctrl+D逐个添加更可控,适合跳过干扰项;查找框中Alt+Enter/Cmd+Ctrl+G为备选方案;需注意语义误匹配及修改前备份。

sublime如何快速选中当前单词的所有出现位置?

直接按 Alt+F3windows/Linux)或 Ctrl+Cmd+GmacOS)即可全选当前单词所有匹配项

这是最干脆、最无脑的方案:光标停在任意单词上,不选中、不复制、不搜索,直接敲快捷键,所有完全相同的词立刻被高亮并放置编辑光标。适合变量重命名、统一替换固定字符串等场景。

  • 如果光标在 user_id 上,按 Alt+F3 后,全文所有 user_id 都会变成可编辑状态;但 user_id_olduser_id_ 不会被误选——它严格匹配整个单词(受“Whole word”模式影响,见下文)
  • 若已手动选中一段文本(比如带空格或符号的 "status": "active"),再按 Alt+F3,则会匹配该完整字符串,不限于“单词”
  • 常见错误:按了没反应 → 检查是否开启了 whole word 模式(查找面板右下角有 W 图标),若想匹配子串(如所有含 id 的词),需先按 Alt+W 关闭整字匹配

Ctrl+DCmd+D)逐个添加更可控,适合跳过干扰项

当你知道目标词出现很多次,但中间夹着几个不该改的(比如日志里的 Error 和代码里的 error),Ctrl+D 能让你“看得到才加”,避免误操作。

  • 第一次按 Ctrl+D:选中光标所在词
  • 第二次按:向下找下一个完全相同词并加入选区
  • 想跳过当前高亮项?先按 Ctrl+K,再按 Ctrl+D,它会自动略过这一处,继续找下一个
  • 反悔了?按 Ctrl+U 撤回上一次添加;按 Esc 退出多选模式
  • 注意:它只从光标位置开始往下找,不会向上匹配;如果要从顶部重新来,把光标移到文件开头再试

搜索框里按 Alt+Enter(Windows/Linux)或 Cmd+Ctrl+GmacOS)是备选路径

当记不清快捷键,或需要先确认匹配范围时,走查找流程反而更稳妥——尤其涉及正则、大小写敏感等条件时。

  • Ctrl+F 打开查找框,输入目标词(如 api_url
  • 点击右下角图标切换选项:Alt+C 开关大小写敏感,Alt+W 开关整字匹配,Alt+R 开关正则
  • 确认无误后,按 Alt+Enter(Win/Linux)或 Cmd+Ctrl+G(Mac)→ 全部高亮并置入光标
  • 陷阱:如果查找框里是空的却按了 Alt+Entersublime 会尝试匹配“空字符串”,结果是每行开头都加一个光标,容易卡死,务必先输内容

别忽略“上下文语义”带来的误匹配风险

Sublime 默认的“相同词”匹配是纯文本比对,不理解语法结构。比如在 js 中选中 dataAlt+F3 会同时选中变量名、对象属性、字符串内容甚至注释里的 data,而 ide 的“重命名”功能则能识别作用域

  • 安全做法:先用 Ctrl+Shift+P 调出命令面板,输入 Find in FilesCtrl+Shift+F),限定范围为 *.js 文件,预览匹配结果再动手
  • 进阶技巧:配合 Ctrl+Shift+M 先选中一对括号内全部内容,再按 Ctrl+D,可只在该作用域内批量选中局部变量
  • 真正容易被忽略的一点:修改前务必 Ctrl+Z 留退路,因为多光标编辑一旦触发,撤销是全局生效的,不是单个光标撤回
text=ZqhQzanResources