InsertDate插件快捷键无反应需先确认平台对应组合键(Win/Linux用ctrl+alt+t,macOS用cmd+alt+t),排除输入法干扰、检查控制台报错及命令面板是否加载成功;自定义格式须严格遵循JSON语法且仅支持基础strftime符号;多光标默认只插一次时间戳,ST4用户推荐改用内置insert_date或insert_snippet命令。

InsertDate插件安装后默认快捷键没反应?先确认平台和组合键
Windows/Linux 用户默认用 ctrl+alt+t,macOS 用户必须用 cmd+alt+t ——别误配成 ctrl+shift+d 或其他组合,那是别的方案用的。按完没输出,不是插件坏了,大概率是快捷键冲突或输错平台逻辑。
常见干扰项:中文输入法激活时,ctrl+alt+t 可能被系统级热键拦截(比如腾讯TIM、钉钉),切英文输入法再试;Sublime 控制台(ctrl+`)里如果看到 command not found: insert_date 类报错,说明插件根本没装成功。
- 用
ctrl+shift+p调出命令面板,输入InsertDate,能看到命令列表才代表加载成功 - 若命令面板搜不到,重装:先删掉
Packages/InsertDate文件夹,再Package Control: Install Package重装 - ST4(Python 3.8+)用户注意:老版本 InsertDate 插件可能因
import datetime写法不兼容而静默失败,控制台会报AttributeError: 'NoneType' object has no attribute 'view'
自定义时间格式总为空?检查 date_formats 配置语法
改配置前先打开 Preferences → Package Settings → InsertDate → Settings,别直接改用户 Key Bindings。里面 date_formats 是个 JSON 数组,每项必须是 "key": "format" 形式,且所有引号必须是英文半角。
写错就静默失败:比如把 "log": "%Y-%m-%d_%H-%M-%S" 写成 “log”: “%Y-%m-%d_%H-%M-%S”(中文引号),或漏了逗号导致 JSON 解析失败——Sublime 不提示,只是菜单里少一项、快捷键无效。
- 支持的格式符仅限 Python
strftime()基础集:%Y年、%m月(补零)、%d日、%H时(24小时)、%M分、%S秒 -
%f(毫秒)、%z(时区)、%c(locale 时间)一律不支持,用了就整个格式项失效 - 想输出
2026-07-15_18-42,写"short_log": "%Y-%m-%d_%H-%M"即可,别加%f或%z
多光标下只插一个时间?这是设计限制,不是 bug
InsertDate 插件默认行为是:无论你选中几行、开了几个光标,每次触发只在首个选区插入时间戳。这不是缺陷,是为避免日志文件里一堆重复时间戳而做的取舍。
如果你真需要每个光标都独立插(比如批量打时间戳到不同行),必须换方案——insert_date 命令和 InsertDate 插件都不支持,只能自己写 TextCommand 插件,显式遍历 self.view.sel() 并对每个 region 调用 datetime.now()。
- 原生
insert_snippet绑定${year}-${month}-${day}也一样:所有光标插入的是同一时刻快照 - 要「每光标实时获取此刻」,唯一办法是循环调
datetime.now().strftime(...),否则全是同一毫秒值 - 别指望改插件配置绕过这点,源码里没提供开关
ST4 用户遇到 ImportError 或空输出?优先考虑轻量替代方案
截至 2026 年 7 月,InsertDate 插件在 Sublime Text 4 上已多年未更新,部分用户报告导入失败或格式不生效。与其折腾兼容性,不如直接用内置命令:
打开 Preferences → Key Bindings,在右侧用户文件里加一行:
{"keys": ["ctrl+shift+t"], "command": "insert_date", "args": {"format": "%Y-%m-%d %H:%M:%S"}}
或者更稳的 insert_snippet 方案:
{"keys": ["ctrl+shift+d"], "command": "insert_snippet", "args": {"contents": "${year}-${month}-${day} ${hour}:${minute}:${second}"}}
-
insert_date不依赖 Python 环境,纯 C 实现,ST4 兼容性比插件好 -
insert_snippet的变量(如${year})由 Sublime 内部解析,不调外部命令,Windows/macOS/Linux 行为一致 - 两者都不支持毫秒和时区,真有这需求,就得写插件——但得自己 handle Python 3.8+ 的 import 和异常捕获


















