vim-插入格式化时间

最近一直在搞vimrc的配置。其中有一点就是,我想要实现代码快速注释的功能。而这个功能中的一个关键点就是,我要获得系统当前的时间,然后插入到我的注释
里面。我知道vimrc支持shell命令,既使用:read !<...>,尖括号里面就是shell命令。所以,最开始我是直接使用的date -R来实现的。具体如下

:read !date -R


但是,你会发现,这时候时间的显示样式如下:

Thu, 12 Nov 2015 22:52:05 +0800


这个样式看起来有点怪怪的,尤其是后面还加了一个0800。我想要的时间样式是15-10-10这种的。这似乎也很简单,只要我们把尖括号里面的date命令,加个时间>显示格式不就行了。然后我就进行了如下的更改

:read !date +%Y-%m-%d


不过,当我这样修改的时候,结果却是莫名其妙。
提示如下

date:无效选项 -- c
Try 'date --help' for more information.


中间尝试了很多的命令,结果都是一样。一直纠结了两三天,中间也是网上各种百度,自己也是进行了各种尝试,比如,跟shell命令加单引号双引号,甚至是把命
令写入python脚本,然后在vimrc中执行(当然,这个绝对是盲目尝试,因为根本不知道vimrc是不是支持脚本)
最后,忽然灵光一闪,就是想到了%这个符号在vim命令行的作用。它本身在vim命令行中,表示的是整个文本。那时候想着,会不会就是因为这个呢。然后,就加了
一个转义操作。如下

:read !date +\%Y-\%m-\%d


现在的结果如下

2015-11-12


这样就实现了我当初的要求。
所以说,很多时候,问题一定是能够解决的,无论是我们通过网上寻找答案,还是我们自己尝试。我们如果有心想要解决一个问题,而且我们也一直在思考着如何>解决这个问题,总有那么一个时候,我们灵光一闪,就会找到我们想要的答案

原文地址:https://www.cnblogs.com/zhangshuli-1989/p/hq_15_11_12_23_10.html