最常用且高效的方法是使用 :r!date 或 strftime()。:r!date 插入系统默认时间,:r!date +"%y-%m-%d %h:%m:%s" 自定义格式,映射 f5 或 ctrl+t 可提速,推荐优先用内置 strftime() 函数。

在 vim 中快速插入当前系统日期时间,最常用且高效的方法是利用内置命令 :r!date 或其变体。
直接插入系统默认格式的时间
在普通模式下,将光标移到要插入的位置,输入:
-
:r!date—— 在光标所在行的下一行插入当前日期时间(如Wed Apr 10 15:23:42 CST 2024) - 如果想插入到当前行(而非下一行),可先按
i进入插入模式,再按Ctrl+R =system('date')<enter></enter>,但注意这会插入带换行符的结果,更推荐下面的表达式方式
插入自定义格式的日期时间
用 date 命令的格式化参数,例如:
-
:r!date +"%Y-%m-%d %H:%M:%S"→ 插入2024-04-10 15:23:42 -
:r!date +"%F %T"(%F等价于%Y-%m-%d,%T等价于%H:%M:%S) -
:r!date +"%Y年%m月%d日 %H时%M分%S秒"→ 中文格式(需终端支持 UTF-8)
映射为快捷键提升效率
把常用命令设为快捷键,比如在 ~/.vimrc 中添加:
-
nnoremap <f5> :r!date +"%Y-%m-%d %H:%M:%S"<cr></cr></f5>—— 按 F5 即可插入标准时间 -
inoremap <c-t><c-r>=strftime("%Y-%m-%d %H:%M:%S")<cr></cr></c-r></c-t>—— 插入模式下按 Ctrl+T,用 vim 内置函数更可靠(不依赖 shell)
注意事项
使用 :r! 会执行外部命令,确保系统已安装 date;而 strftime() 是 vim 内置函数,兼容性更好、速度更快,推荐优先使用。如果 vim 编译时禁用了 +eval 特性,则 strftime() 不可用,此时退回 :r!date 方案。











