列选择时光标卡住本质是编辑器将“列选中态”误判为只读区域;需按→/←键退出选中态,或Ctrl+U清除多光标;Ctrl+Alt+↓按列号而非语义对齐,易因缩进不一偏移;补全属性应先Ctrl+F查<div再Ctrl+Shift+L转光标;加HTML注释推荐Ctrl+/智能包裹;批量修改前须双击精确选中目标词,避免模糊匹配干扰。

列选择时光标卡在矩形选区里输不了内容
本质是编辑器把“列选中态”当成了只读区域,而不是可插入的光标点。尤其 Windows 上中文输入法激活时,Alt + 鼠标拖动后松手,光标仍处于“高亮选中”状态,无法直接输入。
- 确认输入法已切回英文(搜狗、微软拼音常自动恢复中文状态)
- 松开鼠标后,立刻按一次
→或←键,强制退出选中态、进入插入态 - 若仍无效,先按
Ctrl + U清除所有多光标,再重试列选
Ctrl + Alt + ↓ 对不齐多行标签末尾
Ctrl + Alt + ↓ 是按“相同列号”向下加光标,不是按“标签结尾”对齐。一旦某行开头有注释、空格混用或缩进不一致,光标就偏移了。
- 更可靠的做法:先用
Ctrl + F查找<div,点“全部选中”,再按Ctrl + Shift + L把所有匹配位置转为光标 - 补全属性时直接输入(注意前面留空格),所有光标会自动落在各自标签末尾,无需对齐
- 必须用列操作前,先
Ctrl + A全选 →Ctrl + Shift + I统一缩进,再Alt + 鼠标拖动
给多行加 HTML 注释却漏掉最后一行的 -->
垂直拖选时,最后一行末尾可能没选中换行符位置,导致 --> 插入在行中而非行尾,破坏语法。
- 安全做法:选中目标多行 → 直接按
Ctrl + /(VS Code/HBuilderX 默认),它会智能包裹成<!-- ... --> - 手动补全时:先按
End键确保光标到每行末尾,再Alt + 鼠标拖动在所有行尾加光标,最后输入--> - 别用
Ctrl + Shift + L全局匹配<!--,否则已有注释头会被重复套一层
列选择后批量修改被干扰项带入
比如想给所有 id 属性加引号,但 Ctrl + D 却把 console.log('id') 里的 id 也选中了——因为编辑器默认按“光标所在词”模糊匹配,不是按“已选文本”精确匹配。
立即学习“前端免费学习笔记(深入)”;
- 正确姿势:先双击完整选中目标(如
id),再按Ctrl + D,编辑器会严格按所选文本找匹配 - 跳过当前项:按
Ctrl + K再按Ctrl + D - 提前预览:在设置里打开“高亮当前词语的所有匹配项”,一眼看清哪些行会被卷入
真正容易被忽略的是光标状态本身:它可能是“插入态”也可能是“选中态”,可能对齐列号也可能对齐语义边界——而输入法、缩进、编辑器模式这些因素,随时会悄悄把它从一个状态推到另一个。



















