alt+f3(windows/linux)或ctrl+cmd+g(macos)一键全选所有匹配项,适合确定性批量修改;ctrl+d(windows/linux)或cmd+d(macos)逐个添加选区,便于跳过干扰项、精准控制。

Ctrl+D 和 Alt+F3 到底该用哪个?
选中相同文本时,Ctrl+D(Windows/Linux)或 Cmd+D(macOS)是增量式操作:每次按一次,向后找一个匹配项并加光标。它适合你不确定是否要全选、或者需要跳过某些干扰项的场景。
Alt+F3(Windows/Linux)或 Ctrl+Cmd+G(macOS)是一键全选当前文档所有完全匹配项——但前提是光标已落在目标词上且至少触发过一次 Ctrl+D,否则命令不生效。
- 常见错误:光标停在
user_id中间却没选中任何内容 → 先双击或用Ctrl+←跳到词首再按Ctrl+D - 注意作用域:如果某处变量在字符串或注释里,
Ctrl+D默认不选——得先确认当前语言作用域是否支持跨上下文匹配(可用Ctrl+Shift+P执行editor:log cursor scope查看) - 想跳过某个匹配?按
Ctrl+K(Windows/Linux)或Cmd+K(macOS)
列编辑为什么拖不动?
Atom 原生不支持 Sublime 风格的列选择。Alt+拖拽(Windows/Linux)或 Option+拖拽(macOS)默认无效,或出现漂移、错位、跨空行失败等问题。
唯一稳定方案是安装插件 atom-sublime-select。装完重启后,Alt+拖拽 才真正按像素对齐,支持缩进不一致、跨空行、含不可见字符的行。
- 没装插件时,
Ctrl+Shift+↑/↓只能在当前列位置逐行加光标,不是列对齐——缩进一乱,光标就歪进注释或字符串里 - 列编辑中别直接按
Enter换行,那只会作用于第一个光标;要用Ctrl+Shift+Enter(Windows/Linux)或Cmd+Shift+Enter(macOS)在所有光标后插入新行 - 列内输入前建议先统一缩进:
Ctrl+Shift+A全选目标块 →Ctrl+Shift+I对齐,再进列模式
怎么安全地在每行末尾加内容?
用 End 键定位行尾不可靠:它停在“可视行尾”,可能被换行符、BOM 或零宽空格干扰,导致光标实际落在倒数第二个字符上。
正确做法是用 Ctrl+→(Windows/Linux)或 Cmd+→(macOS)跳到逻辑行尾——这个动作识别的是语法边界,而非渲染位置,更稳。
- 跳到第一行末后,按
Ctrl+Shift+Enter(Windows/Linux)或Cmd+Shift+Enter(macOS)可批量在所有行末插入新行 - 若只是追加符号(如分号、逗号),直接输入即可,所有光标同步响应
- 批量操作后建议立刻执行格式化命令:
Ctrl+Shift+P→ 输入editor:format或对应插件命令(如Prettier: Format),避免因多光标破坏缩进或括号结构
删行、复制、移动为什么总出错?
根本原因是混用了基础编辑键和原子级行操作键。比如用 Ctrl+C 复制行,只复制内容不带换行符,粘贴后两行会粘连;用 Ctrl+K 删除,其实只是删光标右侧,容易留下半截语法。
必须用专用快捷键:
- 复制整行:
Ctrl+Shift+D(所有平台),含换行符;注意:已选中文本时该键退化为“复制所选”,务必确保光标未选中状态 - 删除整行:
Ctrl+Shift+K,彻底清除不留空行;它不进剪贴板,删错立刻Ctrl+Z即可回退 - 移动整行:
Ctrl+Shift+↑/↓,缩进、空行、光标位置全保留;装了vim-mode-plus等插件时易被覆盖,需检查keymap.cson
这些操作都不依赖是否选中内容,只看光标在哪一行——这才是“无状态”的关键。











