notepad++原生不支持自动保存未命名文档,仅通过autosave插件并显式设置“save untitled files to”路径才能实现;退出备份和周期性备份均只对已有路径的文件生效,未命名文档依赖会话快照(正常退出时存入session.xml)或autosave插件定时写入指定目录。

Notepad++ 本身不支持自动保存未命名文档
新建一个空白标签页(如 new 1)后直接输入内容,不执行 Ctrl+S 或另存为,就关掉 Notepad++ —— 这类未命名文档默认不会写入任何备份文件。原因很直接:退出时备份 和 周期性备份 都只对**已有真实路径的文件**生效;未命名文档没有磁盘位置,也就无从“备份到某处”。
常见错误现象:重启 Notepad++ 后发现刚写的脚本/配置片段全没了,翻遍 backup 目录也找不到对应文件名。
- 唯一能保住这类内容的机制是「会话快照」——它把整个编辑器状态(含未命名标签页内容)序列化进
session.xml,但这个文件只在正常退出时写入,断电、强制杀进程、崩溃时照样丢失 - 若你依赖未命名文档临时记事,必须搭配
AutoSave插件,并在设置中明确勾选Save Untitled Files To,且指定一个可写的本地路径(如$HOME/tmp/notepad-untitled) - Linux 下通过 Wine 运行时,
AutoSave对未命名文档的保存路径不能是 NFS 或远程挂载点,否则静默失败
启用 AutoSave 插件才能真正定时保存当前文件
Notepad++ 原生的「备份」选项卡里所有功能,包括 启用会话快照和周期性备份,都不是自动保存(即不覆盖原文件)。它们只是生成带时间戳的副本或缓存快照,用于恢复,而非替代 Ctrl+S。
要让编辑器真正在后台把修改写回你打开的文件,必须装 AutoSave 插件:
- 通过
插件 → Plugin Admin → 搜索 AutoSave → 安装(Windows / Linux Wine 均适用) - 安装后菜单变为
插件 → AutoSave → Options…,关键设置项:Auto Save When选Periodically并填秒数(如300表示 5 分钟),或选Focus Lost(切出窗口即保存) -
Auto Save What强烈建议只选Current File Only,避免误存一堆空标签页或只读文件 - 如果勾了
Save Untitled Files To,路径必须存在且有写权限,否则未命名文档会无声丢弃
备份目录和 session.xml 的实际落点与权限陷阱
Notepad++ 备份行为高度依赖路径是否可写,且不同运行模式下路径位置不同,容易踩坑:
- Windows 正常用户启动:备份文件默认在
%APPDATA%\Notepad++\backup\,session.xml也在同级目录 - Linux(Wine)下:通常映射到
$HOME/.wine/drive_c/users/$USER/AppData/Roaming/Notepad++/,但部分 Wine 前缀可能用$WINEPREFIX覆盖,需确认 - 绿色便携版 or 管理员运行过:配置和备份可能落在程序根目录(如
C:\tools\npp\backup\),此时改%APPDATA%下的config.xml完全无效 - 权限问题最典型表现:备份目录存在,但里面始终为空;检查该目录的
写入权限,尤其当 Notepad++ 曾以管理员身份运行过,后续普通用户启动时可能无法写入原管理员路径
未命名文档 + 自动保存 = 必须显式指定保存路径
很多人以为开了 AutoSave 就万事大吉,结果发现未命名文档还是没保存成功。根本原因是:Notepad++ 不会替你决定“这个没名字的文件该叫什么、放哪”,它只会按你设定的路径去写。
实操要点:
- 在
AutoSave Options中,必须勾选Save Untitled Files To,并点击右侧Browse选择一个确定存在的目录(比如$HOME/Documents/notepad-untitled) - 该目录下生成的文件名格式为
Untitled_年月日_时分秒.txt,每次保存都会新建一个,不会覆盖前一个 - 如果你希望统一管理这些临时文件,建议额外配个定时任务(如 Linux 的
cron或 Windows 的 Task Scheduler),定期清理超过 24 小时的Untitled_*.txt - 别指望
Local History插件对未命名文档生效——它只监听有真实路径的文件变更
复杂点在于:未命名文档的生命周期完全由 AutoSave 插件控制,一旦插件失效、路径不可写、或被其他工具清空,内容就真的没了。没有中间层,也没有 fallback。











