sublime text高效编辑核心是ctrl+d(逐个选同名变量)、ctrl+shift+l(多行光标)和ctrl+p(模糊搜文件)三大组合;需注意word_separators设置、选区范围及匹配逻辑。

Ctrl+D 选词不是“点一下就全选”,得看光标在哪
光标停在变量名中间、开头或结尾,Ctrl+D行为一致:只匹配完整单词(默认开启 word_separators)。但如果你双击选中了 user_id 再按 Ctrl+D,它会严格按当前选中范围去匹配——哪怕你只想改前缀 user_,它也不会自动扩展到 user_name。常见错误是直接把光标放在缩写词上连按,结果跳过了带下划线或驼峰的变体。
实操建议:
- 想改所有同名变量?先双击选中一个完整标识符,再按
Ctrl+D逐个加;中途想跳过某处,按Ctrl+K再按Ctrl+D - 要一次性选中全部?用
Alt+F3(Windows/Linux)或Cmd+Ctrl+G(macOS),比连按更稳 - 注意
"word_separators"设置:如果项目里大量用user-id这类短横命名,需在 Settings 中删掉-,否则Ctrl+D会把它当两个词
Ctrl+Shift+L 拆行光标,但前提是你真选中了“多行”
Ctrl+Shift+L 不是“按了就有多个光标”,它只对已有换行符的选区生效。比如你用鼠标从第3行拖到第7行末尾(含换行符),再按 Ctrl+Shift+L,每行末尾会出现光标;但如果拖到第7行中间就松手,它只会把那一行拆成多个光标位置,毫无意义。
实操建议:
- 最稳做法:先按
Ctrl+L选中第1行 → 再按Ctrl+L加第2行 → 继续按直到覆盖目标范围,最后按Ctrl+Shift+L - 列编辑更直接:按住
Alt(Windows/Linux)或Cmd+Shift(macOS),鼠标垂直拖拽出矩形选区,松手即同步编辑 - 别在启用了
drag_text的情况下尝试列选——它会让鼠标一碰就拖动整块文本,应设"drag_text": false
Ctrl+Shift+M 选括号内容,嵌套层数决定你能删多少
Ctrl+Shift+M 不是“一键选函数体”,它只选当前光标所在括号对内的全部内容(含嵌套),但不会跨层级。比如光标在 if (a && (b || c)) { ... } 的外层 { 上,它只选 { ... };若光标在内层 (,就只选 (b || c)。很多人误以为它能智能识别作用域,结果删完发现只清了条件表达式。
实操建议:
- 想选整个函数?把光标移到函数名后空格处,按
Ctrl+M跳到匹配{,再按Ctrl+Shift+M - 删 JSON 字段值时小心:光标在
"name": "Alice"的引号内,Ctrl+Shift+M只选引号内字符串;必须把光标移到冒号后、值前的空白处,才能选中整个值 - 配合
Ctrl+Shift+[折叠后再操作,视觉干扰少,误操作概率低
Ctrl+P 模糊搜索文件,输错三个字母照样能命中
Ctrl+P 的匹配逻辑是子序列(subsequence),不是子串。输 setjson 能命中 settings.json,输 mainpy 能命中 src/main.py,甚至输 mnpy(漏掉 a 和 .)也常能排第一。但它不区分大小写,也不索引未打开的文件夹外文件——这点容易被忽略。
实操建议:
- 路径太深?输完关键词后按
→键预览内容(需开启"preview_on_click": true),避免点开错误文件 - 项目里有同名文件(如多个
index.js)?输完后用↓键切换,路径会实时显示在底部 - 刚删了一个文件又想找回?
Ctrl+Shift+T恢复关闭标签页,但仅限于"remember_open_files": true生效时才管用
Ctrl+D、Ctrl+Shift+L、Ctrl+P。其他都是锦上添花。











