Sublime怎么多行编辑 Sublime怎么使用多光标操作【效率】

6次阅读

多行同一列加光标需按住alt(win/linux)或option(macos)后鼠标拖出竖直矩形区域;ctrl+shift+l可为每行末尾添加光标,home键移至行首;ctrl+d实现增量选择变量名,esc可退出多光标模式。

Sublime怎么多行编辑 Sublime怎么使用多光标操作【效率】

怎么在多行同一列位置加光标(列选择模式)

这是处理对齐数据最直接的方式,比如给 10 行变量名统一加 const 前缀,或从日志里批量删掉时间戳那一列。

按住 Altwindows/Linux)或 Option(macOS),再用鼠标从上到下拖出一个竖直矩形区域——松开后,每行对应列位置都会有一个光标。

  • 拖动时尽量对齐空格或冒号等分隔符,否则光标会错位;如果某行太短,光标会停在行尾,不继续向下
  • 别用鼠标左键单击后拖动,那会触发普通选中;必须按住 Alt 再拖
  • 键盘替代法:Ctrl+Shift+L 拆出每行末尾光标后,再按 Home 跳到行首,就能模拟“列首对齐”效果

怎么批量改多个相同变量名(Ctrl+D 增量选择)

重命名函数、替换配置项、统一字段名,本质是“先定位再同步输入”,Ctrl+D 是最常用路径。

把光标放在一个 user_id 上,双击选中它,然后反复按 Ctrl+D:第一次选中当前词,第二次选中下一个 user_id,第三次再下一个……每次都会新增一个光标和选区。

  • 遇到不想改的(比如字符串里的 "user_id"),按 Ctrl+K 再按 Ctrl+D 跳过当前匹配
  • 默认只匹配完整单词;若想连 user_id_field 里的 user_id 也选中,得先关掉 match_whole_word 设置,或改用 Ctrl+F → 输入 user_idAlt+Enter
  • 误按太多次?按 Esc 立刻退出多光标,只剩最后一个光标,比全删重来快

怎么给每行末尾/开头加内容(Ctrl+Shift+L 拆行光标)

处理 CSV、json 字段列表、日志条目时高频使用。例如给 5 行 sql 插入语句每行末尾都加个逗号,或每行开头补 # 注释。

先用鼠标或 Ctrl+Shift+↑/↓ 选中这 5 行,再按 Ctrl+Shift+L ——立刻在每行末尾生成一个光标。

  • 光标默认落在行尾换行符前,所以输入 , 就真加在末尾;但如果你要加在行首,得先按 Home,所有光标才会跳到各自行首
  • 该操作不可逆:一旦执行,原始选区就没了;如果只是想“复制多行再分别粘贴”,别用它,改用命令面板输入 Split Selection into Lines
  • 如果原行有缩进,Home 会跳到缩进起点而非真正行首;此时可先按 Ctrl+Shift+P → 输入 Align Indent 或手动 Shift+Tab 清缩进再操作

为什么光标突然只剩一个了(多光标失效的典型原因)

这不是 bug,是 sublime 的保护机制:它只允许所有光标执行完全一致的操作。只要出现一点不一致,就会自动合并为单光标。

  • 你在两个光标位置分别输 ab,松手瞬间就只剩一个光标
  • 按方向键(←/→)时,某光标已到行首/行尾而停止,其余继续移动,造成错位;建议改用 Ctrl+→(跳词)代替单字符移动
  • 弹出命令面板(Ctrl+Shift+P)时,所有多光标会被临时冻结;关掉面板后不会恢复——必须重新添加
  • drag_text 设置为 true(默认开启)时,Ctrl+Click 可能拖动文本而非加光标;需在设置中明确写 "drag_text": false

最隐蔽的问题是:你以为光标还在,其实早已被合并。养成习惯——动手前先确认光标数量,或按 Esc 清一下再重来。

text=ZqhQzanResources