最省事用DateTime插件,支持ST3/ST4且无Python版本焦虑;默认快捷键插入ISO时间,可自定义格式如"%Y-%m-%d %H:%M";InsertDate适合多格式菜单需求;避免AutoInsertDate类自动插件;不装插件可用三行Python脚本实现。

用 DateTime 插件最省事,但得配对 Settings
DateTime 是目前维护最勤、兼容性最好的选择,支持 ST3/ST4,没 Python 版本焦虑。它默认绑定 Ctrl+Shift+D(Windows/Linux)或 Cmd+Shift+D(macOS),一按就插 ISO 格式时间,比如 2026-04-29 02:26:18。
真正要用好,得进 Preferences → Package Settings → DateTime → Settings 改用户配置:
-
"format": "%Y-%m-%d %H:%M"→ 去掉秒数,更干净 - 别写
%f(微秒):Sublime 不解析,会原样输出文字 - 避免
%c、%x这类 locale 依赖格式,跨系统可能崩成乱码 - 引号必须英文半角,
"%Y-%m-%d"✅,“%Y-%m-%d”❌
改完保存即生效,不用重启。如果没反应,八成是 JSON 多了个逗号或少了个引号,Sublime 会静默忽略整段配置。
InsertDate 插件适合要多格式菜单的人
InsertDate 提供命令面板下拉菜单选格式,快捷键默认是 Ctrl+Alt+T(Windows/Linux),触发后弹出预设列表,比如 YYYY-MM-DD HH:MM:SS、Unix timestamp 等。
自定义新格式,去 Preferences → Package Settings → InsertDate → Settings 编辑 date_formats 数组:
- 加一行:
"log": "%Y-%m-%d_%H-%M-%S",就能在命令面板里搜到 “log” 格式 - 注意数组语法要合法,末尾不能多逗号
- 它不监听保存事件,每次都是手动触发、当前时刻,安全可控
别和内置 insert_date 命令混用——两者冲突时,InsertDate 的菜单可能不出现。
别碰 AutoInsertDate 这类“自动插入”插件
像 AutoInsertDate 或标榜“保存即加时间”的插件,监听的是 on_pre_save 事件。一旦启用,它会在你保存任何文件时强行塞入时间戳,包括 .gitignore、package.json、空 Markdown 文件。
- 没有白名单机制:不能只对
.log或.md生效 - 没法跳过已有时间戳的行,容易重复插入
- 出问题难调试:Ctrl+Z 可能撤销不干净,也看不出是哪个插件动的手
时间戳本质是人工标记点,不是流水线工序。自动化带来的不确定性,远大于那几秒手动成本。
不装插件?三行 Python 命令更干净
如果你反感插件、或只在少数项目里用,直接写个 insert_current_time.py 放进 Packages/User/ 目录,比装包更快、无兼容风险、删起来也利索。
内容就三行核心:
import sublime
import sublime_plugin
import time
class InsertCurrentTimeCommand(sublime_plugin.TextCommand):
def run(self, edit):
now = time.strftime("%Y-%m-%d %H:%M", time.localtime())
for region in self.view.sel():
self.view.replace(edit, region, now)
再在 Preferences → Key Bindings 用户文件里加:
{"keys": ["ctrl+alt+t"], "command": "insert_current_time"}
注意点:
- 类名必须以
Command结尾,文件名必须是.py - 用
time.strftime而非datetime.now():前者轻量,后者需 import datetime 且多一层对象转换 - 多个光标会各自插入一次,不是 bug,是设计如此
格式改完保存即生效,不用重启。唯一容易漏的是:Windows 下别用 ctrl+alt+d 这类系统级热键,会被拦截。

















