列选择复制要求文本严格对齐:需统一缩进为空格、关闭自动换行与折叠;列选后必须手动ctrl+c,否则剪贴板不更新;复制顺序按文件中行物理位置自上而下,非拖拽方向或点击顺序。

列选择复制只适用于对齐文本,缩进不一致就失效
Sublime 的 Alt+鼠标拖拽(Windows/Linux)或 Option+鼠标拖拽(macOS)复制出来的不是“多列”,而是一个矩形块——它依赖每行在屏幕上的字符列严格对齐。一旦某行用 Tab、另一行用 4 个空格,或某行有折叠/软换行,列边界就会静默偏移,复制结果错位且难以察觉。
实操前务必:
- 执行 Ctrl+Shift+P → 输入 Convert Indentation to Spaces 统一缩进
- 再执行 Ctrl+Shift+P → 输入 Set Indent Width: 4(按需设为 2 或 8)
- 关闭 View → Word Wrap,展开所有折叠(Ctrl+K → Ctrl+J)
复制操作必须分两步:列选 + 敲 Ctrl+C,不能跳过
很多人拖完就松手,以为灰色矩形已“选中”,其实那只是临时选区,没触发复制。列选后必须手动按 Ctrl+C(Windows/Linux)或 Cmd+C(macOS),否则剪贴板内容不会更新。
常见错误现象:
- 拖完直接 Ctrl+V,粘出来是上次复制的内容
- 列选跨空行,松手后只有部分行被框住,Ctrl+C 只复制了其中几行
- 鼠标拖拽时横向偏移稍大,Sublime 当作普通文本选择,复制的是斜向片段而非矩形
剪贴板内容顺序 = 列选时从上到下的行序,不是点击顺序
列选择复制的顺序完全由你拖拽框出的行在文件中的物理位置决定:最上面一行对应剪贴板第一行,依次向下。这和 Ctrl+点击 添加光标的顺序无关,也和你拖拽方向(从上往下 or 从下往上)无关。
这意味着:
- 如果你想让第 10 行内容出现在剪贴板第一行,就得把列选框的顶部对准第 10 行
- 复制后粘贴到其他工具(如 Excel、终端),换行符会保留,但制表符可能被误解析——建议先粘到纯文本编辑器里验证格式
- 若列选区域含部分字符(比如只框中每行第 5–12 列),Ctrl+C 复制的就是这些字符,不含行首/行尾空白,也不自动补换行符
别信“列选后自动多行粘贴”的直觉,行数不匹配就丢内容
列选择复制本身不校验目标环境是否接受多行。如果你复制了 3 行内容,却粘贴到只支持单行输入的对话框里,通常只会显示第一行;粘贴到 Sublime 自身时,若当前光标不在行首、或已有非整行选区,Ctrl+V 可能只插在光标位置,破坏原有结构。
最稳验证方式:
- 复制后,新建一个空标签页,按 Ctrl+V —— 看是否原样呈现为多行纯文本
- 若出现合并成一行、或字段挤在一起,说明剪贴板含不可见分隔符(如 Excel 复制带的 \t),需先清洗
- 对齐文本中混有 Unicode 字符(如中文、emoji)时,列宽计算可能失准,建议先用 Ctrl+Shift+P → Convert Line Endings to Unix 统一换行符
真正容易被忽略的,是列选择动作本身没有状态记忆——松开鼠标那一刻,选区就固定了。后续任何点击、滚动、命令都会清空它。想重试?得重新 Alt+拖拽,而不是按 Esc 后接着操作。











