Notepad++插入时间戳有三种方法:原生“编辑→时间/日期”插入固定格式静态时间;宏录制调用PowerShell实现自定义格式;Python Script插件编写脚本灵活控制格式并直接插入。

Notepad++ 插入时间戳的原生方法:使用“插入”菜单
Notepad++ 本身不支持一键插入动态时间戳(比如每次按快捷键都生成当前时间),但内置了静态时间戳插入功能,位置在 编辑 → 时间/日期。它会插入当前系统时间,格式固定为 yyyy/MM/dd HH:mm:ss(如 2024/05/22 14:37:05),且不可配置。
这个功能适合偶尔手动插入、对格式无特殊要求的场景。注意:它不会自动更新,插入后就是纯文本;也不支持自定义分隔符或省略年份等变体。
用宏录制实现可重复调用的自定义时间戳
想按一个快捷键就插入 2024-05-22 14:37 这种格式?必须靠宏录制 + 外部命令组合。Notepad++ 的宏本身不能调用系统时间,但可以触发外部命令行工具(如 PowerShell)并粘贴结果。
- 先新建一个临时文件,输入:
powershell -Command "Get-Date -Format 'yyyy-MM-dd HH:mm'" | clip - 全选 → 运行(
F5)→ 执行该命令(会把格式化后的时间复制到剪贴板) - 回到目标文档,按
Ctrl+V粘贴 - 把这三步录制成宏(
宏 → 开始录制 → 执行上述操作 → 停止录制 → 保存宏) - 最后给宏分配快捷键(
宏 → 管理宏 → 修改快捷键)
⚠️ 注意:PowerShell 必须在系统 PATH 中;若用 CMD,date /t 和 time /t 输出格式难统一,不推荐。
插件方案:Python Script 插件是最灵活的解法
装了 Python Script 插件后,就能写一行 Python 脚本控制时间格式,无需依赖外部 shell。
安装插件后,新建脚本(Plugins → Python Script → New script),写入:
import datetime
notepad.insertText(notepad.getCurrentPos(), datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
保存为 insert_timestamp.py,再通过 Plugins → Python Script → Scripts → insert_timestamp 手动运行,或绑定快捷键。支持任意 strftime 格式,比如 %Y%m%d_%H%M%S 或带毫秒的 %Y-%m-%d %H:%M:%S.%f(截取前3位即可)。
缺点是需额外安装插件,且 Python Script 插件在新版 Notepad++(v8.6+)中默认不启用,需手动勾选加载。
为什么不用 NppExec?它不适合时间戳场景
NppExec 插件看似能执行命令,但它输出默认显示在控制台面板,不自动插入到编辑区光标位置——你得手动复制粘贴,反而更慢。即使写复杂脚本调用 echo + clip,也绕不开剪贴板中转,稳定性不如 Python Script 直接调用 API 插入。
另一个坑:NppExec 的 $(SYS.TIME) 变量只支持固定格式(类似原生菜单),无法自定义;而 $(SYS.DATE) 和 $(SYS.TIME) 是分开的,拼接时容易出空格或换行问题。
真正要稳定、低延迟、可定制地插入时间戳,Python Script 插件是目前最直接的路径。其他方法要么格式死板,要么步骤多、易断链。

















