notepad++宏录制成功以状态栏持续显示rec为唯一标志,执行依赖光标位置、编码一致性和操作可复现性;批量执行用ctrl+shift+l,保存后须手动绑定快捷键并启用启动加载。

Notepad++ 里“重复操作自动执行”只有靠宏(Macro),但它的自动执行不是智能脚本,而是严格复现你录下的每一下键盘动作——光标偏 1 列、编码差 1 字节、起始位置错半行,整批就全废。
怎么确认宏真的在录制
点 Macro → Start Recording 或按 Ctrl+Shift+R 后界面没反应是正常的。唯一有效标志是右下角状态栏持续显示 REC(不是一闪而过)。没看到它,等于没录上。
- 大文件或插件多时,等待 1–2 秒再操作,别急着敲字
-
REC始终不出现?先关掉Python Script、NppExec等插件,再重启 Notepad++ - 录制中切到其他程序(
Alt+Tab)会静默中断,且不提示
为什么宏执行总错位或乱码
宏不理解“第 3 行的 ERROR”,它只记得“按 ↓ 2 次、按 Ctrl+F、输 ERROR、按 Enter、按 Replace All”。所有错位、跳空、替换失败、中文变方块,几乎都源于三个没控住的变量:
-
光标起始位置:必须手动用
Ctrl+Home或Ctrl+G输入行号锚定,禁用鼠标点击(DPI/缩放会让坐标漂移) -
文档编码一致性:UTF-8 下录制的宏,在 ANSI 文件里执行,
→可能只跳半个汉字,导致选区截断 -
宏内移动操作的累积效应:含
↓、End、Ctrl+Shift+Right的宏,重复执行 N 次 = 位移叠加 N 次;单次验证是否真能选中整行,比猜更可靠
怎么批量执行 100 次而不是手按 100 次
Ctrl+Shift+P 只播一次,适合验证逻辑;真要批量,必须用 Ctrl+Shift+L——这是 Notepad++ 唯一支持指定次数的原生机制。
- 按
Ctrl+Shift+L弹出输入框,填100就执行最后一次录制的宏 100 次 - 填
0表示“执行到文档末尾”,但前提是宏本身逻辑可叠加(比如每轮只处理当前行,且光标自动下移) - 注意:
Ctrl+Shift+L永远作用于“最后一次录制/保存的宏”,不是你命名保存的那个
保存后快捷键无效?两步缺一不可
Macro → Save Current Recorded Macro 只是存进内存,不会绑定快捷键,也不会写入配置文件。重启后失效,90% 是漏了下面任一环节:
- 进
Settings → Shortcut Mapper → Macros,找到刚保存的宏名,双击右侧空白列,设置快捷键(推荐Ctrl+Alt+1或F5–F12),并勾选Enable macro - 去
Settings → Preferences → Backup页面,勾选Enable macro at startup——不勾,重启后宏名直接从菜单和快捷键列表里消失
真正容易被忽略的是:宏没有 if、没有变量、没有上下文感知。一旦需求涉及“跳过空行”“根据第 3 列内容决定操作”“跨文件处理”,它就到头了——这时候该换 PythonScript 插件写真实脚本。











