ctrl+shift+s仅保存已修改且有磁盘路径的文件,跳过未命名(如new 1)和只读文件;遇new 1会卡在“另存为”并中断批量操作,需先手动保存或使用autosave插件。

Ctrl+Shift+S 是 Notepad++ 唯一原生、稳定、无需插件的“保存所有已修改文件”快捷键,但它只保存带星号(*)且已有路径的标签页,未命名文档(如 new 1)会卡住流程。
Ctrl+Shift+S 到底保存哪些文件
这个快捷键不是“保存全部打开的标签页”,而是“保存所有已修改且有真实路径的文件”。它实际执行的是:遍历每个标签页 → 检查标题栏是否有 * → 检查是否已有磁盘路径(非 new 1)→ 对符合条件者调用一次 Ctrl+S 等效逻辑。
- 跳过所有未修改的文件(无
*),不报错也不提示 - 静默忽略只读文件(如系统目录下的
hosts),不弹窗 - 遇到未命名标签页(
new 1、new 2)时,立即弹出「另存为」对话框;若取消,整个批量操作中断,后续文件一个都不会保存 - 不会触发自动备份(
.bak),除非你在「设置→首选项→备份」中启用了「启用后备副本」
为什么 Ctrl+Shift+S 有时“按了没反应”
这不是快捷键失效,而是当前状态不满足保存条件。常见原因包括:
- 所有标签页都未被修改(标题栏全无
*)——此时按Ctrl+Shift+S完全静默,属正常行为 - 第一个打开的标签页是
new 1,你还没手动Ctrl+S过——它不会跳过,也不会报错,而是卡在「另存为」界面等你操作 - 键盘布局冲突(如法语 AZERTY 下该组合常被截图工具劫持)——进「设置→管理快捷键→主菜单」确认
Save All是否仍绑定到Ctrl+Shift+S - 某个文件路径非法(如含
?、*或 UNC 路径未映射)——保存失败并弹出错误,但其余文件照常保存
想保存未命名文档?必须用 AutoSave 插件
Notepad++ 原生对 new 1 类标签零容错:崩溃、断电、强制杀进程都会直接丢失内容。唯一守住它的办法是 AutoSave 插件,并严格配置:
- 插件→ Plugin Admin → 搜索
AutoSave→ 安装并重启 - 插件→ AutoSave → Options… → 勾选
Save Untitled Files To,填一个**存在且可写**的本地路径,例如$HOME/tmp/notepad-untitled -
Auto Save When推荐选Focus Lost(切出窗口即存),比定时更及时可靠 - 避免填 NFS、Samba 或 Wine 下未映射的远程路径,否则会静默失败
别和 Ctrl+Alt+W 搞混了
Ctrl+Alt+W 是「关闭所有文件」,不是保存。它和 Ctrl+Shift+S 功能完全正交:
-
Ctrl+Shift+S只保存,不关闭、不切换、不新建 -
Ctrl+Alt+W会逐个弹窗确认未保存内容,一旦你手快点了「否」或「取消」,就可能漏掉某些文件 - 想“保存后全关”,必须分两步:
Ctrl+Shift+S→Ctrl+Alt+W,不能合并或颠倒顺序 - 如果误按
Ctrl+Alt+W后才发现没保存,内存里没写入磁盘的内容已不可恢复
真正容易被忽略的点是:未命名标签页永远无法被 Ctrl+Shift+S 自动处理,它不报错也不跳过,而是卡在第一个弹出「另存为」。批量保存前,扫一眼标签栏有没有 new 1 这类——有,就先 Ctrl+S 敲定路径再说。











