sublime text需通过插件或自定义命令插入时间:推荐使用维护良好的datetime插件(支持自定义strftime格式)或手写3行python命令注入packages/user/并绑定快捷键,避免老旧插件兼容问题及gui卡顿。

Sublime Text 没内置时间插入功能,得靠插件或快捷键组合
Sublime Text 默认不提供 insert_time 或类似命令,直接按快捷键不会弹出日期。想快速插入,要么装插件,要么手动绑定一个自定义命令——后者更轻量、无依赖,也更可控。
常见错误是搜“sublime 时间插件”后装了老旧的 InsertDate(已多年未更新),结果在 Sublime Text 4 下报错 ImportError: No module named 'date' 或根本没反应。原因:Py3 环境下模块名和 API 已变,老插件没适配。
- 推荐用官方 Package Control 安装
DateTime插件(作者 active 维护,支持 ST3/ST4) - 或者不装插件,直接写个 3 行 Python 命令注入到
Packages/User/目录下,再绑定快捷键 - 避免使用带 GUI 弹窗的插件(如
InsertTimestamp),它会在每次触发时卡顿半秒,编辑节奏被打断
用 DateTime 插件插入格式化时间(最省事)
DateTime 插件默认支持 Ctrl+Shift+D(Windows/Linux)或 Cmd+Shift+D(macOS)插入 ISO 格式时间,比如 2024-05-21 14:32:08。但它真正有用的是自定义格式能力——这点很多人没打开配置就放弃了。
- 通过
Preferences → Package Settings → DateTime → Settings打开用户配置 - 填入
"format": "%Y-%m-%d %H:%M"就能输出2024-05-21 14:32,去掉秒数更简洁 - 支持所有 Python
strftime语法,但注意:%f(微秒)在 ST 中不生效,会原样输出文字 - 如果改完没反应,检查是否误改了 JSON 结构(比如多逗号、少引号),Sublime 会静默忽略错误配置
不用插件:手写命令 + 快捷键(适合追求干净环境的人)
如果你反感插件、或只在几个项目里偶尔插时间,直接加一个 insert_current_time.py 到 Packages/User/ 是最快路径。它比插件启动快、无兼容风险、还能随时删。
新建文件 Packages/User/insert_current_time.py,内容如下:
import sublime
import sublime_plugin
import time
<p>class InsertCurrentTimeCommand(sublime_plugin.TextCommand):
def run(self, edit):</p><h1>可直接改这里调整格式,不用重启</h1><pre class='brush:php;toolbar:false;'> 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"}]- 命令名必须和 class 名一致(去掉
Command后缀),否则快捷键无效 - 多个光标选区会各自插入一次时间,不是只插一次——这是预期行为,不是 bug
- 别用
datetime.now()替换time.strftime,Sublime 的 Python 环境里datetime模块有时导入失败
时间格式容易踩的坑:区域设置和 UTC 偏移
本地时间不准?可能不是插件问题,而是系统时区或 Sublime 自身没读对。比如你在 Docker 容器里跑 Sublime(极少但存在),time.localtime() 可能返回 UTC 时间而非你期望的本地时间。
-
time.strftime默认用系统时区,不随 Sublime 设置变化;改系统时区后需重启 Sublime 才生效 - 需要 UTC 时间?把
time.localtime()换成time.gmtime(),但记得格式串里别用%Z(空字符串) - 中文 Windows 用户偶尔遇到
%Y输出乱码年份(如“2024”变成“2024”),是全角数字字体导致,不影响功能,但复制出来可能粘贴异常
真正麻烦的是跨时区协作:有人插的是 CST(中国标准时间),有人插的是 CDT(美国中部夏令时),但都写成 2024-05-21。格式本身不带时区信息,后续没人能回溯原始上下文——这事没法靠插件解决,得靠团队约定加后缀,比如 2024-05-21 (CST)。










