notepad++原生仅支持“编辑→时间/日期”插入固定格式静态时间戳(yyyy/mm/dd hh:mm:ss),不可自定义;可靠方案是安装nppexec插件,用$(sys.getdate /f "yyyy-mm-dd hh:mm:ss")等脚本实现可控格式插入。

Notepad++ 插入时间戳的原生方案行不通?别折腾插件先看内置功能
Notepad++ 本身不提供「插入当前时间戳」的默认菜单项或快捷键,Ctrl+T 是切换标签页,Ctrl+D 是复制当前行——你搜到的很多“快捷键教程”其实混淆了功能。真正能用的只有「运行」菜单里的 Run → Run...(F5),配合系统命令临时拼接,但不可靠、无格式控制、不能跨平台。
推荐方案:安装 NppExec 插件 + 自定义脚本实现可控时间戳
NppExec 是轻量、稳定、无需重启的脚本执行插件,比 PythonScript 插件更易部署,也比外部批处理更安全可靠。安装后可直接写带格式的 Windows 命令或简单伪代码生成时间字符串。
- 安装方式:Plugins → Plugins Admin → 搜索
NppExec→ 勾选安装 → 确认后重启 Notepad++(仅首次需要) - 添加脚本:Plugins → NppExec → Execute... → 粘贴以下内容(支持中文路径和空格):
NPP_CONSOLE off SET timestamp = $(SYS.GETDATE /f "yyyy-MM-dd HH:mm:ss") sci_sendmsg SCI_REPLACESEL "$(timestamp)"
- 保存为脚本名,例如
InsertTimestamp,勾选Save all current scripts - 绑定快捷键:Plugins → NppExec → Advanced Options → 在
Menu items下拉中选刚存的InsertTimestamp→ 勾选Add to menu→ 点击OK→ 再进Settings → Shortcut Mapper → Plugin commands,找到它并设置快捷键(如Alt+T)
为什么不用 PythonScript 或 TextFX?这些坑要避开
PythonScript 插件虽灵活,但依赖 Python 运行时,在便携版或受限环境常报 ImportError: No module named 'datetime';TextFX 已多年未维护,其 TextFX Insert → Date & Time 实际调用的是系统 BIOS 时间,不支持自定义格式,且在高 DPI 或多显示器下常错位弹窗。
-
TextFX的时间格式固定为MM/DD/YY HH:MM,无法改成2024-05-21T14:22:05这类 ISO 格式 -
PythonScript脚本若含中文注释或路径,容易因编码问题触发UnicodeDecodeError - 所有基于外部 .exe 的方案(如调用
date.exe)在 Windows Server 或精简系统里大概率缺失依赖
进阶:支持多格式切换的时间戳快捷键组合
一个快捷键只对应一种格式太死板。NppExec 允许用变量区分场景,比如用 $(CURRENT_WORD) 判断光标是否在空行,或用 $(GETCURLINE) 提取上下文关键词自动匹配模板。
- 常用格式建议直接预设三个脚本:
InsertTimestampISO(yyyy-MM-ddTHH:mm:ss)、InsertTimestampLog([yyyy-MM-dd HH:mm:ss])、InsertTimestampFilename(yyyy-MM-dd_HH-mm-ss) - 每个脚本单独绑定快捷键,避免嵌套判断增加出错概率
- 注意:
$(SYS.GETDATE)的格式符大小写敏感,/f "yyyy-mm-dd"中的mm是分钟,月份必须用MM,否则输出是2024-21-05这种错误顺序
$(SYS.GETDATE) 在不同 Windows 版本间行为一致,但它的格式解析器不支持毫秒或时区——如果真需要 2024-05-21T14:22:05.123+08:00,就得换 Electron 或 VS Code 这类现代编辑器,Notepad++ 的定位不是全能 IDE。











