多行同一列加光标需按住alt(win/linux)或option(macos)后鼠标拖出竖直矩形区域;ctrl+shift+l可为每行末尾添加光标,home键移至行首;ctrl+d实现增量选择变量名,esc可退出多光标模式。

怎么在多行同一列位置加光标(列选择模式)
这是处理对齐数据最直接的方式,比如给 10 行变量名统一加 const 前缀,或从日志里批量删掉时间戳那一列。
按住 Alt(Windows/Linux)或 Option(macOS),再用鼠标从上到下拖出一个竖直矩形区域——松开后,每行对应列位置都会有一个光标。
- 拖动时尽量对齐空格或冒号等分隔符,否则光标会错位;如果某行太短,光标会停在行尾,不继续向下
- 别用鼠标左键单击后拖动,那会触发普通选中;必须按住
Alt再拖 - 键盘替代法:
Ctrl+Shift+L拆出每行末尾光标后,再按Home跳到行首,就能模拟“列首对齐”效果
怎么批量改多个相同变量名(Ctrl+D 增量选择)
重命名函数、替换配置项、统一字段名,本质是“先定位再同步输入”,Ctrl+D 是最常用路径。
把光标放在一个 user_id 上,双击选中它,然后反复按 Ctrl+D:第一次选中当前词,第二次选中下一个 user_id,第三次再下一个……每次都会新增一个光标和选区。
- 遇到不想改的(比如字符串里的
"user_id"),按Ctrl+K再按Ctrl+D跳过当前匹配 - 默认只匹配完整单词;若想连
user_id_field里的user_id也选中,得先关掉match_whole_word设置,或改用Ctrl+F→ 输入user_id→Alt+Enter - 误按太多次?按
Esc立刻退出多光标,只剩最后一个光标,比全删重来快
怎么给每行末尾/开头加内容(Ctrl+Shift+L 拆行光标)
处理 CSV、JSON 字段列表、日志条目时高频使用。例如给 5 行 SQL 插入语句每行末尾都加个逗号,或每行开头补 # 注释。
先用鼠标或 Ctrl+Shift+↑/↓ 选中这 5 行,再按 Ctrl+Shift+L ——立刻在每行末尾生成一个光标。
- 光标默认落在行尾换行符前,所以输入
,就真加在末尾;但如果你要加在行首,得先按Home,所有光标才会跳到各自行首 - 该操作不可逆:一旦执行,原始选区就没了;如果只是想“复制多行再分别粘贴”,别用它,改用命令面板输入
Split Selection into Lines - 如果原行有缩进,
Home会跳到缩进起点而非真正行首;此时可先按Ctrl+Shift+P→ 输入Align Indent或手动Shift+Tab清缩进再操作
为什么光标突然只剩一个了(多光标失效的典型原因)
这不是 Bug,是 Sublime 的保护机制:它只允许所有光标执行完全一致的操作。只要出现一点不一致,就会自动合并为单光标。
- 你在两个光标位置分别输
a和b,松手瞬间就只剩一个光标 - 按方向键(←/→)时,某光标已到行首/行尾而停止,其余继续移动,造成错位;建议改用
Ctrl+→(跳词)代替单字符移动 - 弹出命令面板(
Ctrl+Shift+P)时,所有多光标会被临时冻结;关掉面板后不会恢复——必须重新添加 -
drag_text设置为true(默认开启)时,Ctrl+Click可能拖动文本而非加光标;需在设置中明确写"drag_text": false
最隐蔽的问题是:你以为光标还在,其实早已被合并。养成习惯——动手前先确认光标数量,或按 Esc 清一下再重来。










