最稳、最轻量、跨平台一致的方案是直接用 insert_snippet 命令 + sublime 原生时间变量,不装插件、不调系统命令、不写 python 脚本——90% 的日志/注释场景够用且零风险。

最稳、最轻量、跨平台一致的方案是直接用 insert_snippet 命令 + Sublime 原生时间变量,不装插件、不调系统命令、不写 Python 脚本——90% 的日志/注释场景够用且零风险。
用 insert_snippet 绑定快捷键插入 ISO 时间
Sublime 内置的 ${year}、${month} 等变量由编辑器底层实时解析,不是 Python 表达式,也不依赖系统 date 命令。Windows/macOS/Linux 行为完全一致,自动补零(${month} 输出 05,不是 5)。
- 打开
Preferences → Key Bindings,在右侧用户配置中添加:
[
{
"keys": ["ctrl+alt+t"],
"command": "insert_snippet",
"args": {
"contents": "${year}-${month}-${day}T${hour}:${minute}:${second}"
}
}
]
- 输出示例:
2026-05-26T06:42:18,严格符合 ISO 8601 - 若需空格分隔,把
contents改成"${year}-${month}-${day} ${hour}:${minute}:${second}" - 别用
${CURRENT_MONTH}—— 它不补零;优先用${month}、${day}、${hour}
用 insert_date 命令快速支持 strftime 格式
Sublime 自带 insert_date 命令,比插件更轻,但只支持基础 strftime 格式符(不支持 %f 毫秒、%z 时区、%c locale 依赖格式)。
- 在 Key Bindings 用户配置中加一行:
{"keys": ["ctrl+shift+t"], "command": "insert_date", "args": {"format": "%Y-%m-%d %H:%M:%S"}}
- 常见错误:复制了中文引号
“%Y-%m-%d”或全角空格,导致按键无反应或原样输出 - Windows 用户避开
ctrl+alt+d类热键——容易被输入法或显卡驱动拦截 - 它不处理多光标:如果选中多个区域,只会插入到第一个光标位置
需要毫秒、时区或自定义逻辑?写个 TextCommand 插件
当你要 2026-05-26T06:42:18.123+08:00 或根据文件类型动态切换格式时,必须用 Python 插件。关键不是“能不能”,而是“怎么写才不踩坑”。
- 新建
Packages/User/insert_datetime.py,内容精简为:
import sublime, sublime_plugin, datetime
class InsertDatetimeCommand(sublime_plugin.TextCommand):
def run(self, edit):
now = datetime.datetime.now().strftime('%Y-%m-%dT%H:%M:%S.%f')[:23] + '+08:00'
for region in self.view.sel():
if region.empty():
self.view.insert(edit, region.a, now)
else:
self.view.replace(edit, region, now)
- 必须遍历
self.view.sel(),否则多光标下只改第一个 - 必须用
datetime.datetime.now(),不能用time.time()——后者默认 UTC,本地时区可能错 8 小时 - 缩进必须是 4 空格,错一行就静默失效;保存后按
Ctrl+Shift+P输入Insert Datetime可立即测试
为什么坚决不碰「自动插入时间」类插件
像 AutoInsertDate 这类监听 on_pre_save 的插件,本质是失控源:它不区分文件类型、不检查是否已有时间戳、不响应用户意图。
- 保存
.gitignore、package.json、甚至空行 Markdown 文件时,都会强行插入时间戳 - 没有白名单机制,无法限定只对
.log或.md生效 - 出问题难定位:控制台不报错,
Ctrl+Z可能撤销不干净,看不出是哪个插件动的手 - 时间戳是人工标记点,不是流水线工序——确定性比“省几秒”重要得多
真正高频使用的场景,老实用 InsertDate 插件(手动触发、格式菜单丰富);偶尔用,insert_snippet 方案连重启都不用,改完配置立刻生效。复杂需求才上插件,而不是一上来就堆工具。











