能,但必须先让 ctrl+d 精准锁定函数名,否则易漏改、错改或污染字符串;它从光标所在词出发严格匹配完全一致的字符串,需双击确保高亮干净、关闭大小写敏感、手动处理特殊符号,并用 ctrl+k+d 跳过注释和字符串中的误匹配。

能,但必须先让 Ctrl+D 精准锁定你要改的函数名,否则会漏改、错改甚至污染字符串。
为什么 Ctrl+D 总是选不全函数名
它不是“搜全文”,而是从光标所在词出发,严格匹配**完全一致的字符串**。光标停在 user_id 中间(比如删了下划线后只剩 user),它就只找 user,跳过完整的 user_id。
- 双击函数名确保高亮区域干净:不含前后空格、点号、引号或括号
- 检查大小写敏感是否开启——按
Ctrl+Alt+R切换,JS/TS 项目通常要关掉 - 下划线
_默认被当单词分隔符,api_v2双击可能只选中api;此时需手动拖选完整名称再按Ctrl+D - 如果函数名含
$或.(如$init、obj.method),Ctrl+D无法跨符号匹配,得用正则替换替代
怎么安全跳过注释和字符串里的同名函数
Ctrl+D 不区分上下文,// init() 和 "init()" 一样会被卷进来。一旦误选,直接按 Ctrl+K 再按 Ctrl+D(松开再按),跳过当前匹配项,光标留在原位继续向后找。
- 更稳妥的做法:先用
Ctrl+Shift+F全局搜索,正则模式填\binit\b(?=\s*\(),确认所有结果都是函数调用或定义 - 若已进入多光标但发现某处不该改,别删,立刻按
Esc清空所有额外光标,只剩主光标,再重新双击目标函数名开始 - 避免用
Alt+F3全量高亮——它等价于\bxxx\b,但不校验括号,容易命中init_list这类子串
Ctrl+Shift+L 拆行后光标位置不对怎么办
它只管把选区按换行符切片,在每行末尾放光标,不管缩进或对齐。选中的是带缩进的代码块,光标就落在缩进之后,输入前缀会错位。
- 补救:按一次
Home,所有光标跳到各自行首(含缩进);再按一次Home,跳过缩进到真正行首 - 想统一加
const前缀?先用Ctrl+Shift+L拆行 → 按两次Home→ 输入const - 列编辑更稳:按住
Alt+Shift(Win/Linux)垂直拖动,从第一行函数名开头拉到最后一行开头,直接生成列光标 - 注意:如果某行函数名太短,列光标会停在行尾,不会自动向下延伸
真正卡住人的从来不是快捷键记不住,而是光标生成后没盯住它落在哪——Python 注释里、JS 字符串中间、或者缩进空格之后,一敲键盘就全乱了。











