Ctrl+D选不全目标变量是因为它严格匹配完整单词且区分大小写,需双击选中完整变量名、关闭大小写敏感(Ctrl+Alt+R)、跳过干扰项按Ctrl+K再Ctrl+D。

多光标不是“开个模式就能随便改”,它是一套依赖精准触发、严格上下文和手动预判的编辑机制——用错一步,光标全丢,改错地方,还得重来。
Ctrl+D 选不中目标变量?先看选区和大小写
双击选中 user_id 后按 Ctrl+D 却跳过了某处,大概率是匹配被默认规则拦住了:它只认完整单词边界(\b),且默认开启大小写敏感和空格/符号分隔。
- 想匹配
USER_ID和user_id?按Ctrl+Alt+R关掉大小写敏感 - 想跳过字符串里的
"user_id"?别松手,先按Ctrl+K,再按Ctrl+D,当前项被跳过,光标留在原位 - 双击选词比拖选更稳——拖选容易带入空格或换行符,导致后续
Ctrl+D匹配失败
Ctrl+Shift+L 光标歪了?它根本不负责对齐
Ctrl+Shift+L 的作用只是把当前选区按换行符切开,在每行末尾放一个光标。它不管缩进、不看对齐、也不识别语义——所谓“错位”,是你把它当成了对齐工具。
- 想让所有光标统一到行首?主光标先按
Home(不是←),所有光标同步跳到各行开头(含缩进);再按一次Home,跳过缩进落到真正行首 - 要加前缀(如
//)?别用Ctrl+Shift+L,改用列选择:Shift+Alt垂直拖动(Win/Linux)或Shift+Cmd(Mac),拖完直接输,所有行对应列位置同步生效 - 误拖没选中最后一行的换行符(
\n)?Ctrl+Shift+L就只生成一个光标。安全做法:先用Ctrl+L连续选中多行,再按Ctrl+Shift+L
鼠标点不出光标?drag_text 在后台抢操作权
按住 Ctrl(Win/Linux)或 Cmd(Mac)点击没反应,甚至拖动了文本——这不是手速问题,是 Sublime 默认开启了 drag_text,系统优先执行拖动而非加光标。
- 必须关掉:打开
Preferences → Settings,在用户设置里加一行:"drag_text": false - 点击位置很关键:避免点在已有选区边缘、单词中间或空行缩进处;优先点行首、行尾或纯空格位置
- 远程桌面或某些键盘布局下,
Alt+Tab可能拦截Alt+拖动,可改用命令面板:Ctrl+Shift+P→ 输入Column Selection手动开启
Find All 不出光标?它根本不是“一键多光标”
Find All 不会自动加光标,它只是把所有匹配项选中并置入多光标状态——前提是搜索范围、正则语法、操作步骤全部正确。
- 先确认是否勾选了
.*(正则模式)和Aa(大小写敏感按需),再输入正则表达式 - 点
Find All,不是Replace或Replace All——后者会直接替换,不生成光标 - 正则里用了
^或$却不匹配?检查是否勾选了In Selection,或者当前文件有折叠区域挡住了匹配位置 - 匹配后按
Delete会删掉所有光标位置的内容,但若某处是字符串字面量(如"user_id"),也会被误删——建议先Esc退出多光标,用Ctrl+F确认上下文
最常被忽略的复杂点:多光标本身无上下文判断能力,它只是同步执行键盘输入。你输什么,它就在所有光标位置贴什么——哪怕其中一处是注释、一处是字符串、一处是函数名,它也照贴不误。所以每次触发前,必须肉眼扫一遍高亮范围,而不是依赖“它应该懂”。

















