Notepad++ 的 FindHistory 和 ReplaceHistory 存储在 %APPDATA%\Notepad++\config.xml 中,需完全退出后手动删除对应标签段;永久禁用可设注册表 DWORD disableFindHistory=1(v7.9+),但插件或便携版可能另存历史。

Notepad++ 的 FindHistory 和 ReplaceHistory 存在哪?
Notepad++ 的查找/替换历史(即你在 Ctrl+F 或 Ctrl+H 输入过的所有搜索词、正则表达式、替换内容)不是临时缓存,而是硬编码写入配置文件的。路径是:%APPDATA%\Notepad++\config.xml。打开这个文件,你会看到类似这样的区块:
<FindHistory> <Item>regex:\d+\.\d+</Item> <Item>console\.log</Item> </FindHistory> <ReplaceHistory> <Item>console.debug</Item> </ReplaceHistory>
注意:<findhistory></findhistory> 和 <replacehistory></replacehistory> 是两个独立标签,别和 <history></history>(最近打开文件)、<guiconfigs></guiconfigs>(界面设置)混淆——删错会导致其他功能异常。
手动清除 FindHistory 最可靠的方法
必须先完全退出 Notepad++(包括右下角托盘图标),否则你刚删完,它退出时会把内存里的历史重新写回去。
- 用记事本或 VS Code 打开
%APPDATA%\Notepad++\config.xml - 搜索
<FindHistory>,选中从<FindHistory>到对应</FindHistory>的整段(含标签) - 同样操作删掉
<ReplaceHistory>...</ReplaceHistory> - 保存文件,再启动 Notepad++ —— 下拉框就空了
别用“查找替换”全删 <Item> 标签:残留的空 <FindHistory></FindHistory> 仍会被识别为有效历史容器,下次搜索还会填进去。
想永久禁用记录?注册表开关 disableFindHistory 更省事
如果你在共享环境或审计场景下使用 Notepad++(比如公司跳板机),不想每次手动删,可以用内置隐藏开关:
- 运行
regedit,定位到HKEY_CURRENT_USER\Software\Notepad++ - 右键 → 新建 → DWORD (32-bit) 值,命名为
disableFindHistory - 双击该值,把“数值数据”设为
1
这个开关自 v7.9 起生效,无需重启 Notepad++,下次打开查找框就不会再写新记录。但已有历史仍需按上一步手动清理——注册表只管“写入”,不管“存储”。
容易被忽略的细节:插件和便携版可能绕过所有设置
如果你装了 RecentFilesHistory、QuickText 这类插件,或者用的是便携版 Notepad++,它们很可能把搜索历史存在自己目录里,比如:
%APPDATA%\Notepad++\plugins\config\QuickText.ini- 便携版:同级目录下的
config.xml(优先级高于用户目录)
关掉主程序的 FindHistory 或加注册表开关,对这些插件完全无效。得单独检查插件文档,或直接搜 .ini、.xml 文件里的关键词如 search、history、recent。


















