ctrl+shift+l后光标默认在行尾,需按←移至行首再补零;缩进不一致时home不可靠,←更稳;千行级补零首选正则^匹配行首替换。

Ctrl+Shift+L 后光标默认在行尾,不是行首
选中目标多行后按 Ctrl+Shift+L(Windows/Linux)或 Cmd+Shift+L(macOS),所有光标会落在每行换行符前——也就是**行尾**。此时直接输入 0,结果是每行末尾加 0,完全不是补零需求。必须立刻补按 ←(左箭头键),所有光标才会逐字符向左移动;连按多次或配合 Ctrl+Home(Win)/Cmd+Home(Mac)才能抵达真正行首。
缩进不一致时 Home 不可靠,用 ← 更稳
有缩进的行,Home 默认停在缩进起点(比如 4 个空格之后),再按一次才到绝对行首;若混用 Tab 和空格,Home 行为更不可预测。而 ← 始终向左移动一个字符,配合 Ctrl+Shift+L 是最可控的路径:
- 先统一缩进:按
Ctrl+Shift+P→ 输入Indentation: Convert to Spaces - 确保文件无 BOM:菜单
File → Save with Encoding → UTF-8 - 避免
Ctrl+A全选后操作——它会导致Home只作用于第一行
正则替换 ^ 是千行级补零的首选
处理几十行以上、或需跳过空行/已有前缀的场景,正则比多光标更安全高效:
- 打开
Ctrl+H(Win)或Cmd+H(Mac),务必点击右下角.*按钮启用正则模式 - 查找栏填
^,替换栏填0,点“全部替换”——^匹配位置,不删内容 - 只给非空行补零:
^(?=\S) - 跳过已以
0开头的行:^(?!0) - 混合换行符(
\r\n和\n)会导致漏匹配,先执行Ctrl+Shift+P → Set Line Endings: Unix
别用列选择(Alt+拖拽)补零
列选择依赖视觉对齐,只要某行缩进是 Tab、另一行是 4 个空格,光标就会错位,补出的 0 有的在缩进里、有的在真行首,参差不齐。它适合加固定列宽的后缀(如统一加 ;),不适合逻辑上的“行首”操作。真实补零场景(如日志编号、CSV 数字字段对齐)必须用 Ctrl+Shift+L+← 或正则 ^。











