Sublime列选择需手动激活,Windows/Linux按Alt+鼠标拖拽,macOS按Option键拖拽,或用Ctrl/Cmd+Shift+↑/↓扩展;列编辑失效多因缩进不齐,应先统一为空格并对齐;函数参数批量修改宜用正则匹配+多光标;删列空格推荐Column Editor插件精准操作。

Sublime 中列选择的三种触发方式
列选择不是默认开启的模式,得手动激活。最常用的是鼠标拖拽配合快捷键,但不同系统操作不同,容易按错。
Windows / Linux:按住 Alt 键不放,再用鼠标左键从上到下拖出矩形区域;
macOS:按住 Option(不是 Cmd)键拖拽;
通用键盘法:把光标放到起始位置,按 Ctrl+Shift+↑/↓(Windows/Linux)或 Cmd+Shift+↑/↓(macOS)可向上/向下扩展列选行数。
注意:如果拖完没反应,大概率是松开了 Alt 或 Option 太早,或者误触了触摸板导致光标偏移。
列编辑后输入内容只出现在部分行?
这是新手最常踩的坑——列选区域里有空行或缩进不齐,导致新输入的内容只落在“有字符”的列位置,其他行看似没变化。
解决办法:
• 先用 Ctrl+Shift+P(macOS 是 Cmd+Shift+P)调出命令面板,输入 Indentation: Convert Indentation to Spaces 统一缩进为空格;
• 再用 Ctrl+Shift+P 运行 Alignment: Align Lines(需提前装 Alignment 插件)对齐关键列;
• 如果只是想在每行开头加前缀(比如注释),建议先用 Ctrl+Shift+L 拆分多行为多个光标,再按 Home 跳到行首,避免依赖列选精度。
用正则替换配合列选择批量改函数参数
纯列选适合结构完全一致的文本块,但函数调用参数长度不一时,列选会错位。这时候得结合多光标和正则。
例如要把 foo(a, b, c)、bar(x, y) 全部改成带默认值的形式:
• 先用 Ctrl+F 打开查找,勾选 .*(正则模式),输入 \w+\(([^)]*)\);
• 点击 Find All,所有函数调用会被高亮并生成多光标;
• 按 → 移动到括号内,再按 Ctrl+Shift+→ 选中参数部分,直接输入新内容(如 $1, timeout=30);
• 若需保留原参数并追加,用 Ctrl+Shift+P 运行 Insert: Insert at Beginning of Line 类插件更稳。
列选择在这里只负责“定位”,真正批量修改靠的是多光标 + 精准光标跳转。
列选择后删不掉某几列的空格?
常见于处理 CSV 或日志对齐文本时,想删掉中间一列的空格,但删完发现有些行空格数不同,列选区域实际覆盖不全。
这时别硬删:
• 用 Ctrl+Shift+P 输入 Package Control: Install Package 装 Column Editor 插件;
• 选中目标列后,按 Ctrl+Shift+P → Column Editor: Delete Columns,它会按字符位置精确删除,不依赖视觉对齐;
• 如果只是想清空某列内容(留空但保留占位),用 Ctrl+Shift+P → Column Editor: Fill Columns with... 填空格也比手动删更可控。
列选择本质是“字符坐标框选”,不是“语义列识别”。对齐不准、混合制表符和空格、中文字符宽等于两个英文字符——这些都会让列选失效,得先标准化文本再操作。











