insertdate插件是sublime text插入当前时间最省事、最稳定的方案,支持系统时间调用与多种格式,安装即用且配置简单。

用 InsertDate 插件最省事
Sublime Text 原生不支持插入当前时间,但 InsertDate 是社区验证过最稳定、配置最少的方案。它不是靠自定义命令或 snippet 模拟,而是直接调用系统时间并按需格式化,避免了时区错乱或格式硬编码的问题。
安装后默认绑定快捷键 Ctrl+Alt+T(Windows/Linux)或 Cmd+Alt+T(macOS),光标所在位置会立即插入类似 2024-05-22 14:37:08 的字符串。
- 通过 Package Control 安装:按
Ctrl+Shift+P→ 输入Package Control: Install Package→ 搜InsertDate - 插件自带 10+ 种常用格式(如 ISO、RFC2822、年月日、仅时间),无需改配置就能用
- 如果快捷键冲突,可在
Preferences → Key Bindings中查insert_date相关条目手动调整
不用插件?用 snippet + date 变量也行,但有坑
Sublime 支持在 snippet 中用 $CURRENT_YEAR、$CURRENT_MONTH 等变量拼日期,比如写个 date_time.sublime-snippet:
<snippet><content></content><tabtrigger>dt</tabtrigger></snippet>
这看起来简洁,但实际容易出问题:
-
$CURRENT_*变量只在 snippet 触发瞬间求值,不会动态刷新;但如果你在 snippet 中嵌套了其他逻辑(比如条件判断),它就完全不生效 - 月份和日期默认不补零(
$CURRENT_MONTH会输出5而非05),导致格式不统一 - 没有时区控制能力,全依赖系统本地时间,跨团队协作时容易引发歧义
想自定义格式?改 InsertDate 的配置文件最稳妥
插件默认格式是 %Y-%m-%d %H:%M:%S,要改成「2024/05/22 14:37」这类风格,直接改它的用户配置即可:
- 菜单栏打开
Preferences → Package Settings → InsertDate → Settings – User - 填入:
{ "format": "%Y/%m/%d %H:%M" } - 保存后立刻生效,无需重启 Sublime
- 支持所有 Python
strftime格式符,比如%A, %B %d, %Y输出Wednesday, May 22, 2024
为什么别自己写 Python 插件来实现?
有人试过在 Packages/User/ 下写一个 insert_timestamp.py,用 sublime_plugin.TextCommand 调 datetime.now()。理论上可行,但实操中几个硬伤很难绕开:
- Sublime 的插件 API 对多光标支持不一致,多个选区时可能只在第一个位置插入时间
- 没做错误捕获的话,时区设置异常(比如系统时区为
UTC但期望本地时间)会导致空字符串或报错 - 每次修改都要重启 Sublime 或手动重载插件,调试成本远高于改一行 JSON 配置
除非你明确需要和某个外部服务(比如日志系统时间戳规范)强对齐,否则没必要跳过 InsertDate 自己造轮子。











