Ctrl+Click只加一个光标是因为它是“点哪加哪”的单点叠加机制,需先确保"drag_text": false、关闭软换行,并在无选区状态下按住Ctrl后精准点击目标位置。

Ctrl+Click 为什么只加了一个光标?
因为 Ctrl+Click(Windows/Linux)或 Cmd+Click(macOS)是“点哪加哪”,不是“选中后批量加”。如果鼠标拖选了一段文本再点,Sublime 只会在点击位置新增一个光标,原有选区直接被取消。
真正生效的前提是:光标已存在(比如在某行开头),按住 Ctrl 后用鼠标精准点击其他行的任意位置——每点一次,就多一个独立光标。适合不规则分布的目标位置,比如第2、第7、第15行末尾,或某几行的变量名中间。
- 必须关闭
drag_text:在 Preferences → Settings 中确认"drag_text": false,否则Ctrl+Click会变成拖动文本 - 软换行(Word Wrap)开启时,
Ctrl+Click可能误点到视觉上同一列但逻辑位置不同的地方,建议临时关闭(View → Word Wrap) - 光标叠加无上限,但超过 20 个后输入延迟明显,可分批操作
Alt+拖拽列选择 vs Ctrl+Shift+L:该选哪个?
Alt+拖拽(Windows/Linux)或 Option+拖拽(macOS)生成的是矩形块选区,光标落在你拖出的每个垂直列位置;而 Ctrl+Shift+L 是按换行符切片,光标默认落在每行末尾前——两者适用场景完全不同。
想在多行同一列插入内容(比如统一在第12列加 // 注释),用 Alt+拖拽;想在每行末尾追加相同字符串,用 Ctrl+Shift+L + End。
-
Alt+拖拽依赖等宽字体,非等宽字体下列对齐会偏移 -
Ctrl+Shift+L要求选区必须包含换行符,只选中文字不跨行,它就只生成一个光标 - 空行也会被
Ctrl+Shift+L处理,光标落在空行开头,容易漏输内容
Ctrl+Alt+↑/↓ 添加上下行光标,为什么有时加不上?
Ctrl+Alt+↑(Windows/Linux)或 Cmd+Option+↑(macOS)的作用是“在当前光标所在行的正上方或下方添加新光标”,不是“选中多行后一键铺满”。它只对已有光标起作用,且仅限相邻行。
常见失效场景:光标在第1行,按 Ctrl+Alt+↑ 没反应(上面没行);光标在缩进不一致的代码块里,新光标会落在不同列,看着错位。
- 连续按多次可逐行向上扩展,但无法跳过某行(比如只想加第3、第5、第8行)
- 若需跳着加,改用
Ctrl+Click手动点,或先用Ctrl+D匹配关键词再加光标 - 该快捷键对空行无效,遇到空行会停住
正则替换 $ 追加内容,为什么部分行没加?
查找框输入 $ 表示行尾,但 Sublime 默认的 $ 不匹配文件末尾换行符后的空行,也不匹配以 \r\n 结尾的 Windows 文件中某些边缘情况。
更稳妥的做法是开启“匹配换行符”选项(勾选 Replace 面板右下角的 . matches newline),或改用 \n 替换为 你的内容\n ——但这会把所有换行符替掉,慎用。
- 纯文本文件中,
$在最后一行末尾可能不生效,可手动在最后一行末尾补个换行再试 - 如果行尾有空格或制表符,
$仍会匹配,但输入内容会紧贴空白后,看起来像没加——建议先用正则[ \t]+$清理尾部空白 - 替换前务必用“查找全部”预览匹配行数,避免误操作
最易被忽略的一点:所有多光标操作都基于“当前光标位置或选区”,而不是文档结构。选区构建错了,后续一切都会偏——宁可多花两秒检查选区是否跨行、是否含换行符、是否含不可见字符,也别盲目按快捷键。

















