列选择模式下加注释符需按住Alt(Win/Linux)或Option(macOS),鼠标垂直拖拽选定目标列位置生成多光标,松手后直接输入//或#即可同步插入;该方式不依赖语法识别,适用于Plain Text等Ctrl+/失效场景,但需警惕误删字符或干扰字符串/正则字面量。

列选择模式下怎么加注释符?不是Ctrl+/,而是Alt+拖拽
Sublime 的 Ctrl+/ 不会响应列选择区域,它只认「整行」或「选中文本块」。想在几行中间统一加 // 或 #(比如调试日志前插标记),必须用列选择+手动输入:Windows/Linux 按住 Alt,macOS 按住 Option,鼠标从第一行目标列(如缩进后第1列)垂直拖到最后一行同列,松手即生成多个光标,直接输入 // 就同步出现。
为什么列选择比多行选中更可靠?它不依赖语法识别
列选择完全绕过 Sublime 的语法解析机制,所以不会因右下角显示 Plain Text 失效,也不怕折叠区域、空行、缩进不齐或字符串内干扰。常见场景包括:
- 在 Python 文件里给 5 行
print()前统一加#,但文件被误识别为纯文本,Ctrl+/完全没反应 - Vue 单文件组件的
<script>块里,部分行已折叠,Ctrl+Shift+/拒绝操作,列选择照常生效 - YAML 配置节中混有注释和键值对,想只在某几行末尾加
# debug,列选择可精准定位到冒号后空格处
列选择后按 Backspace 或 Delete 会怎样?小心删错位置
列选择插入的是多个独立光标,每个光标都处于相同列偏移。如果该列在某些行是空白、某些行是代码字符,Delete 会逐个删除对应位置的字符,可能破坏缩进或语句结构。例如:
- 在缩进 4 空格后的列选择区域按
Delete,可能把console.log(1);变成nsole.log(1); - 想删掉所有行开头的
//,但某行是// comment(2空格+//),另一行是// init(0空格),列选择无法对齐,强行删会错位 - 真正安全的做法是:列选择后先按
Home跳到行首,再用Ctrl+→移动到第一个非空白字符前,确认光标列一致后再输入
列选择 + 正则替换能组合出什么?追加行尾注释最稳
列选择适合“固定列插入”,但若目标是每行末尾加内容(如 // auto),用正则更准:
- 打开替换面板
Ctrl+H - 开启正则模式(点左下角
.*图标) - 查找框填
$(锚定行尾) - 替换框填
// auto,点Replace All - 注意:如果文件含 DOS 换行符(
\r\n),$仍能匹配,不会吞掉\r;但若误开. matches newline,.*$可能跨行,必须关掉
列选择本身不带智能判断,它只是把鼠标框出来的矩形区域映射成光标阵列。最容易被忽略的是:它不区分语法上下文,"//" 字符串里的斜杠、正则字面量 /a\/b/ 中的 /,都会被无差别加上新符号——操作前得肉眼扫一遍关键行。

















