Home/End在多光标下不可靠,应改用←→键精准移至物理行首行尾;Ctrl+Shift+L后光标默认落于行尾,Home行为受缩进、软换行等影响,←键始终逐字符移动最稳定。

Home/End 在多光标下不可靠,别依赖它跳转行首行尾;用 ← 和 → 键才是物理位置最稳的路径。
Ctrl+Shift+L 后按 Home 为什么经常失效
因为 Ctrl+Shift+L 默认把光标放在每行末尾(即换行符前),但 Home 的行为受缩进、软换行、空格数量影响:有 4 个空格缩进时,第一次 Home 停在第 1 列(缩进起点),第二次才到真正行首;开了 word_wrap 时,Home 可能跳到视觉行首而非物理行首。更糟的是,Vintage 模式下 Ctrl+Shift+L 被重映射为「选中到行尾」,根本不会生成多光标。
- 确认是否启用了 Vintage 模式:菜单 View → Syntax → Vintage,若已勾选,关掉再试
- 想统一到物理行首,直接按
←(左箭头)——它始终向左移动一个字符,不管缩进或空格 - 空行也会被赋予光标,
←会停在行首(即换行符前),输入内容后变成//\n,如需跳过空行,提前用正则^\s*$过滤
加行尾内容时 End 键总卡在空格上
End 默认停在“非换行符前最后一个可见字符”,如果某行结尾是多个空格或 Tab,光标就停在空白处,导致你输的 ; 或 , 加在空白之后,破坏对齐。这不是 bug,是设计逻辑。
- 安全做法:先用正则查找
\s*$,替换为空(即清理行尾空白),再按End,光标就会准确落在换行符前 - 如果只是临时补符号,用列选择更可控:按住
Alt+Shift(Win/Linux)或Option+Shift(macOS)垂直拖动,选中所有目标行的行尾列,再输入 - 注意:列选择状态下方向键和
Ctrl+D无效,必须先按Esc退出才能切回多光标模式
为什么 Ctrl+Click 加不了光标
最常见原因是设置里 drag_text 为 true,此时 Ctrl+Click(Win/Linux)或 Cmd+Click(macOS)触发的是文本拖动,不是添加光标。
- 打开 Preferences → Settings,在右侧用户设置中显式添加:
"drag_text": false - 点击时要先松开
Ctrl/Cmd再点,按住不放容易拖出选区 - 软换行(
word_wrap)开启时,同一逻辑列可能被拆到不同物理行,导致点偏——临时关闭 View → Word Wrap 更准 - 远程桌面或中文输入法(如搜狗、微软拼音)常劫持
Alt+Shift组合,可改用命令面板:Ctrl+Shift+P→ 输入Column Selection手动开启
真正卡住人的不是快捷键记不住,而是光标加在了看不见的空格上、缩进里、或注释中——多光标本质是位置叠加,不是语义理解。每次加完光标,花半秒扫一眼状态栏右下角是否显示 read only,再看光标是否真落在你要改的那个字符左侧,比反复撤销重来快得多。


















