Sublime多行编辑依赖快捷键实时叠加光标,非模式化操作;Ctrl+Shift+L按换行符切选区生成光标,需确保选区含\n;Ctrl+D严格匹配完整词边界,须注意大小写与选中状态;Alt+拖拽为矩形列选,需等宽字体且关闭软换行。

Sublime 的多行编辑不是“开启一个模式”,而是靠快捷键实时叠加光标——按错顺序、选区不完整,光标根本不会出现。
Ctrl+Shift+L 为什么只生成一个光标
这个命令本质是把当前选区按换行符切片,每片末尾放一个光标。它完全不认“你看起来选了多行”,只认选区里有没有 \n。
- 鼠标拖选时没覆盖到行尾换行符(比如松手早了),Sublime 就当它是单行选区
- 空行被选中,光标会落在空行开头,而非行尾;想补内容得先按
End - 安全做法:先用
Ctrl+L(连续按)选中目标行,再按Ctrl+Shift+L,100% 拆成多光标 - 如果选区含缩进空格,光标就停在缩进位置,一输字母所有行都右移——看着对齐,实际错位
Ctrl+D 连续按却跳过了目标词
Ctrl+D 不是模糊搜索,它严格匹配当前光标所在词的完整边界和大小写。
- 没选中任何东西就按
Ctrl+D,Sublime 会自动双击取词——光标停在user_name中间,可能只取到_name,后续全错 - 想匹配子串(比如在
username_input里也命中user),得先关掉match_whole_word,或手动双击选中user再按 - 遇到不想改的地方(如字符串里的
"user_id"),按Ctrl+K再按Ctrl+D跳过 - 按太快或中间停顿太久,Sublime 可能判定为两次独立操作,漏掉某次匹配
Alt+拖拽列选择 vs Ctrl+Click 手动加光标
两者都出多光标,但底层机制完全不同,不能混用。
-
Alt+拖拽(Windows/Linux)是矩形列选,要求各行对应列有字符;Cmd+Option+拖拽(macOS)同理。它不识别单词、不跳空行,适合对齐日志时间戳或 CSV 头部 -
Ctrl+Click(Windows/Linux)或Cmd+Click(macOS)是纯坐标点添加,不依赖文本内容,适合改分散的变量名或函数参数 - 列选择在软换行(
soft_wrap)开启时容易误点,建议临时关闭:View → Word Wrap - 如果字体不是等宽,
Alt+拖拽会错位——列编辑必须用等宽字体(如Monaco、Consolas)
Esc 清光标后为什么还有残留?
Esc 只清除多光标状态,但不会撤销你刚输入的内容。更麻烦的是,某些操作不可逆:
-
Ctrl+Shift+L一执行,原始选区就没了;如果只是想复制多行再分别粘贴,别用它,改用命令面板搜Split Selection into Lines - 光标不同步时(比如某行卡在行尾、某行停在中间),Sublime 会自动合并光标;此时按
Ctrl+U(Win)或Cmd+U(Mac)可逐次撤回最近添加的光标 - 如果
Ctrl+Click没反应,检查用户设置里是否关掉了drag_text:必须设为false,否则点击会拖动文本而非加光标











